Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 74844 - frozen-bubble-1.0.0-r4 no HASH reference, line 215
Summary: frozen-bubble-1.0.0-r4 no HASH reference, line 215
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Games (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo Games
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-12-18 09:44 UTC by N Addy
Modified: 2005-05-08 21:22 UTC (History)
9 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
patches frozen-bubble-client correctly (frozen-bubble-1.0.0-r4.ebuild,2.60 KB, text/plain)
2005-02-17 01:21 UTC, René Nussbaumer (RETIRED)
Details
Fix the new get_sound subroutine to handle SDL:: object types (frozen-bubble_background_music.patch,385 bytes, patch)
2005-04-03 00:57 UTC, Jason Bucata
Details | Diff
patch to make frozen-bubble work with sdl-perl-2.1.2-r1 (frozen-bubble_sdl-perl-2.patch,484 bytes, patch)
2005-04-03 03:21 UTC, Jason Bucata
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description N Addy 2004-12-18 09:44:32 UTC
$ /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"
Comment 1 Kenton Groombridge 2004-12-18 16:23:37 UTC
I have this same problem.  Not sure what else I can add other to let you know it isn't an issolated problem.
Comment 2 SpanKY gentoo-dev 2004-12-18 19:30:33 UTC
i'm pretty sure it's a sdl-perl-2.x bug

if you downgrade to sdl-perl-1.x, things should work fine
Comment 3 N Addy 2004-12-18 19:42:22 UTC
Confirmed.  Downgrading to sdl-perl-1.20.3 worked.  Thanks!
Comment 4 fraenhawk 2004-12-21 13:19:34 UTC
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.
Comment 5 Mark R. Pariente 2004-12-21 21:57:49 UTC
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.
Comment 6 SpanKY gentoo-dev 2005-01-07 21:19:21 UTC
*** Bug 77014 has been marked as a duplicate of this bug. ***
Comment 7 SpanKY gentoo-dev 2005-01-21 06:13:44 UTC
*** Bug 78919 has been marked as a duplicate of this bug. ***
Comment 8 SpanKY gentoo-dev 2005-01-21 06:14:20 UTC
*** Bug 78918 has been marked as a duplicate of this bug. ***
Comment 9 Michael Hanselmann (hansmi) (RETIRED) gentoo-dev 2005-02-17 01:07:32 UTC
Reopening for Ren
Comment 10 Michael Hanselmann (hansmi) (RETIRED) gentoo-dev 2005-02-17 01:07:32 UTC
Reopening for René. See his comment below.
Comment 11 René Nussbaumer (RETIRED) gentoo-dev 2005-02-17 01:21:51 UTC
Created attachment 51408 [details]
patches frozen-bubble-client correctly
Comment 12 René Nussbaumer (RETIRED) gentoo-dev 2005-02-17 01:22:20 UTC
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.
Comment 13 SpanKY gentoo-dev 2005-03-19 13:11:45 UTC
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 ?
Comment 14 SpanKY gentoo-dev 2005-03-28 18:40:27 UTC
*** Bug 86930 has been marked as a duplicate of this bug. ***
Comment 15 Jason Bucata 2005-04-03 00:57:46 UTC
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.
Comment 16 Jason Bucata 2005-04-03 01:33:12 UTC
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.
Comment 17 Jason Bucata 2005-04-03 03:21:30 UTC
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.
Comment 18 SpanKY gentoo-dev 2005-04-03 10:14:20 UTC
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 ...
Comment 19 Jason Bucata 2005-04-03 13:59:29 UTC
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.
Comment 20 Jason Bucata 2005-04-03 14:01:00 UTC
Oh, wait, you *are* one of the Gentoo devs! :)  Mentally sed the previous comment as applicable ;).
Comment 21 opello@opello.org 2005-05-02 15:10:15 UTC
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).
Comment 22 SpanKY gentoo-dev 2005-05-07 22:05:58 UTC
*** Bug 90335 has been marked as a duplicate of this bug. ***
Comment 23 Thomas 2005-05-07 23:48:22 UTC
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.
Comment 24 SpanKY gentoo-dev 2005-05-08 20:23:24 UTC
*** Bug 91865 has been marked as a duplicate of this bug. ***
Comment 25 SpanKY gentoo-dev 2005-05-08 21:22:10 UTC
1.0.0-r5 now works with sdl-perl-1.x and sdl-perl-2.x