← Back to team overview

touch-packages team mailing list archive

[Bug 1360404] Re: -dumpversion output inconsistent with upstream

 

relying on the version output is not recommended. There are hardly any
distro builds of GCC shipping releases, but instead using the FSF
branches or vendor branches.  So when using a branch you'll see 4.7.1
already shortly after the 4.7.0 release. Then just looking at the
version will result in a wrong check on your part.  Ubuntu only bumps
the version when the point release is made. This is more conservative
and avoids checking for things that are not yet there, but doesn't help
for feature checking. If you rely on features for branches, don't use
version checks but feature checks instead.

I'll change that for 4.9, but not for released versions.


** Also affects: gcc-4.9 (Ubuntu)
   Importance: Undecided
       Status: New

** Changed in: gcc-4.8 (Ubuntu)
       Status: New => Won't Fix

** Changed in: gcc-4.7 (Ubuntu)
       Status: New => Won't Fix

** Changed in: gcc-4.6 (Ubuntu)
       Status: New => Won't Fix

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to gcc-4.8 in Ubuntu.
https://bugs.launchpad.net/bugs/1360404

Title:
  -dumpversion output inconsistent with upstream

Status in “gcc-4.6” package in Ubuntu:
  Won't Fix
Status in “gcc-4.7” package in Ubuntu:
  Won't Fix
Status in “gcc-4.8” package in Ubuntu:
  Won't Fix
Status in “gcc-4.9” package in Ubuntu:
  New

Bug description:
  Note: this bug also affects gcc-4.6, gcc-4.7, gcc-4.8, and possibly
  gcc-4.9

  Sometime between gcc-4.5.8 and gcc-4.6.3 debian (accidentally) changed
  the output of the -dumpversion flag; possibly in an attempt to fix
  this bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=643891

  As a result, -dumpversion now reports MAJOR.MINOR version info. This
  is in contrast to upstream and other distributions of gcc which report
  MAJOR.MINOR.PATCH version info.  This prevents simple machine parsing
  of gcc/g++/gfortran versions to filter out misbehaving versions. (For
  instance gcc-4.7.0's and gcc-4.7.1's C++11 ABI incompatibilities.)
  This bug has trickled down through gcc-4.6, gcc-4.7, gcc-4.8, and
  possibly gcc-4.9, and affects their binary packages (gcc, g++,
  gfortran, others?).

  This bug can be fixed by applying the attached patch, after "debian
  patching".

  Additional information:

  1) Ubuntu version
  [maru:~] lsb_release -rd
  Description:	Ubuntu 14.04.1 LTS
  Release:	14.04

  2) package version
  [maru:~] apt-cache policy gcc-4.8
  gcc-4.8:
    Installed: 4.8.2-19ubuntu1
    Candidate: 4.8.2-19ubuntu1
    Version table:
   *** 4.8.2-19ubuntu1 0
          500 http://mirrors.kernel.org/ubuntu/ trusty/main amd64 Packages
          100 /var/lib/dpkg/status

  3) What do you expect to happen?
  [avnas:~] lsb_release -rd
  Description:    Fedora release 20 (Heisenbug)
  Release:        20
  [avnas:~] gcc --version
  gcc (GCC) 4.8.2 20131212 (Red Hat 4.8.2-7)
  Copyright (C) 2013 Free Software Foundation, Inc.
  This is free software; see the source for copying conditions.  There is NO
  warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

  [avnas:~] gcc -dumpversion
  4.8.2
  [avnas:~] g++ -dumpversion
  4.8.2
  [avnas:~] gfortran -dumpversion
  4.8.2

  4) What happened instead?
  [maru:~] lsb_release -rd                                              
  Description:	Ubuntu 14.04.1 LTS
  Release:	14.04
  [maru:~] gcc --version                                                
  gcc (Ubuntu 4.8.2-19ubuntu1) 4.8.2
  Copyright (C) 2013 Free Software Foundation, Inc.
  This is free software; see the source for copying conditions.  There is NO
  warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

  [maru:~] gcc -dumpversion                                             
  4.8
  [maru:~] g++ -dumpversion
  4.8
  [maru:~] gfortran -dumpversion
  4.8

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/gcc-4.6/+bug/1360404/+subscriptions


References