games-strategy/smac-6.0a technically runs fine, but if you run "revdep-rebuild" it will constantly try to rebuild smac. This gets annoying. The problem is the game apparently requires libSDL_ttf-2.0.so.0 Reproducible: Always Steps to Reproduce: 1. emerge games-strategy/smac-6.0a 2. run revdep-rebuild Actual Results: revdep-rebuild reports: broken /opt/smac/smac.dynamic (requires libSDL_ttf-2.0.so.0)) and tries to rebuild smac. However it doesn't change anything. Expected Results: Should have emerged media-libs/sdl-ttf Portage 2.0.51.22-r3 (default-linux/x86/2005.1, gcc-3.4.4, glibc-2.3.5-r2, 2.6.1 4-gentoo-r2 i686) ================================================================= System uname: 2.6.14-gentoo-r2 i686 Intel(R) Pentium(R) 4 CPU 1700MHz Gentoo Base System version 1.6.13 ccache version 2.3 [enabled] dev-lang/python: 2.3.5-r2, 2.4.2 sys-apps/sandbox: 1.2.12 sys-devel/autoconf: 2.13, 2.59-r6 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 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=pentium4 -pipe -ftracer -fforce-addr" 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/splash /etc/terminfo /etc/env.d" CXXFLAGS="-O2 -march=pentium4 -pipe -ftracer -fforce-addr" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig candy ccache distlocks sandbox sfperms strict" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/Linux/ distributions/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 X aac acpi alsa apm audiofile avi berkdb bitmap-fonts bzip2 cdr crypt d ivx4linux dts dvd dvdread emboss encode exif expat fam fbcon ffmpeg foomaticdb f ortran gdbm gif glut gpm gstreamer gtk gtk2 imlib ipv6 java jikes jpeg junit lcm s libg++ libwww mad matroska mikmod mmx mng motif mp3 mpeg ncurses nls nptl nspl ugin nvidia offensive ogg oggvorbis openal opengl pam pcre pdflib perl png pytho n quicktime readline real scanner sdl spell sqlite sse sse2 ssl tcpd theora tiff truetype truetype-fonts type1-fonts udev usb videos vorbis win32codecs xml xml2 xmms xv xvid zlib userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS
could you please do this: # emerge pax-utils # scanelf -Rnq /opt/smac and post the output here
(In reply to comment #1) > could you please do this: > # emerge pax-utils > # scanelf -Rnq /opt/smac > > and post the output here Sure, here you do: goliath ~ # scanelf -Rnq /opt/smac libSDL_ttf-2.0.so.0,libSDL_mixer-1.2.so.0,libsmpeg-0.4.so.0,libSDL-1.2.so.0,libpthread.so.0,libz.so.1,libfreetype.so.6,libm.so.6,libc.so.6 /opt/smac/smac.dynamic libSDL_ttf-2.0.so.0,libSDL_mixer-1.2.so.0,libsmpeg-0.4.so.0,libSDL-1.2.so.0,libpthread.so.0,libz.so.1,libfreetype.so.6,libm.so.6,libc.so.6 /opt/smac/smacx.dynamic
looks like we need more than just sdl-ttf ... we'll also need sdl-mixer, smpeg, libsdl, zlib, and freetype ... although we can get smpeg from lib-compat-loki wolf: care to add more compat libs to lib-compat-loki or just add these things to smac's RDEPEND ? also, the lib-compat-loki package in general looks a little broken ...
I have only been adding stuff to lib-compat-loki that is absolutely required when the system versions won't work. It has been working fine. What appears broken in it? At any rate, I'll check on the dependencies. I won't be able to look at this right away because it will require me to poke around with an x86 box, but I hope to get to it in the next day or so. I honestly don't know what I was thinking when I committed that ebuild to portage. I distinctly remember cleaning it up a great deal, which leads me to believe that I committed the wrong ebuild.
Created attachment 74277 [details] games-strategy/smac/smac-6.0a.ebuild Please try out this ebuild and see if it still gives you problems.
Alright. Just had to unmerge sdl-ttf to simulate the problem again. That ebuild now pulls in the missing media-libs/sdl-ttf, so revdep-rebuild won't complain anymore, unless it's removed.. If I unmerge media-libs/sdl-ttf, revdep-rebuild still fixes nothing and would just re-emerge smac (since it uses --nodep., If it didn't, it would pull in the sdl-ttf). I honestly don't know what the /opt/smac.dynamic files are for. The /usr/games/bin/smac just uses /opt/smac instead. I don't know if the game actually uses the smacx.dynamic and smac.dynamic files. Maybe it's an old loki thing and they could just be removed? The game itself appears to run fine, unless the fonts are supposed to be super anti-aliased and I'm missing something. I guess though so long as no one accidentally removes one of those dependencies after emerging smac, revdep-rebuild won't complain.
sdl-mixer is also a dependancy of smac*.dynamic on my box: simon@wh-448-smc78 /opt/smac $ ldd smac.dynamic linux-gate.so.1 => (0xffffe000) libSDL_ttf-2.0.so.0 => /usr/lib/libSDL_ttf-2.0.so.0 (0xb7faf000) libSDL_mixer-1.2.so.0 => not found libsmpeg-0.4.so.0 => /usr/lib/libsmpeg-0.4.so.0 (0xb7f58000) libSDL-1.2.so.0 => /usr/lib/libSDL-1.2.so.0 (0xb7f0a000) libpthread.so.0 => /lib/libpthread.so.0 (0xb7ef8000) libz.so.1 => /lib/libz.so.1 (0xb7ee8000) libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0xb7e86000) libm.so.6 => /lib/libm.so.6 (0xb7e64000) libc.so.6 => /lib/libc.so.6 (0xb7d50000) libstdc++.so.6 => /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/libstdc++.so.6 (0xb7c86000) libdl.so.2 => /lib/libdl.so.2 (0xb7c82000) libX11.so.6 => /usr/lib/libX11.so.6 (0xb7bd5000) libXext.so.6 => /usr/lib/libXext.so.6 (0xb7bc9000) /lib/ld-linux.so.2 (0xb7fc0000) libgcc_s.so.1 => /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/libgcc_s.so.1 (0xb7bc0000)
ldd gives a wrong picture of what libraries are directly needed by smac which is why i had Anthony run scanelf if you read all the comments, i pointed out sdl-mixer in addition to other packages already
Ehh... sdl-mixer is listed in my attached ebuild. Anthony: if you remove a package that is a dependency, you can pretty much expect revdep-rebuild to not function properly. Unfortunately, there's not much that could be done aside from either removing --nodeps from revdep-rebuild, or having it force an emerge -uND world first. As for the dynamic stuff, the primary reason for keeping it is because I am working on amd64 support. For amd64, we actually need the dynamic executables because the versions of some libraries that are linked statically in the non-dynamic versions actually do not function properly on amd64.
Oh, I thought revdep-rebuild would have fixed that. Well, that attached ebuild seems to work fine. I guess this is technically solved then, right? If you guys need me to do anything else, lemme know. :)
I'm going to install the game today using my ebuild and just check a few things, and also try to resolve bug #114871 at the same time. I'll commit this today even if I can't fix that bug, but I'd prefer to just make one commit.
I've fixed this in CVS now... enjoy...