Die Kompilierung verläuft erfolgreich, aber ich frage mich, warum Autoconf auf Befehlszeilen prüft, die von gcc nicht unterstützt werden. Ist das für andere Compiler?
gcc -V ist eine Möglichkeit, eine bestimmte gcc-Version auszuwählen, wenn Sie mehr als eine haben. Dies ist jedoch ein Lockvogel: configure durchläuft eine Reihe von Optionen (--version -v -V usw.), um sicherzustellen, dass es protokollieren kann die Version des C-Compilers, sei es gcc oder etwas anderes.
gcc verwendete eine -V-Option für Versionsberichte. Es verwendet jetzt -v und bietet die Konfigurationsoptionen, die beim Erstellen des Compilers verwendet wurden.
Ihr Paket ist etwas veraltet und spiegelt diese Tatsache nicht wider.
In einigen Versionen von gcc sagt die Option -V, dass eine angegebene Version des Compilers verwendet werden soll - es ist jedoch ein Argument erforderlich. Es ist hier dokumentiert. Die Option scheint irgendwann zwischen 4.5.4 und 4.6.4 entfernt worden zu sein.
Moderne Autoconf-Version 2.69 kann mit der folgenden erweiterten Methode zur Extraktion von Compilerinformationen verwendet werden:
# Provide some information about the compiler. $as_echo "$as_me:$: checking for C compiler version" >&5 set X $ac_compile ac_compiler=$2 for ac_option in --version -v -V -qversion; do { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then sed '10a\ ... rest of stderr output deleted ... 10q' conftest.err >conftest.er1 cat conftest.er1 >&5 rm -f conftest.er1 conftest.err fi $as_echo "$as_me:$: \$? = $ac_status" >&5 if test $ac_status = 0; then break; fi} done
Es wurde bereits angenommen, um sowohl moderne als auch ältere Versionsextraktionsflags auszuprobieren. Der Fix befindet sich in der letzten Zeile, so dass der Test nach dem ersten Erfolg übersprungen werden kann.