Summary: | frozen-bubble versus perl 5.8.1 emerge/run failures. | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Daan Willems <d3vlin> |
Component: | [OLD] Games | Assignee: | Gentoo Games <games> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | b.eggleston, fhellmuth, perl |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | x86 | ||
OS: | Linux | ||
URL: | http://forums.gentoo.org/viewtopic.php?t=94588 | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: | A patch to fix the filledpie* typos in SDL-Perl |
Emerging of the games-arcade/frozen-bubble-1.0.0-r2.ebuild fails, on my system with sys-devel/libperl-5.8.1 (gcc 3.3.1-r4, glibc 2.3.2-r1) installed, as follows:
>>> Source unpacked.
Can't load '/usr/lib/perl5/site_perl/5.8.0/i686-linux/auto/SDL_perl/SDL_perl.so' for module SDL_perl: libSDL_gfx.so.0: cannot open shared object file: No such file or directory at /usr/lib/perl5/5.8.1/i686-linux/DynaLoader.pm line 229.
at /usr/lib/perl5/site_perl/5.8.0/i686-linux/SDL.pm line 9
Compilation failed in require at /usr/lib/perl5/site_perl/5.8.0/i686-linux/SDL.pm line 9.
BEGIN failed--compilation aborted at /usr/lib/perl5/site_perl/5.8.0/i686-linux/SDL.pm line 9.
Compilation failed in require at -e line 1.
BEGIN failed--compilation aborted at -e line 1.
*** I need perl-SDL installed
make: *** [dirs] Error 1
!!! ERROR: games-arcade/frozen-bubble-1.0.0-r2 failed.
!!! Function src_compile, Line 35, Exitcode 2
!!! (no error message)
When symlinking
ln -s /usr/lib/libSDL_gfx.so.8 /usr/lib/libSDL_gfx.so.0
the ebuild completes flawless.
Upon running, the game fails with errors stating that it's unable to find certain (perl related) files.
Can't locate fb_stuff.pm in @INC (@INC contains: /etc/perl /usr/lib/perl5/site_perl/5.8.1/i686-linux /usr/lib/perl5/site_perl/5.8.1 /usr/lib/perl5/site_perl/5.8.0/i686-linux /usr/lib/perl5/site_perl/5.8.0 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.1/i686-linux /usr/lib/perl5/vendor_perl/5.8.1 /usr/lib/perl5/vendor_perl/5.8.0/i686-linux /usr/lib/perl5/vendor_perl/5.8.0 /usr/lib/perl5/vendor_perl /usr/lib/perl5/5.8.1/i686-linux /usr/lib/perl5/5.8.1 /usr/local/lib/site_perl /usr/lib/perl5/site_perl/5.8.0/i686-linux /usr/lib/perl5/site_perl/5.8.0 .) at /usr/games/bin/frozen-bubble line 59.
BEGIN failed--compilation aborted at /usr/games/bin/frozen-bubble line 59.
The requested file resides in /usr/games/lib/perl5/site_perl/5.8.1/i686-linux/fb_stuff.pm, which is not in the game's @INC. After symlinking this file similar failures occur. My guess is that frozen-bubble doesn't know how to handle the installment of libperl-5.8.1
run this: emerge `qpkf -f -nc /usr/lib/perl5/site_perl/5.8.0` rm -rf /usr/lib/perl5/site_perl/5.8.0 (assuming of course you yourself havent placed anything into that directory) then `emerge frozen-bubble` should work The frozen-bubble ebuild seems not prepared for media-libs/sdl-gfx-2.0.8 (including /usr/lib/libSDL_gfx.so.8.0.0) because it wants /usr/lib/libSDL_gfx.so.0 from media-libs/sdl-gfx-2.0.3; I guess therefore symlinking ln -s /usr/lib/libSDL_gfx.so.8 /usr/lib/libSDL_gfx.so.0 fixed by build. Then the frozen bubble program @INC doesn't seem to know about perl 5.8.1 putting files in /usr/games/lib/perl5/site_perl/5.8.1/i686-linux/ (it needs for example fb_stuff.pm and fb_c_stuff.pm). I found out that /etc/perl was not used on my system while it is frozen-bubble's @INC list; so I symlinked a very nasty ln -s /usr/games/lib/perl5/site_perl/5.8.1/i686-linux/ /etc/perl but frozen-bubble launched straight away... After running the options menu the game still crashes when triggering 1player game: [SDL Init] [Graphics...] [Levels] mcop warning: user defined signal handler found for SIG_PIPE, overriding [Sound Init] Ready. Illegal instruction As reaction to SpanKY: emerge `qpkf -f -nc /usr/lib/perl5/site_perl/5.8.0` (I took it as qpkg?) dropped out after 12 of the 21 emerges, stating: --- !found obj /usr/doc/PDL-2.4.0/html/PDL/API.html --- !found dir /usr/doc/PDL-2.4.0/html/PDL --- !mtime obj /usr/bin/pptemplate --- !mtime obj /usr/bin/perldl --- !mtime obj /usr/bin/pdldoc <<< dir /usr/doc/PDL-2.4.0/html <<< dir /usr/doc/PDL-2.4.0 Traceback (most recent call last): File "/usr/bin/emerge", line 2149, in ? mydepgraph.merge(mydepgraph.altlist()) File "/usr/bin/emerge", line 1394, in merge if not unmerge("clean", [xsplit[0]]): File "/usr/bin/emerge", line 1599, in unmerge retval=portage.unmerge(mysplit[0],mysplit[1],portage.root,unmerge_action not in ["clean","prune"]) File "/usr/lib/python2.2/site-packages/portage.py", line 1945, in unmerge mylink.unmerge(trimworld=mytrimworld) File "/usr/lib/python2.2/site-packages/portage.py", line 4526, in unmerge if len(objld)>0: TypeError: len() of unsized object emerge 1.0.0-r3 and you should be all set I compiled frozen-bubble on my 2 gentoo systems; on the first (P4 - 2.8Ghz, ACCEPT_KEYWORDS="~x86", -march=pentium3 -O3) the new frozen-bubble 1.0.0-r3 compiled straight away (GCC 3.3.1-r4, perl 5.8.1, sdl-gfx 2.0.8 ) but I run into this 'illiegal instruction' when trying to run the game. on the second (AMD XP1800+, ACCEPT_KEYWORDS="~x86", -march=athlon-xp -O3) the new frozen-bubble 1.0.0-r3 wouldn't compile before I symlinked /usr/lib/libSDL_gfx.so.8.0.0 to /usr/lib/libSDL_gfx.so.8.0.0 (GCC 3.3.1-r4, perl 5.8.1, sdl-gfx 2.0.8 ) but the game runs flawless. i.e. the bug seems solved for my P4 system, but not for the AMD box; while the problem stated in http://bugs.gentoo.org/show_bug.cgi?id=30643 seems to occur only on the P4 system. well considering that the original bug this was made for is fixed, we'll leave this bug as FIXED ... after all your new bug is unrelated and as such we'll handle it at Bug 30643 *** Bug 30756 has been marked as a duplicate of this bug. *** Nope, sorry. It's not quite resolved yet. I am having the same problem and the aforementioned fixes didn't work for me. I've had a similar problem like this before, and grepping out the libs tells me that the authors of SDL-Perl made a typo. Where they have 'filledpieColor' it should be 'filledPieColor'. Note the capitalization. If you grep the SDL libs, you'll note that while you can't find 'filledpieColor' you can find 'filledPieColor'. Here's a patch for all you happy people. It should finally fix the dastardly problem once and for all. (By the way, this problem occurs with SDL-Perl 1.20.3, which, on my system, the Frozen Bubble ebuild emerges as a dependency.) Created attachment 50874 [details, diff]
A patch to fix the filledpie* typos in SDL-Perl
Just patch this as usual into your SDL-Perl ebuild if it suffers from the
typos. As far as I can tell, it probably does.
How do you mean "Just patch this as usual into your SDL-Perl ebuild" ? I'm not up to date with how to patch files that way... Cheers thanks Ryan Egesdahl, 1.20.3-r1 in portage now with that patch |
Emerging of the games-arcade/frozen-bubble-1.0.0-r2.ebuild fails, on my system with sys-devel/libperl-5.8.1 (gcc 3.3.1-r4, glibc 2.3.2-r1) installed, as follows: >>> Source unpacked. Can't load '/usr/lib/perl5/site_perl/5.8.0/i686-linux/auto/SDL_perl/SDL_perl.so' for module SDL_perl: libSDL_gfx.so.0: cannot open shared object file: No such file or directory at /usr/lib/perl5/5.8.1/i686-linux/DynaLoader.pm line 229. at /usr/lib/perl5/site_perl/5.8.0/i686-linux/SDL.pm line 9 Compilation failed in require at /usr/lib/perl5/site_perl/5.8.0/i686-linux/SDL.pm line 9. BEGIN failed--compilation aborted at /usr/lib/perl5/site_perl/5.8.0/i686-linux/SDL.pm line 9. Compilation failed in require at -e line 1. BEGIN failed--compilation aborted at -e line 1.