So I haven't figured out 100% why this is happening, though it is likely that it is due to glibc 2.2 and glibc 2.3, but using the libsmpeg that comes from lib-compat on amd64 makes descent3 work on amd64. Using the one from the emul-linux-x86-sdl causes an immediate error. $ descent3 SIGNAL 11 caught, aborting I've tried to debug this as best I can, and all I can come up with is that it must be the glibc that the libsmpeg was built against. This is the working one from lib-compat: $ ldd libsmpeg-0.4.so.0.dummy linux-gate.so.1 => (0xffffe000) libSDL-1.2.so.0 => /emul/linux/x86/usr/lib/libSDL-1.2.so.0 (0x555c4000) libpthread.so.0 => /lib32/tls/libpthread.so.0 (0x55622000) libstdc++-libc6.2-2.so.3 => /emul/linux/x86/usr/lib/libstdc++-libc6.2-2.so.3 (0x55634000) libm.so.6 => /lib32/tls/libm.so.6 (0x55688000) libc.so.6 => /lib32/tls/libc.so.6 (0x556ab000) libdl.so.2 => /lib32/libdl.so.2 (0x557c2000) libX11.so.6 => /emul/linux/x86/usr/lib/libX11.so.6 (0x557c7000) libXext.so.6 => /emul/linux/x86/usr/lib/libXext.so.6 (0x55891000) /lib/ld-linux.so.2 (0x56555000) This is the one from emul-linux-x86-sdl: $ ldd /emul/linux/x86/usr/lib/libsmpeg-0.4.so.0.1.3 linux-gate.so.1 => (0xffffe000) libSDL-1.2.so.0 => /emul/linux/x86/usr/lib/libSDL-1.2.so.0 (0x555c4000) libpthread.so.0 => /lib32/tls/libpthread.so.0 (0x55622000) libm.so.6 => /lib32/tls/libm.so.6 (0x55634000) libstdc++.so.5 => /emul/linux/x86/usr/lib/libstdc++.so.5 (0x55657000) libc.so.6 => /lib32/tls/libc.so.6 (0x5570a000) libdl.so.2 => /lib32/libdl.so.2 (0x55821000) libX11.so.6 => /emul/linux/x86/usr/lib/libX11.so.6 (0x55826000) libXext.so.6 => /emul/linux/x86/usr/lib/libXext.so.6 (0x558f0000) /lib/ld-linux.so.2 (0x56555000) libgcc_s.so.1 => /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.4/32/libgcc_s.so.1 (0x558fe000) Now, I currently have a lib-compat-loki package, in which I have some libraries (which I am now feeling are redundant, but I'll worry about that myself) that I used for heroes3 and smac. Should I add this library to that package, or would it be best to either fix lib-compat to be usable on amd64, or to update the software in the emul-linux-x86-* packages to make it work with these older binaries? Personally, I think the emul-linux-x86-* packages should be fixed.
For me the emerge fails on configure (AMD64): >>> emerge (1 of 5) media-libs/smpeg-0.4.4-r7 to / . . . creating libtool updating cache ./config.cache loading cache ./config.cache checking for a BSD compatible install... /bin/install -c checking for socklen_t... yes checking for sdl-config... /usr/bin/sdl-config checking for SDL - version >= 1.2.0... no *** Could not run SDL test program, checking why... Just dies like that. Any way I can can help to test some? My emerge info: Portage 2.0.53_rc7 (default-linux/amd64/2005.1, gcc-3.4.4, glibc-2.3.5-r3, 2.6.14-gentoo-r2 x86_64) ================================================================= System uname: 2.6.14-gentoo-r2 x86_64 AMD Athlon(tm) 64 Processor 3000+ Gentoo Base System version 1.12.0_pre10 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.2 sys-apps/sandbox: 1.2.13 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-r1 sys-devel/binutils: 2.16.1 sys-devel/libtool: 1.5.20-r1 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" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib64/mozilla/defaults/pref /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=athlon64 -O2 -pipe -ftracer -fno-ident -fvisibility-inlines-hidden -fno-enforce-eh-specs" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig ccache distcc distlocks 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_TMPDIR="/usr/portage/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage /usr/local/gentopia" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="amd64 X acpi aim apache2 audiofile avi berkdb bitmap-fonts bluetooth browserplugin bzip2 cairo calendar cdparanoia cdr crypt cups curl dga dio directfb divx4linux doc dri dvd dvdr eds emboss encode exif expat fam fbcon ffmpeg fftw foomaticdb fortran gdbm gif glut glx gnome gphoto2 gpm gstreamer gtk gtk2 hal icq idn imagemagic imagemagick imlib ipv6 jabber java jpeg junit lcms lzw lzw-tiff mime mng mono mozilla mp3 mpeg msn ncurses nls nptl nsplugin offensive ogg oggvorbis opengl oscar pam pdflib perl png python quicktime readline ruby samba sdl spell sqlite ssl svg tcpd theora tiff truetype truetype-fonts type1-fonts udev unicode usb userlocales v4l vorbis wmf xml2 xpm xv xvid yahoo zlib userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LDFLAGS, LINGUAS
I just added the older libsmpeg to lib-compat-loki and will used that for both x86 and amd64.