I emerged the new expat lib so I am now recompiling world. wxGTK 2.6.3.3 fails to compile because it tries to link with previous wxGTK installation. (why???) Here is the log powerpc-unknown-linux-gnu-g++ -o wxrc wxrc_wxrc.o -pthread -L/usr/X11R6/lib -L../../lib -lwx_base_xml-2.6 -lexpat -lwx_base-2.6 -pthread -L/usr/X11R6/lib -Wl,--version-script,../../version-script -lz -ldl -lm (cd lib/; rm -f libwx_gtk2_html-2.6.so libwx_gtk2_html-2.6.so.0; ln -s libwx_gtk2_html-2.6.so.0.3.1 libwx_gtk2_html-2.6.so.0; ln -s libwx_gtk2_html-2.6.so.0 libwx_gtk2_html-2.6.so) powerpc-unknown-linux-gnu-g++ -shared -fPIC -o lib/libwx_gtk2_qa-2.6.so.0.3.1 qadll_debugrpt.o qadll_dbgrptg.o -Llib -Llib -Llib -pthread -L/usr/X11R6/lib -Llib -Wl,-soname,libwx_gtk2_qa-2.6.so.0 -pthread -L/usr/X11R6/lib -Wl,--version-script,version-script -lz -ldl -lm -pthread -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lgthread-2.0 -lglib-2.0 -lXinerama -lXxf86vm -lpng -lz -ljpeg -ltiff -lwx_gtk2_core-2.6 -lwx_base-2.6 -lwx_base_xml-2.6 /usr/lib/gcc/powerpc-unknown-linux-gnu/4.1.1/../../../../powerpc-unknown-linux-gnu/bin/ld: warning: libexpat.so.0, needed by /usr/X11R6/lib/libwx_base_xml-2.6.so, not found (try using -rpath or -rpath-link) /usr/lib/gcc/powerpc-unknown-linux-gnu/4.1.1/../../../../powerpc-unknown-linux-gnu/bin/ld: dynamic variable `_SDA_BASE_@@WX_2.6' is zero size /usr/lib/gcc/powerpc-unknown-linux-gnu/4.1.1/../../../../powerpc-unknown-linux-gnu/bin/ld: /usr/lib/gcc/powerpc-unknown-linux-gnu/4.1.1/../../../crt1.o(.rodata+0x0): unresolvable R_PPC_ADDR32 relocation against symbol `_SDA_BASE_@@WX_2.6' /usr/lib/gcc/powerpc-unknown-linux-gnu/4.1.1/../../../../powerpc-unknown-linux-gnu/bin/ld: final link failed: Nonrepresentable section on output collect2: ld returned 1 exit status make[1]: *** [wxrc] Error 1 make[1]: Leaving directory `/var/tmp/portage/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/gtk2_build/utils/wxrc' make: *** [wxrc] Error 2 make: *** Waiting for unfinished jobs.... (cd lib/; rm -f libwx_gtk2_qa-2.6.so libwx_gtk2_qa-2.6.so.0; ln -s libwx_gtk2_qa-2.6.so.0.3.1 libwx_gtk2_qa-2.6.so.0; ln -s libwx_gtk2_qa-2.6.so.0 libwx_gtk2_qa-2.6.so) !!! ERROR: x11-libs/wxGTK-2.6.3.3 failed. Call stack: ebuild.sh, line 1546: Called dyn_compile ebuild.sh, line 937: Called src_compile wxGTK-2.6.3.3.ebuild, line 146: Called configure_build 'gtk2' 'unicode' ' --with-sdl --disable-joystick --enable-opengl --with-opengl --without-gnomeprint --with-gtk=2' wxGTK-2.6.3.3.ebuild, line 62: Called die !!! emake failed !!! If you need support, post the topmost build error, and the call stack if relevant.
# emerge --info Portage 2.1.2_pre2-r6 (default-linux/ppc/ppc32/2006.1/G3, gcc-4.1.1, glibc-2.4-r4, 2.6.17-gentoo-r7 ppc) ================================================================= System uname: 2.6.17-gentoo-r7 ppc 750FX Gentoo Base System version 1.12.5 Last Sync: Sun, 08 Oct 2006 03:30:01 +0000 app-admin/eselect-compiler: [Not Present] dev-java/java-config: 1.3.0-r2, 2.0.30 dev-lang/python: 2.3.5, 2.4.3-r4 dev-python/pycrypto: 2.0.1-r5 dev-util/ccache: [Not Present] dev-util/confcache: [Not Present] sys-apps/sandbox: 1.2.18.1 sys-devel/autoconf: 2.13, 2.60 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.17 sys-devel/gcc-config: 1.3.13-r4 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.17-r1 ACCEPT_KEYWORDS="ppc ~ppc" AUTOCLEAN="yes" CBUILD="powerpc-unknown-linux-gnu" CFLAGS="-O3 -pipe -mcpu=G3 -fno-strict-aliasing" CHOST="powerpc-unknown-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config" CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/java-config/vms/ /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c" CXXFLAGS="-O3 -pipe -mcpu=G3 -fno-strict-aliasing" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks metadata-transfer parallel-fetch sandbox sfperms strict" GENTOO_MIRRORS="http://mirror.cse.unsw.edu.au/pub/gentoo http://ftp.swin.edu.au/gentoo" LINGUAS="en en_US en_GB en_AU" MAKEOPTS="-j2" 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/portage-overlay" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="ppc X a52 aac acl alsa apache2 arts berkdb bonobo bzip2 c++ cdr cli crypt cups dbus dlloader dri dts dv dvd dvdr eds elibc_glibc emboss encode exif ffmpeg firefox flac gdbm gif gmp gnutls gtkhtml hal howl idn ieee1394 input_devices_evdev input_devices_keyboard input_devices_mouse ipv6 isdnlog jpeg jpeg2k kde kernel_linux lcms libg++ libwww linguas_en linguas_en_AU linguas_en_GB linguas_en_US mad matroska mikmod mime mmap mng modplug mp3 mpeg mpeg4 musicbrainz ncurses nls nptl nptlonly ogg openexr opengl pam pcre png pnp pppd python qt qt3 qt4 quicktime readline reflection ruby sasl sdl session speex spell spl ssl subversion svg sysfs theora threads tiff truetype truetype-fonts type1-fonts udev unicode usb userland_GNU userlocales utf8 vhosts video_cards_dummy video_cards_fbdev video_cards_radeon vorbis wifi xinerama xml xorg xv xvid zeroconf zlib" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Same problem. # emerge -u wxGTK Calculating dependencies... done! >>> Emerging (1 of 1) x11-libs/wxGTK-2.6.3.3 to / [snip] i686-pc-linux-gnu-g++ -o wxrc wxrc_wxrc.o -pthread -Wl,-O1 -L/usr/X11R6/lib -L../../lib -lwx_base_xml-2.6 -lexpat -lwx_base-2.6 -pthread -Wl,-O1 -L/usr/X11R6/lib -Wl,--version-script,../../version-script -lz -ldl -lm /usr/lib/gcc/i686-pc-linux-gnu/4.1.1/../../../../i686-pc-linux-gnu/bin/ld: wxrc: hidden symbol `wxObject::ReservedObjectFunc8()' in wxrc_wxrc.o is referenced by DSO /usr/lib/gcc/i686-pc-linux-gnu/4.1.1/../../../../i686-pc-linux-gnu/bin/ld: final link failed: Nonrepresentable section on output collect2: ld returned 1 exit status make[1]: *** [wxrc] Error 1 make[1]: Leaving directory `/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/gtk2_build/utils/wxrc' make: *** [wxrc] Error 2 make: *** Waiting for unfinished jobs.... (cd lib/; rm -f libwx_gtk2_core-2.6.so libwx_gtk2_core-2.6.so.0; ln -s libwx_gtk2_core-2.6.so.0.3.1 libwx_gtk2_core-2.6.so.0; ln -s libwx_gtk2_core-2.6.so.0 libwx_gtk2_core-2.6.so) !!! ERROR: x11-libs/wxGTK-2.6.3.3 failed. Call stack: ebuild.sh, line 1564: Called dyn_compile ebuild.sh, line 937: Called src_compile wxGTK-2.6.3.3.ebuild, line 146: Called configure_build 'gtk2' 'unicode' ' --with-sdl --disable-joystick --enable-opengl --with-opengl --without-gnomeprint --with-gtk=2' wxGTK-2.6.3.3.ebuild, line 62: Called die !!! emake failed !!! If you need support, post the topmost build error, and the call stack if relevant. $ emerge --info Portage 2.1.2_pre3-r2 (default-linux/x86/2006.0, gcc-4.1.1, glibc-2.5-r0, 2.6.16-beyond4 i686) ================================================================= System uname: 2.6.16-beyond4 i686 Genuine Intel(R) CPU T2400 @ 1.83GHz Gentoo Base System version 1.12.5 Last Sync: Sun, 15 Oct 2006 06:50:01 +0000 app-admin/eselect-compiler: [Not Present] dev-java/java-config: 1.3.3, 2.0.30 dev-lang/python: 2.4.3-r4 dev-python/pycrypto: 2.0.1-r5 dev-util/ccache: [Not Present] dev-util/confcache: [Not Present] sys-apps/sandbox: 1.2.18.1 sys-devel/autoconf: 2.13, 2.60 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.17 sys-devel/gcc-config: 1.3.13-r4 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.17-r1 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-march=prescott -O3 -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/share/X11/xkb /usr/share/config" CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/java-config/vms/ /etc/revdep-rebuild /etc/terminfo" CXXFLAGS="-march=prescott -O3 -pipe -fomit-frame-pointer -fvisibility-inlines-hidden" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks metadata-transfer parallel-fetch sandbox sfperms strict userpriv usersandbox" GENTOO_MIRRORS="http://ftp.belnet.be/mirror/rsync.gentoo.org/gentoo/ http://pandemonium.tiscali.de/pub/gentoo/ http://gentoo.inode.at/" LANG="de_DE.utf8" LC_ALL="de_DE.utf8" LDFLAGS="-Wl,-O1" LINGUAS="en de" 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.europe.gentoo.org/gentoo-portage" USE="x86 X a52 aac acpi alsa apm berkdb bitmap-fonts bzip2 cairo cddb cdparanoia cli crypt cups directfb dlloader dri dts dvd elibc_glibc emboss encode esd fbcon firefox flac foomaticdb fortran fritzcapi_cards_fcusb fritzcapi_cards_fcusb2 fritzcapi_cards_fxusb gcj gdbm gif gnutls gpm gstreamer gtk gtk2 ieee1394 ilbc imlib input_devices_keyboard input_devices_mouse input_devices_synaptics ipv6 isdnlog java jpeg kernel_linux libcaca libg++ libwww linguas_de linguas_en mad mikmod mmx mng motif mp3 mpeg ncurses nls nptl nsplugin offensive ofx ogg opengl pam pcre pdf perl png postgres pppd profile python qt3 qt4 quicktime readline reflection ruby samba sdl session speex spell spl sse sse2 ssl svg tcpd theora threads tiff truetype truetype-fonts type1-fonts udev unicode userland_GNU vcd video_cards_i810 video_cards_vesa vorbis wmf x264 xinerama xml xmms xorg xpm xv xvid zlib" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, PORTAGE_RSYNC_EXTRA_OPTS
I have completely identical linker command line launched, and it works for me on a manual rebuild of the same version (which should be what revdep-rebuild does without -X option) just fine. I suppose it might have been fine with the systems version in my case, but shouldn't it pick the local build version from the build folders lib/ subdir anyhow? The -Llib that is in the command line many times, is what I have in mind. After you fail compilation, do you have the wx_base_xml library in the build dirs lib subfolder just fine? (I believe the build dir was named something like build_gtk2 or gtk2_build) I'll try to snoop around in Makefile's a bit.
# ls -l /var/tmp/portage/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/gtk2_build/lib/ total 4581 lrwxrwxrwx 1 portage portage 19 2006-10-09 17:23 libwx_base-2.6.so -> libwx_base-2.6.so.0 lrwxrwxrwx 1 portage portage 23 2006-10-09 17:23 libwx_base-2.6.so.0 -> libwx_base-2.6.so.0.3.1 -rwxr-xr-x 1 portage portage 1137337 2006-10-09 17:23 libwx_base-2.6.so.0.3.1 lrwxrwxrwx 1 portage portage 23 2006-10-09 17:23 libwx_base_net-2.6.so -> libwx_base_net-2.6.so.0 lrwxrwxrwx 1 portage portage 27 2006-10-09 17:23 libwx_base_net-2.6.so.0 -> libwx_base_net-2.6.so.0.3.1 -rwxr-xr-x 1 portage portage 210469 2006-10-09 17:23 libwx_base_net-2.6.so.0.3.1 lrwxrwxrwx 1 portage portage 23 2006-10-09 17:23 libwx_base_xml-2.6.so -> libwx_base_xml-2.6.so.0 lrwxrwxrwx 1 portage portage 27 2006-10-09 17:23 libwx_base_xml-2.6.so.0 -> libwx_base_xml-2.6.so.0.3.1 -rwxr-xr-x 1 portage portage 43952 2006-10-09 17:23 libwx_base_xml-2.6.so.0.3.1 lrwxrwxrwx 1 portage portage 24 2006-10-09 17:23 libwx_gtk2_core-2.6.so -> libwx_gtk2_core-2.6.so.0 lrwxrwxrwx 1 portage portage 28 2006-10-09 17:23 libwx_gtk2_core-2.6.so.0 -> libwx_gtk2_core-2.6.so.0.3.1 -rwxr-xr-x 1 portage portage 3289169 2006-10-09 17:23 libwx_gtk2_core-2.6.so.0.3.1 drwxr-xr-x 4 portage portage 4 2006-10-09 17:19 wx
(In reply to comment #2) > Same problem. > > -L/usr/X11R6/lib -Wl,--version-script,../../version-script -lz -ldl -lm > /usr/lib/gcc/i686-pc-linux-gnu/4.1.1/../../../../i686-pc-linux-gnu/bin/ld: > wxrc: hidden symbol `wxObject::ReservedObjectFunc8()' in wxrc_wxrc.o is > referenced by DSO > CXXFLAGS="-march=prescott -O3 -pipe -fomit-frame-pointer > -fvisibility-inlines-hidden" ^^ Don't use -fvisibility-inlines-hidden, this can cause problems on libraries that aren't checked to work with it specifically (usually together with making -fvisibility=hidden to work - and turnt on upstream, not by CXXFLAGS in make.conf)
(In reply to comment #0) > I emerged the new expat lib so I am now recompiling world. > > wxGTK 2.6.3.3 fails to compile because it tries to link with previous wxGTK > installation. (why???) > > Here is the log > > powerpc-unknown-linux-gnu-g++ -o wxrc wxrc_wxrc.o -pthread -L/usr/X11R6/lib > -L../../lib -lwx_base_xml-2.6 /usr/X11R6/lib goes into the library search path before ../../lib, and because /usr/X11R6 is a symlink to ../usr, it is effectively /usr/lib that goes into the search path first. So that's what's causing the failure. Now why is it put there in front? The xinerama library test in wx's configure.in checks where libXinerama is, and if it is in /usr/lib, it doesn't put that into LDFLAGS, otherwise it does. This is broken in a few quite glorious ways. One of them is that symlinks aren't handled (but I don't believe LDFLAGS should be touched at all here), and therefore while the logic wants to leave out /usr/lib (why not $prefix/lib is beyond me too) but does a string check, not a symlink following FILE check, it doesn't catch this case, and the search path is added. A workaround is temporarily uninstalling wxGTK-2.6* and doing it again (PS: If you don't need 2.4*, you should get rid of that as well before redoing 2.6 to get some wx-config stuff work better). I hope to find a proper solution at some point.
Ok, it's now the following for me after patching LDFLAGS to come after wx libraries in Makefile.in: i686-pc-linux-gnu-g++ -o wxrc wxrc_wxrc.o -L../../lib -lwx_based_xml-2.6 -lexpat -lwx_based-2.6 -pthread -Wl,-O1 -Wl,--hash-style=gnu -L/usr/X11R6/lib -pthread -Wl,-O1 -Wl,--hash-style=gnu -L/usr/X11R6/lib -Wl,--version-script,../../version-script -lz -ldl -lm But this seems to be a problem for many other linker lines too, still. Taking this upstream at some point and digging into configure.in myself later on for fixing some other problems in it - keeping this in mind too then. Meanwhile this particular case should be fixed now. Please test and reopen if there are still problems. Best to recheck that the problem persists before syncing the tree for the fix, then syncing and trying again (note that there is no revbump as it's a build fix) - to catch possible problems in other libraries/utils that get built and might link to system library.