Re: [gtk-osx-users] GTK-Mac-Bundler lib changes.
- From: John Ralls <jralls ceridwen us>
- To: Pascal <p p14 orange fr>
- Cc: gtk-osx-users-list gnome org
- Subject: Re: [gtk-osx-users] GTK-Mac-Bundler lib changes.
- Date: Mon, 8 Jun 2020 09:13:19 -0700
On Jun 8, 2020, at 3:03 AM, Pascal <p p14 orange fr> wrote:
Le 7 juin 2020 à 19:39, Pascal <p p14 orange fr> a écrit :
Hello,
I've used gtk-mac-bundler to create my app, but I've some issues with referenced dylib.
GTK libs are referenced with absolute path:
<prefix>/lib/libgtk-3.0.dylib
These are changed by gtk-mac-bundler into:
@executable_path/../Resources/lib/libgtk-3.0.dylib
I've got some messages as:
Cannot find a matching prefix for libxmlada_schema.dylib
These libs are outside <prefix>/lib so I changed them to absolute path.
However, I have other libs built in <prefix>/lib that are referenced with relative path, for instance:
@rpath/libadalang.dylib
These are not changed by gtk-mac-bundler so I've added rpath "@executable_path/../Resources/lib" and I've
deleted all rpath with <prefix>/lib in executable and all libs.
I've checked with otool that the only remaining rpath is "@executable_path/../Resources/lib".
But when executing the app I've messages for instance:
objc[45002]: Class GdkQuartzView is implemented in both
/opt/gps-build/osx_bundle/_build/Applications/gnatstudio.app/Contents/Resources/lib/libgdk-3.0.dylib
(0x113f0a960) and /opt/xnadalib-2020/lib/libgdk-3.0.dylib (0x11ed97960). One of the two will be used.
Which one is undefined.
I do not understand where there are these references to <prefix>/lib (/opt/xnadalib-2020/lib in my case).
Any idea is welcome.
I've gone further, the references of <prefix>/lib are coming from *.so in lib/Python2.7.
I had just put in my bungle file:
<data>
${prefix}/lib/python2.7
</data>
So I changed for:
<binary>
${prefix}/lib/python2.7/lib-dynload/*.so
</binary>
<binary>
${prefix}/lib/python2.7/site-packages/*.so
</binary>
<binary>
${prefix}/lib/python2.7/site-packages/gi/*.so
</binary>
<binary>
${prefix}/lib/python2.7/site-packages/cairo/*.so
</binary>
Side question, I've manually copied the *.py files to prevent to overwrite the modified *.so files, is
there a way to do it safely in the bundle file?
Then I've a issue with gi:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File
"/opt/gps-build/osx_bundle/_build/Applications/gnatstudio.app/Contents/Resources/lib/python2.7/site-packages/gi/__init__.py",
line 129, in require_version
raise ValueError('Namespace %s not available' % namespace)
ValueError: Namespace Gtk not available
What could be missing in the bundle file?
The typelibs?
I don't understand what you mean about manually copying the python files to prevent overwriting the loadable
modules. How would that happen?
You might look at https://github.com/gramps-project/gramps/blob/maintenance/gramps51/mac/gramps.bundle to see
how I bundle Gramps.
Regards,
John Ralls
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]