When emerging net-wireless/wpa_supplicant the compilation fails because the compiler is started with the option "-fno-stack-protector-all" which isn't supported by the compiler. * Running qmake on wpa_gui.pro ... [ ok ] make -j3 /usr/bin/uic eventhistory.ui -o .ui/ui_eventhistory.h /usr/bin/uic scanresults.ui -o .ui/ui_scanresults.h /usr/bin/uic userdatarequest.ui -o .ui/ui_userdatarequest.h /usr/bin/uic networkconfig.ui -o .ui/ui_networkconfig.h i686-pc-linux-gnu-gcc -c -pipe -fno-stack-protector-all -O2 -march=i686 -pipe -W all -W -D_REENTRANT -DCONFIG_CTRL_IFACE -DCONFIG_CTRL_IFACE_UNIX -DQT_NO_DEBUG - DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/ usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I.. -I.. /../src/utils -I../../src/common -I.moc -I.ui -o .obj/os_unix.o ../../src/utils/ os_unix.c i686-pc-linux-gnu-g++ -c -pipe -fno-stack-protector-all -O2 -march=i686 -pipe -W all -W -D_REENTRANT -DCONFIG_CTRL_IFACE -DCONFIG_CTRL_IFACE_UNIX -DQT_NO_DEBUG - DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/ usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I.. -I.. /../src/utils -I../../src/common -I.moc -I.ui -o .obj/eventhistory.o eventhistor y.cpp i686-pc-linux-gnu-gcc -c -pipe -fno-stack-protector-all -O2 -march=i686 -pipe -W all -W -D_REENTRANT -DCONFIG_CTRL_IFACE -DCONFIG_CTRL_IFACE_UNIX -DQT_NO_DEBUG - DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/ usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I.. -I.. /../src/utils -I../../src/common -I.moc -I.ui -o .obj/wpa_ctrl.o ../../src/commo n/wpa_ctrl.c cc1: error: unrecognized command line option "-fno-stack-protector-all" make: *** [.obj/os_unix.o] Error 1 make: *** Waiting for unfinished jobs.... cc1: error: unrecognized command line option "-fno-stack-protector-all" make: *** [.obj/wpa_ctrl.o] Error 1 cc1plus: error: unrecognized command line option "-fno-stack-protector-all" make: *** [.obj/eventhistory.o] Error 1 * * ERROR: net-wireless/wpa_supplicant-0.6.4 failed. * Call stack: * ebuild.sh, line 49: Called src_compile * environment, line 2802: Called die * The specific snippet of code: * emake || die "emake wpa_gui-qt4 failed"; * The die message: * emake wpa_gui-qt4 failed Reproducible: Always Steps to Reproduce: 1. Switch to gcc i686-pc-linux-gnu-4.3.2 2. LC_ALL=C emerge wpa_supplicant 3. Actual Results: Emerge fails (see above) Expected Results: Emerge succeeds pc01 ~ # emerge --info Portage 2.1.6.13 (default/linux/x86/2008.0/desktop, gcc-4.3.2, glibc-2.9_p20081201-r2, 2.6.29-gentoo-r5 i686) ================================================================= System uname: Linux-2.6.29-gentoo-r5-i686-Intel-R-_Pentium-R-_D_CPU_3.00GHz-with-glibc2.0 Timestamp of tree: Mon, 03 Aug 2009 13:15:02 +0000 app-shells/bash: 3.2_p39 dev-java/java-config: 1.3.7, 2.0.31 dev-lang/python: 2.4.4-r13, 2.5.4-r3 dev-python/pycrypto: 2.0.1-r6 dev-util/cmake: 2.6.4 sys-apps/baselayout: 1.12.11.1 sys-apps/sandbox: 1.6-r2 sys-devel/autoconf: 2.13, 2.63-r1 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.2 sys-devel/binutils: 2.18-r3 sys-devel/gcc-config: 1.4.1 sys-devel/libtool: 1.5.26 virtual/os-headers: 2.6.27-r2 ACCEPT_KEYWORDS="x86" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=i686 -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/config" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/java-config/vms/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/udev/rules.d" CXXFLAGS="-O2 -march=i686 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="distlocks fixpackages parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch" GENTOO_MIRRORS="http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/ ftp://linux.rz.ruhr-uni-bochum.de/gentoo-mirror/ ftp://ftp.wh2.tu-dresden.de/pub/mirrors/gentoo" LANG="de_DE@euro" LC_ALL="de_DE@euro" LDFLAGS="-Wl,-O1" LINGUAS="de en_US" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.de.gentoo.org/gentoo-portage" USE="X acl acpi alsa amr berkdb bluetooth branding bzip2 cairo cdr cli cracklib crypt cups dbus divx dri dvd dvdr dvdread eds emboss emerald encode esd evo fam firefox gdbm gif glitz gpm gstreamer gtk hal iconv ipv6 isdnlog jpeg ldap libnotify mad mikmod mp3 mpeg mudflap ncurses network nls nptl nptlonly nsplugin nvidia ogg opengl openmp pam pcre pdf perl png ppds pppd python qt3 qt3support qt4 quicktime readline realmedia reflection sdl session spell spl ssl startup-notification svg sysfs tcpd tiff truetype unicode usb vorbis win32codecs wmp x264 x86 xml xorg xscreensaver xulrunner xv zlib" ALSA_CARDS="snd-intel8x0" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="mouse keyboard" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="de en_US" USERLAND="GNU" VIDEO_CARDS="nv" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
From what I can see here, gcc should support it: https://hardened.gentooexperimental.org/trac/secure/ticket/62 Which profile are you using (where does /etc/make.profile symlink to) ?
pc01 ~ # ll /etc/make.profile lrwxrwxrwx 1 root root 56 23. Jul 2008 /etc/make.profile -> ../usr/portage/profiles/default/linux/x86/2008.0/desktop
Could you try and install gcc 4.3.3, and see if it can compile it?
same result
Well, thats weird, since I'm using 4.3.3 on my machine, and it compiles fine (my machine doesn't try to use the -fno-stack-protector-all CFLAG). I'm beginning to suspect this not being a problem with wpa_supplicant, but a problem with your base system. whats the output of: emerge gcc -pv ?
pc01 ~ # emerge gcc -pv These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild R ] sys-devel/gcc-4.3.3-r2 USE="gtk mudflap nls nptl openmp (-altivec) -bootstrap -build -doc (-fixed-point) -fortran -gcj (-hardened) -ip28 -ip32r10k -libffi (-multilib) -multislot (-n32) (-n64) -nocxx -nopie -objc -objc++ -objc-gc -test -vanilla" 0 kB Total: 1 package (1 reinstall), Size of downloads: 0 kB
Just to check - if you run this, will it compile? USE="-qt3 -qt4" emerge wpa_supplicant
Oh yes, it does :-D I don't think I need a gui for my wpa, so as a workaround I can modify my /etc/portage.use. I propose to lower this bugs severity. I think there's still something to do, right? Others may need the gui and I might run into the same problem when emerging other packages.
I'm trying to figure out why it wants to compile it with that cflag, but I think it's more of a QT eclass issue than an issue with wpa_supplicant. I'm reassigning this bug to the QT herd, so they can take a closer look at what might be causing this.
Have you ever compiled qt4 with -fno-stack-protector-all in your C(XX)FLAGS in the past?
I'm pretty sure I never did. I sometimes add or remove a USE flag, but I never touch the C(XX)FLAGS.
But I switched to gcc 4.3.2 last week, if that points to the solution.
Have you run emerge -e world after switching compiler? Which was the previous compiler version?
Yes but it probably failed. Reemerging several hundred packages takes a lot of time and several attempts due to failing emerges make this procedure take a whole week. Since I had a successful "emerge -e system" I decided not to try it any longer but to execute "emerge gcc" and try the "emerge -e world" later. Meanwhile I did an "emerge -utDN" whe the problem occured. If this could be the reason for all the trouble I apologize for being too impatient. I'm performing another "emerge -e world" for a few hours now to see if the wpa_supplicant compiles correctly with my regular USE flags afterwards.
Ok, after an emerge -e world the compilation of wpa_supplicant works. Thank you very much.