if you try to build something with libsmpeg-0.4.so.0 you get some unresolved symbols (ldd -r /usr/lib/libsmpeg-0.4.so.0 will show the unresolved symbols) this is because libsmpeg-0.4.so.0 isn't linked with libgcc_s the problem is resolved if we link it with libstdc++ instead of libsupc++ so here is a patch to apply instead of the gcc3.1 one
Created attachment 3703 [details, diff] new patch with gcc3.2 link with libstdc++ instead of libsupc++
Carpaski, Getting feedback from my bug users that this patch resolves their sdl issues. Any chance on the patch being included in portage?
Created attachment 4190 [details] smpeg ebuild that also works for gcc3.2 [1] Save the patch ( http://bugs.gentoo.org/showattachment.cgi?attach_id=3703 ) as /usr/portage/media-libs/smpeg/files/smpeg-0.4.4-gcc-3.2.patch [2] Place this submitted ebuild in /usr/portage/media-libs/smpeg/files/ to overwrite the old one. [3] To get frozen-bubble work: emerge libsdl smpeg sdl-mixer frozen-bubble (so you'll need to rebuild whatever needs smpeg to get something working) It works here.. Have fun. PS: Have a look at the code, it's probably not that good and all of that, and it probably should be r5. Use it if you want to, change it if you like :)
Should ofcourse be: -------------------------------------8<------------------------------------ [2] Place this submitted ebuild as /usr/portage/media-libs/smpeg/smpeg-0.4.4-r4.ebuild to overwrite the old one. -------------------------------------8<------------------------------------ Sorry about that.
this patch does not work for me :( see my log
Created attachment 4258 [details] error log emerge using your patch and new ebuild still does not work
Andreas: That doesn't seem related to this bug though. Post on http://forums.gentoo.org if you haven't already, perhaps someone can come up with a solution to that.
Vince: you're right. there was a broken link causing this problem
This problem of unresolved symbols does not seem to hold under GCC 3.2.1. On my machine _without_ the Bug 7573 patch: [code]# ldd /usr/lib/libsmpeg-0.4.so.0 libSDL-1.2.so.0 => /usr/lib/libSDL-1.2.so.0 (0x4006f000) libpthread.so.0 => /lib/libpthread.so.0 (0x400e2000) libstdc++.so.5 => /usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.1/libstdc++.so.5 (0x40132000) libm.so.6 => /lib/libm.so.6 (0x401ff000) libc.so.6 => /lib/libc.so.6 (0x40222000) libgcc_s.so.1 => /usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.1/libgcc_s.so.1 (0x40350000) libasound.so.2 => /usr/lib/libasound.so.2 (0x40358000) libdl.so.2 => /lib/libdl.so.2 (0x403e5000) libartsc.so.0 => /usr/kde/3/lib/libartsc.so.0 (0x403e8000) libesd.so.0 => /usr/lib/libesd.so.0 (0x403ee000) libaudiofile.so.0 => /usr/lib/libaudiofile.so.0 (0x403f6000) libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x4041e000) libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x404fe000) libvga.so.1 => /usr/lib/libvga.so.1 (0x4050f000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000) # qpkg -I -v gcc sys-devel/gcc-3.2.1 * # qpkg -I -v smpeg media-libs/smpeg-0.4.4-r4 * # emerge info Portage 2.0.46-r4 (default-x86-1.4, gcc-3.2.1, glibc-2.3.1-r2) ================================================================= System uname: 2.4.20 i686 AMD Athlon(TM) XP 2400+ USE="x86 oss 3dnow apm avi crypt cups encode gif jpeg gnome libg++ mikmod mmx mpeg ncurses nls pdflib png qtmt quicktime spell truetype xml2 xmms xv zlib alsa gdbm berkdb slang readline arts tetex svga java X sdl gpm tcpd pam libwww ssl perl python esd imlib oggvorbis gtk qt kde motif opengl mozilla cdr tcltk" ARCH="x86" COMPILER="gcc3" CHOST="i686-pc-linux-gnu" CFLAGS="-mcpu=athlon-xp -O3 -pipe" CXXFLAGS="-mcpu=athlon-xp -O3 -pipe" ACCEPT_KEYWORDS="x86" CONFIG_PROTECT="/etc /var/qmail/control /usr/share/config /usr/kde/2/share/config /usr/kde/3/share/config /usr/X11R6/lib/X11/xkb:/usr/kde/3/share/config:/usr/share/config" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" MAKEOPTS="-j2" JDK_HOME="/opt/sun-jdk-1.4.1.01" JAVA_HOME="/opt/sun-jdk-1.4.1.01" AUTOCLEAN="yes" SYNC="rsync://ptolemy/gentoo-portage" GENTOO_MIRRORS="http://www.ibiblio.org/pub/Linux/distributions/gentoo" So all is well. The library shows none of the unresolved symbols the bug talks of.
i was able to build it with gcc-3.2.3
seems to work -> close
Created attachment 16874 [details] error log emerge of smpeg using the new ebuild and the patch does not work here. # gcc -v gcc version 3.2.3 20030422 (Gentoo Linux 1.4 3.2.3-r1, propolice)
your problem is unrelated to a gcc bug, you're probably missing a few sdl libraries make a new bug if you cant track it down