Mainly a warning, sorry if you consider it spam. The problem is that gettext compiles fine with -fvisibility-inlines-hidden using gcc-3.4.6, but when switching to gcc-4.1.1 the following error occurs: . . . x86_64-pc-linux-gnu-g++ -shared -nostdlib /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/../../../../lib64/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/crtbeginS.o .libs/lib-asprintf.o .libs/autosprintf.o -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1 -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/../../../../x86_64-pc-linux-gnu/lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -lstdc++ -lm -lc -lgcc_s /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/../../../../lib64/crtn.o -march=athlon64 -Wl,-soname -Wl,libasprintf.so.0 -o .libs/libasprintf.so.0.0.0 /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/../../../../x86_64-pc-linux-gnu/bin/ld: .libs/autosprintf.o: relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC .libs/autosprintf.o: could not read symbols: Bad value collect2: ld returned 1 exit status distcc[1816] ERROR: compile (null) on localhost failed x86_64-pc-linux-gnu-gcc -shared .libs/lib-asprintf.o .libs/autosprintf.o -march=athlon64 -Wl,-soname -Wl,libasprintf.so.0 -o .libs/libasprintf.so.0.0.0 /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/../../../../x86_64-pc-linux-gnu/bin/ld: .libs/autosprintf.o: relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC .libs/autosprintf.o: could not read symbols: Bad value collect2: ld returned 1 exit status distcc[1890] ERROR: compile (null) on localhost failed make[4]: *** [libasprintf.la] Error 1 make[4]: Leaving directory `/usr/portage/tmp/portage/gettext-0.14.5/work/gettext-0.14.5/gettext-runtime/libasprintf' make[3]: *** [all] Error 2 make[3]: Leaving directory `/usr/portage/tmp/portage/gettext-0.14.5/work/gettext-0.14.5/gettext-runtime/libasprintf' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/usr/portage/tmp/portage/gettext-0.14.5/work/gettext-0.14.5/gettext-runtime' make[1]: *** [all] Error 2 make[1]: Leaving directory `/usr/portage/tmp/portage/gettext-0.14.5/work/gettext-0.14.5/gettext-runtime' make: *** [all-recursive] Error 1 !!! ERROR: sys-devel/gettext-0.14.5 failed. Call stack: ebuild.sh, line 1531: Called dyn_compile ebuild.sh, line 931: Called src_compile gettext-0.14.5.ebuild, line 72: Called die Is it possible to filter the CXXFLAGS and remove -fvisibility-inlines-hidden for gettext when using gcc-4.1.1? It compiles fine when the flag is removed. (A bit annoying when emerge -e system fails on gettext every time.) /Claes Portage 2.1_rc3-r1 (default-linux/amd64/2006.0, gcc-4.1.1, glibc-2.4-r3, 2.6.16-gentoo-r7 x86_64) ================================================================= System uname: 2.6.16-gentoo-r7 x86_64 AMD Athlon(tm) 64 Processor 3000+ Gentoo Base System version 1.12.0 distcc 2.18.3 x86_64-pc-linux-gnu (protocols 1 and 2) (default port 3632) [enabled] ccache version 2.4 [enabled] dev-lang/python: 2.3.5, 2.4.3-r1 dev-python/pycrypto: 2.0.1-r5 dev-util/ccache: 2.4-r1 dev-util/confcache: [Not Present] sys-apps/sandbox: 1.2.18.1 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-r2 sys-devel/binutils: 2.16.1-r2 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.11-r3 ACCEPT_KEYWORDS="amd64 ~amd64" AUTOCLEAN="yes" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=athlon64 -O2 -pipe -ftracer -fno-ident -fomit-frame-pointer -freorder-blocks-and-partition" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/lib64/mozilla/defaults/pref /usr/share/X11/xkb" CONFIG_PROTECT_MASK="/etc/gconf /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c /etc/env.d" CXXFLAGS="-march=athlon64 -O2 -pipe -ftracer -fno-ident -fomit-frame-pointer -freorder-blocks-and-partition -fvisibility-inlines-hidden -fno-enforce-eh-specs" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig ccache distcc distlocks metadata-transfer sandbox sfperms strict" GENTOO_MIRRORS="http://ftp.du.se/pub/os/gentoo http://distfiles.gentoo.org http://www.ibiblio.org/pub/Linux/distributions/gentoo" LANG="en_US.UTF-8" LC_ALL="en_US.UTF-8" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_EXTRA_OPTS="--exclude-from=/etc/portage/rsync_excludes" 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="/usr/portage/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage /usr/local/xgl-coffee" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="amd64 X aac acpi aim alsa apache2 avahi avi bash-completion berkdb bitmap-fonts bluetooth browserplugin cairo calendar canvas cdparanoia cdr cli crypt cups dbus dga dio directfb divx4linux dlloader doc dri dts dvd dvdr dvdread eds emboss encode exif fbcon ffmpeg fftw foomaticdb gdbm gif glibc-omitfp glitz glx gnome gphoto2 gpm gstreamer gtk gtk2 hal icq imagemagic imlib ipv6 isdnlog jabber java jpeg ldap lzw lzw-tiff mad matroska mime mono mozilla mozsvg mp3 mpeg msn ncurses nls nptl nptlonly nsplugin nvidia offensive oggvorbis opengl oscar pam pcre pdflib perl png pppd python quicktime readline reflection rtc ruby samba sdl session spell spl sqlite ssl svg tcpd tga theora tiff truetype truetype-fonts type1-fonts unicode usb userlocales v4l v4l2 vorbis wmf xml xorg xpm xscreensaver xv xvid yahoo zlib elibc_glibc input_devices_keyboard input_devices_mouse input_devices_vmmouse kernel_linux userland_GNU video_cards_nvidia video_cards_vesa video_cards_fbdev video_cards_vmware" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LDFLAGS, LINGUAS
Sorry, lots of things fail with -fvisibility-inlines-hidden; don't use it in CXXFLAGS...