Re: [gtk-osx-users] gtk-mac-bundler: Unable to load image-loading module ...



On Jan 29, 2013, at 7:32 AM, Christophe <cch heonium com> wrote:

> Le Tuesday 29 Jan 2013 à 06:55:40 (-0800), John Ralls a écrit :
>> 
>> On Jan 29, 2013, at 4:53 AM, Christophe <cch heonium com> wrote:
>> 
>>> Hello,
>>> 
>>> I am new to gtk-mac-bundler, and it seems to have followed the
>>> documentation to the letter but when I run the generated 
>>> package i have the following error message:
>>> 
>>> CRITICAL:init:Unable to load image-loading module: @executable_path/../Resources/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-png.so: dlopen(@executable_path/../Resources/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-png.so,1): image not found
>>> 
>>> I specify the image file it tries to open is present in bunble. I
>>> googling for several days but I have not found anything relevant.
>>> Can you give a link or a track to solve this problem
>>> 
>> 
>> 
>> Assuming you've checked the bundle to ensure that libpixbufloader-png.so is in fact in that path, the usual cause of this problem is attempting to run an auxiliary program from Contents/Resources/bin instead of Contents/MacOS. @executable_path starts from the path of the binary that starts the linker-chain.
>> 
> Ok I understand, but I followed the sample: 'pygtk-demo' and I set the
> entry 'launcher_script' which copied the script in the 'Contents/MacOS'.
> This script calls the python script in the same directory which starts
> the application that it is in 'Contents/Resources/bin'. The only 
> difference is that in this sample the final script is in
> 'Contents/Resources/lib/pygtk/2.0'.
> You advise me to the Python application being in 'Contents/Resources/bin'
> in 'Contents/MacOS'? In this case i need to modify a lot a things in the
> application.
> 

So this is python. That changes things a bit.
The location of the python script doesn't matter, the executable (as far as the linker and dlopen are concerned) is the python interpreter, which is why it is in Contents/MacOS.

If you shell out to another program, though, (os.spawn, popen2, subprocess.call, etc.), that creates a new executable for linking and loading, and the easiest thing to do is to put any program that you need in Contents/MacOS as well.

Regards,
John Ralls



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]