This is the output i get from emerge -va pygame. I've got SDL as well ass sdl-image, sdl-ttf and sdl-mixer installed. This all happened when upgrading to python-2.4. The reason why i use pygame-1.6 is because >= 1.6 doesn't compile. (http://bugs.gentoo.org/show_bug.cgi?id=89486). --- root@starserver /home/moonlite # emerge -va pygame These are the packages that I would merge, in order: Calculating dependencies ...done! [ebuild R ] dev-python/pygame-1.6 0 kB Total size of downloads: 0 kB Do you want me to merge these packages? [Yes/No] y >>> emerge (1 of 1) dev-python/pygame-1.6 to / >>> md5 files ;-) pygame-1.5.5.ebuild >>> md5 files ;-) pygame-1.6.ebuild >>> md5 files ;-) pygame-1.7.1.ebuild >>> md5 files ;-) pygame-1.6.2.ebuild >>> md5 files ;-) pygame-1.5.3.ebuild >>> md5 files ;-) pygame-1.5.6.ebuild >>> md5 files ;-) files/digest-pygame-1.5.6 >>> md5 files ;-) files/digest-pygame-1.6 >>> md5 files ;-) files/digest-pygame-1.6.2 >>> md5 files ;-) files/digest-pygame-1.5.5 >>> md5 files ;-) files/digest-pygame-1.5.3 >>> md5 files ;-) files/digest-pygame-1.7.1 >>> md5 src_uri ;-) pygame-1.6.tar.gz >>> Unpacking source... >>> Unpacking pygame-1.6.tar.gz to /var/tmp/portage/pygame-1.6/work >>> Source unpacked. WARNING, No "Setup" File Exists, Running "config.py" Using UNIX configuration... Hunting dependencies... SDL : found 1.2.8 FONT : not found IMAGE : not found MIXER : not found SMPEG : found 0.4.4 NUMERIC : found 23.1 Warning, some of the pygame dependencies were not found. Pygame can still compile and install, but games that require on those missing dependencies will not run. Would you like to continue the configuration? [Y/n]: ---- root@starserver /home/moonlite # emerge info Portage 2.0.51.22-r3 (default-linux/x86/2005.0, gcc-3.3.6, glibc-2.3.5-r2, 2.6.1 2-gentoo-r10 i686) ================================================================= System uname: 2.6.12-gentoo-r10 i686 AMD Athlon(tm) XP 1500+ Gentoo Base System version 1.12.0_pre8 distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disable d] dev-lang/python: 2.2.3-r5, 2.3.5-r2, 2.4.1-r1 sys-apps/sandbox: 1.2.11 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.11.92.0.12.3-r2, 2.15.92.0.2-r10 sys-devel/libtool: 1.5.18-r1 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-march=athlon-xp -O3 -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/ config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=athlon-xp -O3 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks sandbox sfperms strict" GENTOO_MIRRORS="http://ftp.du.se/pub/os/gentoo/" MAKEOPTS="-j1" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="x86 3dnow 3dnowext alsa apm avi bash-completion berkdb bitmap-fonts cdr cry pt curl dba directfb dvd dvdread eds emboss encode fam fbcon flac foomaticdb for tran gd gdbm gpm gstreamer guile imagemagick imlib ipv6 java javascript joystick jpeg libg++ libmpeg3 libwww lirc live mad matrox mikmod mmx mmx2 mmxext mp3 mpe g mysql ncurses nls nntp nptl nptlonly ogg oggvorbis oss pam perl png python qui cktime readline sdl slang spell sse ssl svga tcltk tcpd tiff truetype truetype-f onts type1-fonts v4l v4l2 vorbis win32codecs xml xml2 xmms xv zlib video_cards_m atrox userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS
Setting LOCALBASE=/usr/ did the trick: LOCALBASE=/usr/ emerge -va pygame Apparently pygame searched for sdl_image etc in /usr/local.
This bug occurs because sdl-config is patched to not output -L on sdl-config --libs. PyGame may be a bit picky here, but IMHO the patch is useless. Can anyone explain the reason for it? In /usr/portage/media-libs/libsdl/files/libsdl-1.2.8-sdl-config.patch it says: ------------ Only output -L -rpath cruft if using a non-standard install location. Makes ABI / cross-compiling easier on the soul. ------------ Why does that make it easier? And why break compatibility and common sense? Every other *-config outputs -L on --libs.
Recently I built pygame-1.6.2 on x86 arch and the problem seemed to be solved. Still having this problem with pygame-1.6 on amd64 arch though. Note that amd64 is the only arch on which pygame-1.6.2 is not marked stable yet. Can anyone confirm that this bug is solved in pygame-1.6.2? And, what is holding pygame-1.6.2 from being marked stable on amd64?
I just experienced the problem with pygame-1.6 on amd64 when trying to emerge monsterz. Using pygame-1.6.2 solved the issue.
(In reply to comment #1) > Setting LOCALBASE=/usr/ did the trick: > LOCALBASE=/usr/ emerge -va pygame > > Apparently pygame searched for sdl_image etc in /usr/local. > > On a side note this actually fixed 1.6 on my AMD64 system. I caught a problem in the config_unix.py script where on my system it had figured out exactly the right place to look for SDL_ttf.h but for some reason the code had g litched out and was looking for libSDL_ttf.so in...nowhere...the variable that stored the directory to look for that file was empty. Maybe just a patch to config_unix.py ?
"LOCALBASE=/usr/ emerge -va pygame" let pygame 1.6 install on amd64, however pydance fails for me (at runtime) with an error suggesting pygame atill can't find the libraries or something: sdl-ttf is quite definately installed. $ pydance 0 joystick(s) found. pydance 1.0.3 <pyddr-discuss@icculus.org> - irc.freenode.net/#pyddr W: Psyco optimizing compiler not found. Searching for songs in /usr/share/games/pydance/songs Searching for songs in ~/.pydance/songs Searching for songs in /usr/local/share/games/pydance/songs Searching for courses in /usr/share/games/pydance/courses Searching for courses in ~/.pydance/courses Searching for courses in /usr/local/share/games/pydance/courses Traceback (most recent call last): File "./pydance.py", line 205, in ? if __name__ == '__main__': main() File "./pydance.py", line 159, in main songs = load_files(screen, song_list, "songs", SongItem, (False,)) File "./pydance.py", line 86, in load_files pbar = TextProgress(FONTS[60], message, colors.WHITE, colors.BLACK) File "/usr/share/games/pydance/fontfx.py", line 147, in __init__ self.text = font.render(message, False, [255, 0, 0], self.notcolor) pygame.error: SDL_ttf render failed solarwolf also fails with a pygame error: $ solarwolf Traceback (most recent call last): File "./solarwolf.py", line 192, in ? if __name__ == '__main__': main() File "./solarwolf.py", line 59, in main exception_handler() File "./solarwolf.py", line 49, in main main.main(sys.argv) File "/usr/games/lib/solarwolf/code/main.py", line 18, in main gamemain(args) File "/usr/games/lib/solarwolf/code/main.py", line 70, in gamemain handler.starting() File "/usr/games/lib/solarwolf/code/gamemenu.py", line 108, in starting snd.playmusic('aster2_sw.xm') File "/usr/games/lib/solarwolf/code/snd.py", line 84, in playmusic music.load(fullname) pygame.error: Unrecognized music format pygame 1.7.1 (~amd64) compiles fine, but does not fix these errors.
i think games herd might be interested to see this or reproduce it?
I encounted this bug too on my amd64 system, with pygame 1.6. Emerging the unstable (~amd64) version, which is 1.7.1 at this time, solved this problem, as it found all the .so's that are listed as not found (as per the original posters comments), as thus games that require the other parts, work now. It would seem that 1.6.2 needs to be marked stable on amd64, to solve the problem? (others in this thread have said 1.6.2 solves this problem).
pygame-1.6.2 is marked stable, for me the problem is solved
indeed, can be closed