Le 3 janv. 2022 à 01:52, john <jralls ceridwen us> a écrit :
On Jan 2, 2022, at 3:23 AM, Pascal <p p14 orange fr> wrote:
Le 30 déc. 2021 à 19:31, John Ralls <jralls ceridwen us> a écrit :
On Dec 30, 2021, at 10:21 AM, Pascal <p p14 orange fr> wrote:
Le 30 déc. 2021 à 17:57, Paul Emsley via gtk-osx-users-list <gtk-osx-users-list gnome org> a écrit :
On 30/12/2021 16:13, Pascal wrote:
Le 30 déc. 2021 à 14:43, Paul Emsley via gtk-osx-users-list <gtk-osx-users-list gnome org> a écrit :
On 30/12/2021 11:29, Pascal wrote:
Hello,
My configuration is macOS 12, I just built:
% jhbuild bootstrap-gtk-osx % jhbuild build python3 % jhbuild build meta-gtk-osx-bootstrap
When I build my program I got a lot of: ld: warning: dylib (/usr/local/xnadalib-2021/lib/libgtk-3.dylib) was built for newer macOS version (12.0) than being linked (11.0)
It is not so clear. What is this actually meaning?
This seems just to be a warning but my program shows some erroneous GTK executions.
How to deal with it?
NB : with GTK which was built when I was on macOS 11, I have no warning and no issue to build my program on macOS 12.
Have you installed homebrew? If so, rename or remove it while compiling gtk-osx.
No Paul, I haven't.
OK, interesting. It seems that you do have something in /usr/local though - do you know what it is?
I found only CLI tools like BBEdit or OSXFuse.
I have MacPorts installed in /usr/local/local but not in PATH. Should I delete XDG_CACHE_HOME folder before building GTK?
I don't know, sorry. My feeling is that you shouldn't need to do so.
When looking in environnement variables in jhbuild shell, I found: [JH] % echo $MACOSX_DEPLOYMENT_TARGET 12
Should I specify 11 in calling setup_sdk in jhbuildrc-custom?
If so, I wonder: why the link message is issued as I have rebuilt all on macOS 12?
The link message is saying that whatever you're trying to link was compiled with macosx-version-min=11.0 while libgtk-3.dylib was compiled with macosx-version-min=12.0. Did you perhaps forget to reconfigure your project after rebuilding everything else?
Hello John,
I aim to build the GTKAda bindings with the fixed version of GTK for macOS 12. I dig in my building configuration without success. In fact the issue is coming from my Ada compiler which is stuck to macOS 11, the internal compilation is done with -mmacosx-version-min=11.0.0.
So I got: otool -l /usr/local/xnadalib-2021/lib/gtkada/gtkada.relocatable/gtkada/libgtkada.dylib cmd LC_BUILD_VERSION cmdsize 32 platform 1 minos 11.0 sdk 10.17
Thus the warning.
The test program is nevertheless running but fails with: Gtk:ERROR:../../../../gtk+-3.24.30/gtk/gtkiconhelper.c:494:ensure_surface_for_gicon: assertion failed (error == NULL): Failed to load /usr/local/xnadalib-2021/share/icons/Adwaita/24x24/status/image-missing.png: Unrecognized image file format (gdk-pixbuf-error-quark, 3) Bail out! Gtk:ERROR:../../../../gtk+-3.24.30/gtk/gtkiconhelper.c:494:ensure_surface_for_gicon: assertion failed (error == NULL): Failed to load /usr/local/xnadalib-2021/share/icons/Adwaita/24x24/status/image-missing.png: Unrecognized image file format (gdk-pixbuf-error-quark, 3)
However the GTKAda source code is the same since I built it on macOS 11 with success.
Well now, should I specify setup_sdk(target="11") in jhbuildrc-custom and rebuild all GTK stuff?
The gdk-pixbuf errors have to do with not being able to find its modules. That might be because you need to run gdk-pixbuf-query-loaders --update-cache (in a jhbuild shell of course!) or you need to set GDK_PIXBUF_MODULEDIR to point at where it is, see http://manpages.ubuntu.com/manpages/impish/man1/gdk-pixbuf-query-loaders.1.html.
Thanks John,I was blinded with the linker warning and the fact I had just upgrading with macOS 12.Obviously it is not the case: I built all GTK again with setup_sdk(target="10.11") with no more success.I'm so confused that all was well on October with macOS 11 and not now with these GTK errors with macOS 12 :-(I ran gdk-pixbuf-query-loaders --update-cache and even set GDK_PIXBUF_MODULEDIR:% LANG=en GDK_PIXBUF_MODULEDIR=$xnadainst/lib/gdk-pixbuf-2.0/2.10.0/loaders XDG_DATA_DIRS=$xnadainst/share ./testgtk(testgtk:29352): Gtk-WARNING **: 21:49:39.220: Could not load a pixbuf from icon theme.This may indicate that pixbuf loaders or the mime database could not be found.**Gtk:ERROR:../../../../gtk+-3.24.30/gtk/gtkiconhelper.c:494:ensure_surface_for_gicon: assertion failed (error == NULL): Failed to load /usr/local/xnadalib-2021/share/icons/Adwaita/24x24/status/image-missing.png: Unrecognized image file format (gdk-pixbuf-error-quark, 3)Bail out! Gtk:ERROR:../../../../gtk+-3.24.30/gtk/gtkiconhelper.c:494:ensure_surface_for_gicon: assertion failed (error == NULL): Failed to load /usr/local/xnadalib-2021/share/icons/Adwaita/24x24/status/image-missing.png: Unrecognized image file format (gdk-pixbuf-error-quark, 3)What is the "mime database" present in the GTK warning message?May the error coming from this file?
Pascal,
The mime database maps file extensions to types, among a bunch of other things. It lives in $PREFIX/share/mime and is built by the shared-mime-info package.
Maybe there's something messed up with the png loader? You can `grep png $PREFIX/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache` to make sure it's catalogued. Check also that $PREFIX/lib/gdk-pixbuff-2.0/2.10.0/loaders/libpixbufloader-png.so is present and that its dependencies are all sane.
Regards, John Ralls
|