Re: ffi errors building gobject-introspection
Greg Troxel <[email protected]> Thu, 23 Mar 2023 19:45:24 -0400
| Newsgroups | gmane.os.netbsd.ports.sparc64 |
|---|---|
| Message-ID | <[email protected]> |
Riccardo Mottola <[email protected]> writes: > glib2 doesn't have any dependencies on it, however linking fails at this > incriminate file: > ld: warning: libffi.so.7, needed by /usr/pkg/lib/libgirepository-1.0.so.1 > > /usr/pkg/lib/libgirepository-1.0.so: > -lglib-2.0.0 => /usr/pkg/lib/libglib-2.0.so.0 > -lpcre2-8.0 => /usr/pkg/lib/libpcre2-8.so.0 > -lc.12 => /usr/lib/libc.so.12 > -lintl.1 => /usr/lib/libintl.so.1 > -lgcc_s.1 => /usr/lib/libgcc_s.so.1 > -lpthread.1 => /usr/lib/libpthread.so.1 > -lgobject-2.0.0 => /usr/pkg/lib/libgobject-2.0.so.0 > -lffi.8 => /usr/pkg/lib/libffi.so.8 > -lgmodule-2.0.0 => /usr/pkg/lib/libgmodule-2.0.so.0 > -lgio-2.0.0 => /usr/pkg/lib/libgio-2.0.so.0 > -lz.1 => /usr/pkg/lib/libz.so.1 > -lffi.7 => not found > -lm.0 => /usr/lib/libm.so.0 > > wow, it tries to link in two libffi versions? > And where does this package come from? > > $ pkg_info -Fe /usr/pkg/lib/libgirepository-1.0.so > gobject-introspection-1.68.0 > > $ ls -l /usr/pkg/lib/libgirepository-1.0.so > lrwxr-xr-x 1 root wheel 24 Oct 18 2021 > /usr/pkg/lib/libgirepository-1.0.so -> libgirepository-1.0.so.1 > > so this is an old file. Exactly, the problem is the old installed version. > but gobject-introspection is really the package I am upgrading! Doe sit > look as the package while uprading looks into its own installed version? > I think it should use this: > $ find . -name libgirepository-1.0.so > ./gobject-introspection-1.74.0/output/girepository/libgirepository-1.0.so > inside the workdir. Which, after a quick check is correctly linked to > libffi.8 as expected. You are correct that it *should* use that. However, gobject-introspection has been known to be broken in this way on macOS for several years. I do not have memories of it failing on NetBSD. It will need a makefile intervention to make sure the linking with the newly-built lib is higher priority than /usr/pkg/lib.