bugLiquid War 6 - Bugs: bug #30409, Liquid war beta 0.0.8 crashes...

 
 

bug #30409: Liquid war beta 0.0.8 crashes immediately on os x 10.5.8

Submitted by:  None
Submitted on:  Sun 11 Jul 2010 04:52:24 AM UTC  
 
Category: NoneSeverity: 3 - Normal
Status: FixedPrivacy: Public
Assigned to: Christian Mauduit <ufoot>Open/Closed: Closed

Add a New Comment(Rich Markup)
   

You are not logged in

Please log in, so followups can be emailed to you.

 

Wed 14 Jul 2010 09:49:50 PM UTC, comment #5:

I think I finally got it... This proved to be harder to fix than it looked. After RTFMing for a long time I found that I needed to patch DYLD_FALLBACK_LIBRARY_PATH in order to find libjpeg and libpng but not use DYLD_LIBRARY_PATH else it would confuse the loader internally and make it load the macports version instead of the builtin OS X version for its internal framework.

Additionnally, and that was the most tricky part of it, I had to patch the game to set DYLD_FALLBACK_LIBRARY_PATH before the process is launched in the caller. This can be done in an encapsulating script but for some reason didn't work with the Bundle and additionnally I don't like the idea of a binary that requires cryptic environment vars to be runable. So I ended using execvp so that the program restarts itself with the right environment variables. And this works. Sort of ugly but it does work, at last. Dunno when 0.0.9beta will be released but it will clearly include that fix.

Christian Mauduit <ufoot>
Project AdministratorIn charge of this item.
Mon 12 Jul 2010 07:13:05 PM UTC, comment #4:

Thanks man. Take your time on that fix, you're doing some great stuff.

Anonymous
Mon 12 Jul 2010 03:58:42 PM UTC, comment #3:

OK thanks for your detailed report with that log line "WARNING! (errno=2:ENOENT) SDL_image error "Failed loading libpng12.dylib: dlopen(libpng12.dylib, 2): image not found" while loading image..." I can now understand what is going on.

When distributing LW6, I package all binaries/libraries so that references to my local "developper setup" libraries (in /opt/local) are changed to relative path, relative to where the executable is. But... here SDL_image load libpng dynamically at run time with dlopen and it can't find libpng12.dylib. This is sad because libpng12.dylib ships with the game but by default loader won't search CWD/PWD. So the long term solution is to set DYLD_LIBRARY_PATH to some value that makes it possible for the loader to find the library where it is. I already started to write code in that sense, needs testing but it should be fine.

Meanwhile, the short term solution are (at your option):

a) set DYLD_LIBRARY_PATH to an absolute value that contains the ./MacOS directory of the bundle. For example:

export DYLD_LIBRARY_PATH="/Applications/Liquid War 6.app/Contents/MacOS"

b) install some package that will put libpng12.dylib in some common well-know place the loader should be aware of. I suspect installing X11 should fix this, X11 is normally available on the Mac OS X install CDs and not installed by default. It can also probably be downloaded from Internet

Hopes this allows you to run the game.

Christian.

Christian Mauduit <ufoot>
Project AdministratorIn charge of this item.
Mon 12 Jul 2010 12:45:00 AM UTC, comment #2:

Well the first error on there is

liquidwar6: WARNING! (errno=2:ENOENT) SDL_image error "Failed loading libpng12.dylib: dlopen(libpng12.dylib, 2): image not found" while loading image "/Applications/Liquid War 6.app/Contents/MacOS/../Resources/data/gfx/gl/utils/icon/liquidwar6-icon-128x128.png"

That libpng12.dylib seems to be the only issue but then all the images for backgrounds and HUD are unable to load and it gives this error which made me laugh actually.

liquidwar6: WARNING! can't load bitmaps, expect serious problems

I can't give you that otool read out because I'm not sure what you mean by that.

Anonymous
Sun 11 Jul 2010 08:33:57 AM UTC, comment #1:

OK, I need more info (I know this .dylib stuff is sort of hellish...) so it would greatly help if you could answer these questions:

- what is the output of "otool -L liquidwar6"? (assuming you're running this command in "Liquid War 6.app/Contents/MacOS/")

- what is the .dylib reported not to be found? (name and exact path required if told, I believe one can have this info by scrolling the popup box that is displayed on errors)

Have a nice day,

Christian.

Christian Mauduit <ufoot>
Project AdministratorIn charge of this item.
Sun 11 Jul 2010 04:52:24 AM UTC, original submission:

If I attempt to run the game it immediately crashes saying that certain "dylib" files aren't found and images are unable to load. This is a huge bummer because I love this game.

Anonymous

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach File(s):
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by ufoot (Posted a comment)
  •  

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 5 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Mon 23 Aug 2010 11:16:13 PM UTCufootOpen/ClosedOpen=>Closed
    Wed 14 Jul 2010 09:50:03 PM UTCufootStatusNeed Info=>Fixed
    Sun 11 Jul 2010 08:37:30 PM UTCufootStatusIn Progress=>Need Info
    Sun 11 Jul 2010 08:33:57 AM UTCufootStatusNone=>In Progress
      Assigned toNone=>ufoot

    Back to the top


    Powered by Savane 3.1-cleanup1