Linux – gcc unrecognized command line options ‘-V’ and ‘-qversion’ with autoconf

autoconfgcclinux

When compiling with gcc 4.7.2 and autoconf 2.69, I am routinely getting results such as these in configure.log.
Example:

configure:3091: $? = 0 
configure:3080: gcc -V >&5 
gcc: error: unrecognized command line option '-V' 
gcc: fatal error: no input files compilation terminated. 
configure:3091: $? = 1 
configure:3080: gcc -qversion >&5 
gcc: error: unrecognized command line option '-qversion' 
gcc: fatal error: no input files compilation terminated. 
configure:3091: $? = 1 
configure:3111: checking whether the C compiler works 
configure:3133: gcc -march=x86-64 -mtune=generic -Os -pipe -Wl,-O1 conftest.c >&5
configure:3137: $? = 0 
configure:3185: result: yes

The compilation proceeds successfully, but I am wondering why autoconf is testing for command lines that gcc does not support. Is this for other compilers?

Best Answer

Citing this:

gcc -V is a way of selecting a specific gcc version when you have more than one, that's a decoy here though: configure is iterating through a set of options (--version -v -V etc.) to make sure it can log the version of the C compiler, be it gcc or something else.

Citing this:

gcc used to have a -V option for version reports. It now uses -v, and provides the configuration options used when the compiler was built.

You package is a bit dated and doesn't reflect that fact.

BTW, the -qversion option was merged into the -v...

Citing this:

On some versions of gcc, the -V option tells it to use a specified version of the compiler -- but it requires an argument. It's documented here. The option appears to have been removed some time between 4.5.4 and 4.6.4.

which references this:

Related Question