You are not logged in.

#1 2014-05-10 11:17:14

ahol
Member
Registered: 2014-05-10
Posts: 2

Can't build gcc46-multilib

tl;dr: hit this error

xgcc: error: unrecognized option '-V'

while building gcc46-multilib.

In pacman.conf,  I activated multilib:

[multilib]
Include = /etc/pacman.d/mirrorlist

Then:

pacman -Syu
pacman -S gcc-multilib libtool-multilib base-devel multilib-devel

When I build gcc46-multilib, I hit this error:

checking for x86_64-unknown-linux-gnu-gcc... /tmp/yaourt-tmp-paul/aur-gcc46-multilib/src/gcc-build/./gcc/xgcc -B/tmp/yaourt-tmp-paul/aur-gcc46-multilib/src/gcc-build/./gcc/ -B/usr/x86_64-unknown-linux-gnu/bin/ -B/usr/x86_64-unk
nown-linux-gnu/lib/ -isystem /usr/x86_64-unknown-linux-gnu/include -isystem /usr/x86_64-unknown-linux-gnu/sys-include   
checking for suffix of object files... configure: error: in `/tmp/yaourt-tmp-paul/aur-gcc46-multilib/src/gcc-build/x86_64-unknown-linux-gnu/libgcc':
configure: error: cannot compute suffix of object files: cannot compile
See `config.log' for more details.
Makefile:15143: recipe for target 'configure-stage1-target-libgcc' failed
make[2]: *** [configure-stage1-target-libgcc] Error 1
make[2]: Leaving directory '/tmp/yaourt-tmp-paul/aur-gcc46-multilib/src/gcc-build'
Makefile:18943: recipe for target 'stage1-bubble' failed
make[1]: *** [stage1-bubble] Error 2
make[1]: Leaving directory '/tmp/yaourt-tmp-paul/aur-gcc46-multilib/src/gcc-build'
Makefile:891: recipe for target 'all' failed
make: *** [all] Error 2

Looking at the logs, I see:

configure:3028: /tmp/yaourt-tmp-paul/aur-gcc46-multilib/src/gcc-build/./gcc/xgcc -B/tmp/yaourt-tmp-paul/aur-gcc46-multilib/src/gcc-build/./gcc/ -B/usr/x86_64-unknown-linux-gnu/bin/ -B/usr/x86_64-unknown-linux-gnu/lib/ -isystem /usr/x86_64-unknown-linux-gnu/include -isystem /usr/x86_64-unknown-linux-gnu/sys-include    -v >&5
Reading specs from /tmp/yaourt-tmp-paul/aur-gcc46-multilib/src/gcc-build/./gcc/specs
COLLECT_GCC=/tmp/yaourt-tmp-paul/aur-gcc46-multilib/src/gcc-build/./gcc/xgcc
COLLECT_LTO_WRAPPER=/tmp/yaourt-tmp-paul/aur-gcc46-multilib/src/gcc-build/./gcc/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: /tmp/yaourt-tmp-paul/aur-gcc46-multilib/src/gcc-4.6.4/configure --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://bugs.archlinux.org/ --enable-languages=c,c++,fortran --enable-shared --enable-threads=posix --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-clocale=gnu --disable-libstdcxx-pch --enable-libstdcxx-time --enable-gnu-unique-object --enable-linker-build-id --with-ppl --enable-cloog-backend=isl --enable-lto --enable-gold --enable-ld=default --enable-plugin --with-plugin-ld=ld.gold --enable-multilib --disable-libssp --enable-checking=release --with-fpmath=sse --disable-werror --program-suffix=-4.6.4 --enable-version-specific-runtime-libs
Thread model: posix
gcc version 4.6.4 (GCC)
configure:3039: $? = 0
configure:3028: /tmp/yaourt-tmp-paul/aur-gcc46-multilib/src/gcc-build/./gcc/xgcc -B/tmp/yaourt-tmp-paul/aur-gcc46-multilib/src/gcc-build/./gcc/ -B/usr/x86_64-unknown-linux-gnu/bin/ -B/usr/x86_64-unknown-linux-gnu/lib/ -isystem /usr/x86_64-unknown-linux-gnu/include -isystem /usr/x86_64-unknown-linux-gnu/sys-include    -V >&5
xgcc: error: unrecognized option '-V'
xgcc: fatal error: no input files
compilation terminated.
configure:3039: $? = 1
configure:3028: /tmp/yaourt-tmp-paul/aur-gcc46-multilib/src/gcc-build/./gcc/xgcc -B/tmp/yaourt-tmp-paul/aur-gcc46-multilib/src/gcc-build/./gcc/ -B/usr/x86_64-unknown-linux-gnu/bin/ -B/usr/x86_64-unknown-linux-gnu/lib/ -isystem /usr/x86_64-unknown-linux-gnu/include -isystem /usr/x86_64-unknown-linux-gnu/sys-include    -qversion >&5
xgcc: error: unrecognized option '-qversion'
xgcc: fatal error: no input files
compilation terminated.
configure:3039: $? = 1
configure:3055: /tmp/yaourt-tmp-paul/aur-gcc46-multilib/src/gcc-build/./gcc/xgcc -B/tmp/yaourt-tmp-paul/aur-gcc46-multilib/src/gcc-build/./gcc/ -B/usr/x86_64-unknown-linux-gnu/bin/ -B/usr/x86_64-unknown-linux-gnu/lib/ -isystem /usr/x86_64-unknown-linux-gnu/include -isystem /usr/x86_64-unknown-linux-gnu/sys-include    -o conftest -g -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4   conftest.c  >&5
cc1: error: unrecognized command line option '-fstack-protector-strong'
configure:3058: $? = 1
configure:3246: checking for suffix of object files
configure:3268: /tmp/yaourt-tmp-paul/aur-gcc46-multilib/src/gcc-build/./gcc/xgcc -B/tmp/yaourt-tmp-paul/aur-gcc46-multilib/src/gcc-build/./gcc/ -B/usr/x86_64-unknown-linux-gnu/bin/ -B/usr/x86_64-unknown-linux-gnu/lib/ -isystem /usr/x86_64-unknown-linux-gnu/include -isystem /usr/x86_64-unknown-linux-gnu/sys-include    -c -g -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4  conftest.c >&5
cc1: error: unrecognized command line option '-fstack-protector-strong'
configure:3272: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "GNU C Runtime Library"
| #define PACKAGE_TARNAME "libgcc"
| #define PACKAGE_VERSION "1.0"
| #define PACKAGE_STRING "GNU C Runtime Library 1.0"
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE_URL "http://www.gnu.org/software/libgcc/"
| /* end confdefs.h.  */
|
| int
| main ()
| {
|
|   ;
|   return 0;
| }
configure:3286: error: in `/tmp/yaourt-tmp-paul/aur-gcc46-multilib/src/gcc-build/x86_64-unknown-linux-gnu/libgcc':
configure:3289: error: cannot compute suffix of object files: cannot compile

Offline

#2 2014-05-10 11:49:39

Lone_Wolf
Forum Moderator
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 11,952

Re: Can't build gcc46-multilib

cc1: error: unrecognized command line option '-fstack-protector-strong'

That option was added in gcc 4.9.x , so it does make sense gcc 4.6 doesn't understand it.

the last update to pacman 4.1.2-6 , changed makepkg.conf and switched from -fstack-protector to -fstack-protector-strong

CFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4"
CXXFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4"

all pre-4.9 gcc pacakges will have to be changed to work with the latest makepkg.conf.


xgcc: error: unrecognized option '-V'

No clue where that comes from, i suggest fixing the stack-protector-strong issue first.


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.


(A works at time B)  && (time C > time B ) ≠  (A works at time C)

Offline

#3 2014-05-11 13:30:31

ackalker
Member
Registered: 2012-11-27
Posts: 201

Re: Can't build gcc46-multilib

@Lone_Wolf
Excellent sleuthing, very informative! Thanks ;-)
It helped me realize that I was still using an old ${HOME}/.makepkg.conf which doesn't yet contain the change to "-fstack-protector-strong", which would explain why the package builds fine on my box.

Offline

#4 2014-05-11 14:44:49

ahol
Member
Registered: 2014-05-10
Posts: 2

Re: Can't build gcc46-multilib

@ackalker, @Lone_Wolf, thank you guys for figuring out what was wrong.

Removing `-strong` fixed my issue.

I just created a .makepkg.conf file with:

CFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4"
CXXFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4"

Offline

#5 2014-05-11 14:56:25

ackalker
Member
Registered: 2012-11-27
Posts: 201

Re: Can't build gcc46-multilib

I've updated the PKGBUILD so that it replaces '-fstack-protector-strong' with '-fstack-protector' in both CFLAGS and CXXFLAGS. The package now builds fine on my end, with the updated makepkg.conf.

Last edited by ackalker (2014-05-11 14:57:14)

Offline

Board footer

Powered by FluxBB