After upgrading from Fedora 25 to 26 the default gcc version is now version 7.1.1 and the output of gcc -dumpversion
has changed from major.minor.patch to just major.
new output:
$ gcc -dumpversion
7
The manual states
-dumpversion
Print the compiler version (for example, 3.0, 6.3.0 or 7)—and don’t do anything else. This is the compiler version used in filesystem paths, specs, can be depending on how the compiler has been configured just a single number (major version), two numbers separated by dot (major and minor version) or three numbers separated by dots (major, minor and patchlevel version).
I have not found where to change this compiler configuration to include the three numbers configured with dots. The closest I have found is the major version only configuration:
--with-gcc-major-version-only Specifies that GCC should use only the major number rather than major.minor.patchlevel in filesystem paths.
So after some research I found the configure the version is a compile time option (if you compile the compiler from source).
I also found that there is a new gcc -dumpfullversion
option that will provide the full version number, ie 7.1.1 which is what our build system expects. Small caveat is that -dumpfullversion
is not supported on older versions of gcc.
So we had to change the build system to get the version via gcc -dumpversion
and check if its a single digit and if so then substitute -dumpfullversion
to get the full major.minor.patch gcc version.