Re: [gtk-osx-users] Newer macOS version (12.0) than being linked (11.0)



The warning you have are almost harmless, they said just that the MAIN application is built with an OSX sdk older than the libraries it uses. This can be a problem since the application will be able to run on macos 11 but the library may use some macos12 only symbols.

I usually build with 10.10 MACOSX_DEPLOYMENT_TARGET env variable, both the libraries (gtk, ffmpeg...) and the application.

Please note that the C target (so most GTK APIs) has an ABI that is almost freezed, but if you use also C++ libraries (ie GTKmm) having libraries compiled against a newer SDK than the application may be a problem.

On Mon, Jan 3, 2022 at 1:53 AM john <jralls ceridwen us> wrote:


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 /opt/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.

Regards,
John Ralls

_______________________________________________
gtk-osx-users-list mailing list
gtk-osx-users-list gnome org
https://mail.gnome.org/mailman/listinfo/gtk-osx-users-list


--
Bye,
 Gabry



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