When I add -fvisibility=hidden to my CXXFLAGS, opensp-1.5.1 doesn't compile (error messages below). Reproducible: Always Steps to Reproduce: 1. CXXFLAGS="${CFLAGS} -fvisibility=hidden" 2. emerge opensp Actual Results: opensp fails: ...alot of repeating error msgs... : undefined reference to `OpenSP::IListBase::clear()' RastEventHandler.o(.gnu.linkonce.t._ZN6OpenSP16RastEventHandlerD0Ev+0x239): In f unction `OpenSP::RastEventHandler::~RastEventHandler()': : undefined reference to `vtable for OpenSP::ErrorCountEventHandler' RastEventHandler.o(.gnu.linkonce.t._ZN6OpenSP16RastEventHandlerD0Ev+0x241): In f unction `OpenSP::RastEventHandler::~RastEventHandler()': : undefined reference to `OpenSP::EventHandler::~EventHandler()' RastEventHandler.o(.gnu.linkonce.t._ZN6OpenSP16RastEventHandlerD0Ev+0x27a): In f unction `OpenSP::RastEventHandler::~RastEventHandler()': : undefined reference to `vtable for OpenSP::LinkProcess' RastEventHandler.o(.gnu.linkonce.t._ZN6OpenSP16RastEventHandlerD0Ev+0x2cb): In f unction `OpenSP::RastEventHandler::~RastEventHandler()': : undefined reference to `vtable for OpenSP::LinkProcess' RastEventHandler.o(.gnu.linkonce.t._ZN6OpenSP16RastEventHandlerD0Ev+0x2fa): In f unction `OpenSP::RastEventHandler::~RastEventHandler()': : undefined reference to `OpenSP::IListBase::clear()' RastEventHandler.o(.gnu.linkonce.t._ZN6OpenSP16RastEventHandlerD0Ev+0x361): In f unction `OpenSP::RastEventHandler::~RastEventHandler()': : undefined reference to `OpenSP::IListBase::clear()' RastEventHandler.o(.gnu.linkonce.t._ZN6OpenSP16RastEventHandlerD0Ev+0x37d): In f unction `OpenSP::RastEventHandler::~RastEventHandler()': : undefined reference to `vtable for OpenSP::ErrorCountEventHandler' RastEventHandler.o(.gnu.linkonce.t._ZN6OpenSP16RastEventHandlerD0Ev+0x385): In function `OpenSP::RastEventHandler::~RastEventHandler()': : undefined reference to `OpenSP::EventHandler::~EventHandler()' StringSet.o(.gnu.linkonce.t._ZNK6OpenSP12PointerTableIPNS_6StringIjEES2_NS_4Hash ENS_12StringSetKeyEE6lookupERKS2_+0x38): In function `OpenSP::PointerTable<OpenS P::String<unsigned int>*, OpenSP::String<unsigned int>, OpenSP::Hash, OpenSP::St ringSetKey>::lookup(OpenSP::String<unsigned int> const&) const': : undefined reference to `OpenSP::Hash::hash(OpenSP::String<unsigned int> const& )' StringSet.o(.gnu.linkonce.t._ZN6OpenSP12PointerTableIPNS_6StringIjEES2_NS_4HashE NS_12StringSetKeyEE6insertES3_b+0x31): In function `OpenSP::PointerTable<OpenSP: :String<unsigned int>*, OpenSP::String<unsigned int>, OpenSP::Hash, OpenSP::Stri ngSetKey>::insert(OpenSP::String<unsigned int>*, bool)': : undefined reference to `OpenSP::Hash::hash(OpenSP::String<unsigned int> const& )' StringSet.o(.gnu.linkonce.t._ZN6OpenSP12PointerTableIPNS_6StringIjEES2_NS_4HashE NS_12StringSetKeyEE6insertES3_b+0x12d): In function `OpenSP::PointerTable<OpenSP ::String<unsigned int>*, OpenSP::String<unsigned int>, OpenSP::Hash, OpenSP::Str ingSetKey>::insert(OpenSP::String<unsigned int>*, bool)': : undefined reference to `OpenSP::Hash::hash(OpenSP::String<unsigned int> const& )' StringSet.o(.gnu.linkonce.t._ZN6OpenSP12PointerTableIPNS_6StringIjEES2_NS_4HashE NS_12StringSetKeyEE6insertES3_b+0x1d2): In function `OpenSP::PointerTable<OpenSP ::String<unsigned int>*, OpenSP::String<unsigned int>, OpenSP::Hash, OpenSP::Str ingSetKey>::insert(OpenSP::String<unsigned int>*, bool)': : undefined reference to `OpenSP::Hash::hash(OpenSP::String<unsigned int> const& )' StringSet.o(.gnu.linkonce.t._ZN6OpenSP12PointerTableIPNS_6StringIjEES2_NS_4HashE NS_12StringSetKeyEE6insertES3_b+0x290): In function `OpenSP::PointerTable<OpenSP ::String<unsigned int>*, OpenSP::String<unsigned int>, OpenSP::Hash, OpenSP::Str ingSetKey>::insert(OpenSP::String<unsigned int>*, bool)': : undefined reference to `OpenSP::Hash::hash(OpenSP::String<unsigned int> const& )' collect2: ld returned 1 exit status make[3]: *** [onsgmls] Error 1 make[3]: Leaving directory `/var/tmp/portage/opensp-1.5.1/work/OpenSP-1.5.1/nsgm ls' make[2]: *** [all] Error 2 make[2]: Leaving directory `/var/tmp/portage/opensp-1.5.1/work/OpenSP-1.5.1/nsgm ls' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/opensp-1.5.1/work/OpenSP-1.5.1' make: *** [all] Error 2 !!! ERROR: app-text/opensp-1.5.1 failed. !!! Function src_compile, Line 42, Exitcode 2 !!! parallel make failed !!! If you need support, post the topmost build error, NOT this status message. Expected Results: opensp compiles cleanly. Gentoo Base System version 1.6.8 Portage 2.0.51-r8 (default-linux/x86/2004.3, gcc-3.4.3, glibc-2.3.4.20041102-r0, 2.6.9-lxnay1 i686) ================================================================= System uname: 2.6.9-lxnay1 i686 Intel(R) Pentium(R) 4 CPU 2.60GHz Python: dev-lang/python-2.3.4 [2.3.4 (#1, Jan 5 2005, 15:45:16)] ccache version 2.3 [enabled] dev-lang/python: 2.3.4 sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.4_p6, 1.8.5-r2, 1.6.3, 1.9.3, 1.5, 1.7.9 sys-devel/binutils: 2.15.92.0.2-r2 sys-devel/libtool: 1.5.10-r2 virtual/os-headers: 2.6.8.1-r2 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-O3 -mtune=pentium4 -march=pentium4 -fomit-frame-pointer -pipe -frename- registers -fweb -ftracer -fforce-addr -momit-leaf-frame-pointer" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/lib/X1 1/xkb /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O3 -mtune=pentium4 -march=pentium4 -fomit-frame-pointer -pipe -frenam e-registers -fweb -ftracer -fforce-addr -momit-leaf-frame-pointer -fvisibility-i nlines-hidden -fvisibility=hidden" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig ccache distlocks sandbox sfperms" GENTOO_MIRRORS="http://mirror.hamakor.org.il/pub/mirrors/gentoo/ http://ftp.easy net.nl/mirror/gentoo/ http://mir.zyrianes.net/gentoo/" LDFLAGS="-Wl,-O1" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://mirror.hamakor.org.il/gentoo-portage" USE="x86 X aac aalib acl acpi alsa avi bash-completion bidi bitmap-fonts bzip2 b zlib calender cdparanoia cdr chroot codecs cracklib crypt css cups directfb doc dts dvd emoticon encode ethereal fam fbcon flac foomaticdb freetype ftp gdbm gif gnome gphoto2 gpm gstreamer gtk gtk2 hal icq imagemagick imap imlib ipv6 ithrea ds joystick jpeg kde kdexdeltas lcms libcaca libwww mad maildir mikmod mime mmx motif mp3 mpeg mplayer msn ncurses network nls nptl nptlonly oggvorbis opengl os car pam pcre pdflib perl png posix python qt quicktime readline real samba sasl scanner sdl sharedmem sockets spell sse sse2 ssl svg tcltk tcpd tiff transcode t ruetype truetype-fonts unicode usb videos vim-pager vim-with-x xface xine xml2 x mms xprint xv xvid xvmc zlib"
I think this could be solved by filtering this flag in the ebuild itself... Like many other ebuilds do.
Created attachment 47864 [details, diff] A patch for the ebuild Still under testing
emerge info: Portage 2.0.51-r8 (default-linux/x86/2004.3, gcc-3.4.3, glibc-2.3.4.20041102-r0, 2.6.9-nitro4 i686) ================================================================= System uname: 2.6.9-nitro4 i686 Intel(R) Pentium(R) 4 CPU 2.00GHz Gentoo Base System version 1.6.8 Python: dev-lang/python-2.3.4 [2.3.4 (#1, Dec 23 2004, 07:19:35)] ccache version 2.3 [enabled] dev-lang/python: 2.3.4 sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.4_p6, 1.8.5-r2, 1.6.3, 1.9.3, 1.5, 1.7.9 sys-devel/binutils: 2.15.92.0.2-r2 sys-devel/libtool: 1.5.10-r2 virtual/os-headers: 2.6.8.1-r2 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-march=pentium4 -mtune=pentium4 -O3 -pipe -fomit-frame-pointer -ffast-math -msse -msse2 -mmmx -m32 -fprefetch-loop-arrays -ftracer -mfpmath=sse,387 -fforce-addr -frename-registers" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/init.d /etc/terminfo /etc/env.d" CXXFLAGS="-march=pentium4 -mtune=pentium4 -O3 -pipe -fomit-frame-pointer -ffast-math -msse -msse2 -mmmx -m32 -fprefetch-loop-arrays -ftracer -mfpmath=sse,387 -fforce-addr -frename-registers -fvisibility-inlines-hidden -fvisibility=hidden" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig ccache distlocks sandbox sfperms" GENTOO_MIRRORS="http://mirror.hamakor.org.il/pub/mirrors/gentoo/" LDFLAGS="-Wl,-O2" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://mirror.hamakor.org.il/gentoo-portage" USE="x86 X acl acpi alsa apache2 apm berkdb bidi bitmap-fonts crypt cups encode esd fbcon foomaticdb fortran gdbm gif gpm gtk2 iconv icq imagemagick imap imlib ipv6 jpeg libwww mad maildir mikmod mmx motif mpeg msn mysql ncurses nls nptl oggvorbis opengl pam pam-mysql pdflib perl php png python quicktime readline samba sdl spell sse ssl tcpd tiff truetype unicode xinetd xml xml2 xv zlib linguas_he linguas_en" This has happened to me as well. I've made a patch for the ebuild (attached). It works for me, hope it'll work for you as well
Works perfectly, thanks.
just marked as fixed...
When will this patch be added to the ebuild? Is that why 1.5.1 is still in testing? I had the same problem emerging with 1.5.1 with ACCEPT_KEYWORDS="~x86" but I didn't apply try applying the patch to 1.5.1 because the patch solved my problem with 1.5.1-r1.
I'm still getting the same problem trying to compile opensp-1.5.1 with fvisibility=hidden in my CXXFLGAS. Looking at the ebuild it doesn't filter the flag... If i remove the flag from my make.conf it compiles fine... I would say this hasn't been resolved...
Reopening... @hobbithk: Please, don
Reopening... @hobbithk: Please, don´t mark bugs as fixed when they are not fixed. It needs to be fixed in portage, fixing it for yourself is not enough...
fixed in cvs. thanks for the report.