$ /usr/games/bin/frozen-bubble [[ 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] Not a HASH reference at /usr/games/bin/frozen-bubble line 215. Addicted for 0s. Reproducible: Always Steps to Reproduce: 1. Launch '/usr/games/bin/frozen-bubble' 2. 3. Actual Results: Crashes with msg "Not a HASH reference at /usr/games/bin/frozen-bubble line 215." Expected Results: Game should run. The following versions are installed: perl-5.8.6-r1 libsdl-1.2.8 sdl-image-1.2.4 sdl-ttf-2.0.7 sdl-net-1.2.5 sdl-perl-2.1.2 sdl-mixer-1.2.5-r1 Launching the game with -ns switch also fails when I select 'Start 1P Game'. The message returned reads "Undefined subroutine &main::SDL_TEXTWIDTH called at /usr/games/bin/frozen-bubble line 887." [~]# emerge info Portage 2.0.51-r8 (default-linux/x86/2004.0, gcc-3.4.3, glibc-2.3.4.20041102-r0, 2.6.9-ck3 i686) ================================================================= System uname: 2.6.9-ck3 i686 Intel(R) Pentium(R) 4 CPU 2.40GHz Gentoo Base System version 1.6.8 Python: dev-lang/python-2.2.3-r5,dev-lang/python-2.3.4 [2.3.4 (#1, Jun 5 2004, 00:28:26)] dev-lang/python: 2.2.3-r5, 2.3.4 sys-devel/autoconf: 2.59-r6, 2.13 sys-devel/automake: 1.8.5-r2, 1.5, 1.4_p6, 1.6.3, 1.7.9, 1.9.3 sys-devel/binutils: 2.15.92.0.2-r2 sys-devel/libtool: 1.5.10-r2 virtual/os-headers: 2.6.8.1-r1 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-march=i686 -O3 -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.1/share/config /usr/kde/3.2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3/share/config /usr/lib/mozilla/defaults/pref /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=i686 -O3 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig ccache distlocks sandbox sfperms" 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="" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X alsa apm arts avi berkdb bitmap-fonts cdr crypt cups emacs encode esd f77 fam foomaticdb fortran gdbm gif gnome gphoto2 gpm gstreamer gtk gtk2 imagemagick imlib java jpeg junit libg++ libwww mad mikmod motif mozilla mpeg mysql ncurses nls odbc oggvorbis opengl oss pam pdflib perl png postgres python quicktime readline ruby sdl session slang spell ssl svga tcltk tcpd tetex tiff truetype x86 xml xml2 xmms xv zlib"
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