Summary: | dev-perl/sdl-perl broken with mpeg flag and old libraries in /usr/local/lib | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Mark Purtill <gentoo> |
Component: | [OLD] Games | Assignee: | Gentoo Games <games> |
Status: | RESOLVED INVALID | ||
Severity: | normal | ||
Priority: | High | ||
Version: | 2006.1 | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
Mark Purtill
2006-10-31 23:20:26 UTC
has nothing to do with frozen-bubble re-emerge sdl-perl I did, repeatedly. (Sorry for multiple comments; somehow the last one posted before I finished.) In fact, sdl-perl wasn't emerged at all before I tried emerging frozen-bubble. I also tried unemerging sdl-perl and re-emerging it from scratch, and that didn't help either. If this is a sdl-perl problem, feel free to re-assign as appropriate. then try re-emerging libsdl/smpeg I tried re-emerging libsdl/smpeg, along with all the sld libraries; that had no effect. I also tried revdep-rebuild and perl-clean, neither of which did anything. Finally, I unemerged perl and all the modules and removed /usr/lib/perl5, and re-emerged them all. That also had no effect. Meanwhile, on another (virtual) machine I have access to, I tried emerging frozen-bubble, and it worked fine. After playing around I little, I found that if I emerge -C smpeg and turn off the mpeg flag ("dev-perl/sdl-perl -mpeg" in /etc/portage/package.use) and re-emerge sdl-perl, then "perl -e 'use SDL'" works and I can emerge frozen-bubble. (I suspect the mpeg flag is off on the virtual machine where the compilation works, but it's behind a firewall so I can't check now.) I also find that if smpeg is installed when sdl-perl is emerged, then "perl -e 'use SDL'" gives the SMPEG_playAudioSDL not found error, even with the mpeg flag off. (If the flag is on, then libsdl/smpeg is merged anyway.) Finally, after all that, frozen_bubble crashes with the error: [[ Frozen-Bubble-1.0.0 ]] http://www.frozen-bubble.org/ Copyright (c) 2000, 2001, 2002, 2003 Guillaume Cottenceau. Artwork: Alexis Younes <73lab at free.fr> Amaury Amblard-Ladurantie <amaury at linuxfr.org> Soundtrack: Matthias Le Bidan <matthias.le_bidan at caramail.com> Design & Programming: Guillaume Cottenceau <guillaume.cottenceau at free.fr> Level Editor: Kim and David Joham <[k|d]joham at yahoo.com> Sponsored by MandrakeSoft <http://www.mandrakesoft.com/> This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2, as published by the Free Software Foundation. [SDL Init] [Graphics...] [Levels] [Sound Init] Ready. /usr/bin/perl: symbol lookup error: /usr/lib/perl5/site_perl/5.8.8/i686-linux/auto/fb_c_stuff/fb_c_stuff.so: undefined symbol: Mix_FadeInMusicPos That may be another bug, but it may be another manifestation of the same problem. (BTW, it doesn't happen on that virtual machine I mentioned, but that's got no sound at all.) just curious if it works with sdl-perl-1.20.3-r1 The compilation works okay, despite the presence of smpeg. But running frozen-bubble gets the same error about Mix_FadeInMusicPos. what does `emerge libsdl -pv` show how about: readelf -s /usr/lib/libSDL_mixer.so | grep Fade readelf -s /usr/lib/libsmpeg.so | grep playAudio readelf -d /usr/lib/perl5/vendor_perl/5.8.8/i686-linux/auto/SDL_perl/SDL_perl.so readelf -d /usr/lib/perl5/vendor_perl/5.8.8/i686-linux/auto/SDL_perl/SDL_perl.so did the trick; it showed that SDL_perl was picking up some old sdl and smpeg libraries in /usr/local/lib/; deleting them fixed both problems. I've updated the summary and mark as INVALID. (But if anyone knows how to prevent the emerge from looking at /usr/local/lib, please let me know.) the answer is: dont put things in /usr/local the compiler is supposed to look there by design so that people can put their own modifications without screwing with /usr |