Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 150435 - wxGTK 2.6.3.3 fail to compile because relies on the installed libwx
Summary: wxGTK 2.6.3.3 fail to compile because relies on the installed libwx
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: PPC Linux
: High normal (vote)
Assignee: Gentoo wxWidgets project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-10-07 23:39 UTC by Gioele Barabucci
Modified: 2007-01-12 14:35 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Gioele Barabucci 2006-10-07 23:39:32 UTC
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.
Comment 1 Gioele Barabucci 2006-10-07 23:41:48 UTC
# 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

Comment 2 Christopher Covington 2006-10-15 09:32:09 UTC
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
Comment 3 Mart Raudsepp gentoo-dev 2006-10-26 19:11:07 UTC
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.
Comment 4 Christopher Covington 2006-10-27 06:03:59 UTC
# 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
Comment 5 Mart Raudsepp gentoo-dev 2006-11-01 03:50:12 UTC
(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)
Comment 6 Mart Raudsepp gentoo-dev 2006-11-01 05:35:27 UTC
(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.
Comment 7 Mart Raudsepp gentoo-dev 2007-01-12 14:35:51 UTC
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.