Using Alma Linux 8.9, gcc 8.5.0
On trying to compile and install gobject-introspection 1.80.0:
meson setup -Dprefix=$install_top_dir build
As part of the process, ‘glib’ is cloned and installed.
The resulting binaries, glib-compile-schemas
in particular, is linked with the wrong libglib-2.0.so
(see that it is linked with the system libglib
and libgobject
instead of the library recently installed ~/autobuild/Linux-pc.internal-gtk4/lib64/libglib-2.0.so
).
glib-compile-schemas
is complied with new glib headers, so this causes a problem down the line when compiling pygobject:
~/autobuild/Linux-pc.internal-gtk4/bin/glib-compile-schemas: symbol lookup error: /home/pemsley/autobuild/Linux-pc.lmb.internal-gtk4/bin/glib-compile-schemas: undefined symbol: g_ptr_array_sort_values
ldd ~/autobuild/Linux-pc.internal-gtk4/bin/glib-compile-schemas
linux-vdso.so.1 (0x00007ffc6a95e000)
libgio-2.0.so.0 => /lib64/libgio-2.0.so.0 (0x00007f4c349e3000)
libglib-2.0.so.0 => /lib64/libglib-2.0.so.0 (0x00007f4c346c9000)
libgobject-2.0.so.0 => /lib64/libgobject-2.0.so.0 (0x00007f4c34476000)
libc.so.6 => /lib64/libc.so.6 (0x00007f4c340b1000)
libffi.so.6 => /lib64/libffi.so.6 (0x00007f4c33ea8000)
libgmodule-2.0.so.0 => /lib64/libgmodule-2.0.so.0 (0x00007f4c33ca4000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f4c33aa0000)
libgnutls.so.30 => /lib64/libgnutls.so.30 (0x00007f4c336af000)
libpcre.so.1 => /lib64/libpcre.so.1 (0x00007f4c3343e000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f4c3321e000)
libz.so.1 => /lib64/libz.so.1 (0x00007f4c33006000)
libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f4c32ddb000)
libresolv.so.2 => /lib64/libresolv.so.2 (0x00007f4c32bc3000)
libmount.so.1 => /lib64/libmount.so.1 (0x00007f4c32969000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f4c32751000)
/lib64/ld-linux-x86-64.so.2 (0x00007f4c34d8d000)
libp11-kit.so.0 => /lib64/libp11-kit.so.0 (0x00007f4c32427000)
libidn2.so.0 => /lib64/libidn2.so.0 (0x00007f4c32209000)
libunistring.so.2 => /lib64/libunistring.so.2 (0x00007f4c31e88000)
libtasn1.so.6 => /lib64/libtasn1.so.6 (0x00007f4c31c75000)
libnettle.so.6 => /lib64/libnettle.so.6 (0x00007f4c31a3b000)
libhogweed.so.4 => /lib64/libhogweed.so.4 (0x00007f4c3180b000)
libgmp.so.10 => /lib64/libgmp.so.10 (0x00007f4c34eff000)
libpcre2-8.so.0 => /lib64/libpcre2-8.so.0 (0x00007f4c31587000)
libblkid.so.1 => /lib64/libblkid.so.1 (0x00007f4c31334000)
libuuid.so.1 => /lib64/libuuid.so.1 (0x00007f4c3112c000)
librt.so.1 => /lib64/librt.so.1 (0x00007f4c30f24000)
Is this a bug in glib or in gobject-introspection or my failure to use meson correctly?
Is this the cirular dependency problem? i.e. I need to install glib first?
Thanks.