Summary: | frozen-bubble-1.0.0-r4 no HASH reference, line 215 | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | N Addy <quantumdigit> |
Component: | [OLD] Games | Assignee: | Gentoo Games <games> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | b.eggleston, gentoobugs, jlp.bugs, killerfox, patrizio.bassi, rotech, sanmail, sebastian_ml, tech31842 |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
patches frozen-bubble-client correctly
Fix the new get_sound subroutine to handle SDL:: object types patch to make frozen-bubble work with sdl-perl-2.1.2-r1 |
Description
N Addy
2004-12-18 09:44:32 UTC
I have this same problem. Not sure what else I can add other to let you know it isn't an issolated problem. i'm pretty sure it's a sdl-perl-2.x bug if you downgrade to sdl-perl-1.x, things should work fine Confirmed. Downgrading to sdl-perl-1.20.3 worked. Thanks! Actually, I think there's a more logical approach than downgrading. If you go to www.frozen-bubble.org and look at the troubleshooting, there is a patch that addresses the HASH issue. That patch is sort of in the ebuild (1.0.0-fb-sdlperl-deb.patch) but only 2/3rds of it. It looks like they've already adrressed this by updating their patch, but the one in the ebuild is out of date (5/31/04 vs 9/9/04). Can anyone take a shot at updating the ebuild to include the newer patch? I'd like to test this myself but not sure if just subbing the text into the same patch would work - I'm not that knowledgeable about this stuff. The patch in frozen-bubble.org troubleshooting section: http://www.frozen-bubble.org/perl-SDL.patch is not about line 215, it works on line 310 and so forth. I still have this with sdl-perl-2.1.2-r1 and frozen-bubble-1.0.0-r4. I think this bug should be reopened, or the frozen-bubble ebuild should explicitly cause sdl-perl 1.x to be installed slotted. If that is not possible, short of some patch to make frozen-bubble play nicely with sdl-perl-2.1.2, it should block on >=sdl-perl-2. *** Bug 77014 has been marked as a duplicate of this bug. *** *** Bug 78919 has been marked as a duplicate of this bug. *** *** Bug 78918 has been marked as a duplicate of this bug. *** Reopening for Ren Reopening for René. See his comment below. Created attachment 51408 [details]
patches frozen-bubble-client correctly
frozen-bubble-client has this bug also. In the ebuild theres a rm command which deletes the patched file not the symlink, because patch links frozen-bubble.orig (because of hunks) to frozen-bubble-client and make frozen-bubble (which was originally linked to frozen-bubble-client) a regular file. In the ebuild the rm command deletes frozen-bubble, but it needs to move them to frozen-bubble-client. I have add the patched ebuild. the patch was incomplete (didnt handle sound hashes) so i updated it and added it to portage i dont think frozen-bubble *quite* works with sdl-perl-2 still considering it bombs on my box while trying to start a game: Undefined subroutine &main::SDL_TEXTWIDTH called at ./frozen-bubble line 910. someone with perl skillz feel like investigating this ? *** Bug 86930 has been marked as a duplicate of this bug. *** Created attachment 55164 [details, diff]
Fix the new get_sound subroutine to handle SDL:: object types
I was getting a problem about SCALAR references on line 169, which is in the
subroutine you added in your patch. This patch will fix it, including
restoring the background music that other bugs (marked as dupes of this)
complained was missing.
However, as I just found, the original patch is 100% correct in that regard if I move to the ~x86 version of sdl-perl (2.1.2-r1). So ignore that patch iff 2.1.1 will be stable soon. And speaking of which, I do have some "perl skillz" and I'm going to poke at the problem with SDL_TEXTWIDTH for a bit--it reproduced for me right away. Created attachment 55167 [details, diff]
patch to make frozen-bubble work with sdl-perl-2.1.2-r1
The change that appeared to break things is that SDL_TEXTWIDTH is no longer
exported by any of the packages that are used at the top of the file. This
adds a thunk to call the correct sub. It should be equally feasible to replace
each occurrence of SDL_TEXTWIDTH with the more direct call, but that's
something for upstream to worry about IMPO.
SDL::SFont isn't directly use'd at the top, but it's brought in via SDL::Font.
I don't know if proper Perl style would require me to use SDL::SFont at the top
explicitly. Again, that's something for upstream.
I've played it a bit and it's worked fine for me so far. I may have to indulge
in some more extensive regression testing at another time ;). I consider this
ready for an ~x86 ebuild.
fixed it for me too with sdl-perl-2.x ... when i downgrade to sdl-perl-1.x though, this mega-sdl-perl patch seems to trigger a lot of incompatibilities ... I went from ~x86 to x86 for sdl-perl and the first thing it hit was the bug that my first patch fixed. Once I applied that patch it didn't like the way my thunk was doing things--it looks like SDL_TEXTWIDTH isn't in SDL::SFont in 1.x. Those are the only problems I've encountered so far, and I don't know if that counts as "a lot of incompatibilities"--IOW, that's exactly what I'd expect to see. If you have different errors you might post them here--or maybe the Gentoo devs would prefer a different bug for that. If your comment was that frozen-bubble should be able to work with either major version of the libraries, library developers like to make major interface changes across major version number changes, so breakage like we're seeing here doesn't surprise me in the least. It doesn't seem like it would be a big deal to support both versions, in this particular scenario, but IMHO that's a decision for upstream: It's perfectly reasonable to me that the new version of frozen-bubble would require the new version of sdl-perl. Oh, wait, you *are* one of the Gentoo devs! :) Mentally sed the previous comment as applicable ;). Don't quite know if it goes here, but in playing with frozen-bubble-1.0.0-r4 with sdl-perl-1.20.3-r1, I was getting a 'Not a SCALAR reference at /usr/games/bin/frozen-bubble line 169.' which I fixed by changing 'return $$sound' to 'return $sound' on the referenced line. Then I was getting 'Undefined subrouting &SDL::SFont::SDL_TEXTWIDTH called at /usr/games/bin/frozen-bubble line 238.' which I fixed by commenting out the function found there (there's even a comment above it that suggests that sdl should export it ... apparently they do now). *** Bug 90335 has been marked as a duplicate of this bug. *** the problem in bug #90335 wass still present for me, shouldn't we re-open it? I also attached two patches to #90335 for fixing the problem. *** Bug 91865 has been marked as a duplicate of this bug. *** 1.0.0-r5 now works with sdl-perl-1.x and sdl-perl-2.x |