While emerging gworkspace and other gnustep objc programs gives warnings about invalid flags: -fgnu-runtime and -fconstant-string-class=NSConstantString exact warning: Making all for framework FSNode... Compiling file FSNode.m ... cc1: varning: command line option "-fgnu-runtime" is valid for ObjC/ObjC++ but not for C cc1: varning: command line option "-fconstant-string-class=NSConstantString" is valid for ObjC/ObjC++ but not for C Compiling file FSNodeRep.m ... cc1: varning: command line option "-fgnu-runtime" is valid for ObjC/ObjC++ but not for C cc1: varning: command line option "-fconstant-string-class=NSConstantString" is valid for ObjC/ObjC++ but not for C If I have been informed right gcc should be using cc1objc for objc/objc++-files instead of cc1. But why does portage/gcc use cc1 instead? compiling it manually doesnt gives these warnings. Someone on #gnustep thought this could be a bug in portage buildsystem. And to your knowledge gcc is compiled with objc USE-flag emerge --info Portage 2.1 (default-linux/x86/2006.0, gcc-3.4.6, glibc-2.3.6-r3, 2.6.16-gentoo-r9 i686) ================================================================= System uname: 2.6.16-gentoo-r9 i686 Intel(R) Pentium(R) 4 CPU 3.00GHz Gentoo Base System version 1.6.14 ccache version 2.3 [enabled] dev-lang/python: 2.4.2 dev-python/pycrypto: 2.0.1-r5 dev-util/ccache: 2.3 dev-util/confcache: [Not Present] sys-apps/sandbox: 1.2.17 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1 sys-devel/binutils: 2.16.1-r2 sys-devel/gcc-config: 1.3.13-r2 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=pentium4 -mtune=pentium4 -mmmx -msse -msse2 -pipe -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/lib/X11/xkb /usr/share/config" CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/splash /etc/terminfo" CXXFLAGS="-O2 -march=pentium4 -mtune=pentium4 -mmmx -msse -msse2 -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig buildpkg ccache distlocks metadata-transfer sandbox sfperms strict" GENTOO_MIRRORS="http://ftp.du.se/pub/os/gentoo http://mirror.pudas.net/gentoo" LANG="sv_SE" LC_ALL="sv_SE" LINGUAS="sv" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 X a52 aac aalib acpi alsa apache2 apm arts audiofile avi bdf berkdb bitmap-fonts blas browserplugin bzip2 bzlib cdda cddb cdio cdparanoia cdr cli crypt css cups curl dbus directfb divx4linux djbfft dnd dri dts dvb dvd dvdr dvdread emboss encode esd exif fame fbcon ffmpeg firefox flac font-server foomaticdb fortran fpx fuse gd gdbm ggi gif gimp gimpprint glitz glut gmp gnutls gphoto2 gpm graphviz gs gstreamer gtk gtk2 hal hdf5 idn imagemagick imlib isdnlog ithreads jack java javascript jbig jpeg kde kdeenablefinal kerberos krb4 lcms ldap libcaca libg++ libwww lirc live lzo mad mikmod mjpeg mmx mng motif mozilla mozsvg mp3 mpeg mpi musepack ncurses network nls noamazon nptl nptlonly offensive ogg opengl osc oss pam pcre pdflib perl pic plotutils png ppds pppd pvm python qt quicktime readline real reflection rtc scanner sdl session slang slp sndfile speex spell spl sse sse2 ssl svg svga tcltk tcpd tga theora threads tiff truetype truetype-fonts type1-fonts udev usb v4l v4l2 vcd vidix visualization vorbis win32codecs wmf wxwindows xanim xcomposite xml xmms xorg xosd xpm xprint xsl xv xvid xvmc yv12 zlib elibc_glibc kernel_linux linguas_sv userland_GNU" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LDFLAGS, PORTAGE_RSYNC_EXTRA_OPTS
probably has something to do with portage doing some sort of cross compile build. Look at the configure command portage gives, and try it by hand to see. Are the warnings harming the outcome somehow? I think they are harmless.
Well I also think that the warnings is harmless, the programs works. I tried configure it with the same options, result no warnings. Used the Makefile created by portage with portage, result warnings Used the Makefile created by portage and using it manually, result no warnings Considering this there must be something wrong in portage way of handling objc/gnustep
did you also try with your CFLAGS and CXXFLAGS from /etc/make.conf? They look kind of tuned to me.
It made no difference adding them or not Even tried with C(XX)FLAGS="" emerge ...
please try gworkspace-0.8.3. No idea why toolchain has to be bothered with this.