Port-sparc64 archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: ffi errors building gobject-introspection



Hi,

Connor McLaughlan wrote:
> I had a similar problem when trying to downgrade libffi from so.8 to
> so.7 for testing.
> 
> I had to rebuild all dependencies after the libffi change beginning
> with i think devel/glib2.
> 
> Backward dependencies can be found via pkgsrc.se:
> https://pkgsrc.se/devel/gobject-introspection
> 
> As for forward dependencies of libffi i don't know how to get this
> information or if there is a convenient way.
> 
> Is there pkgsrc supported way to rebuild all depending packages
> automatically? And preferably not the whole pkgsrc tree that is not
> involved?


I don't know if I have a dependency issue, or a package linking issue.
Here my reasoning.
As Greg supposed, I have libffi.8 already:

/usr/pkg/lib/libffi.so.8

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.

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.

Riccardo


Home | Main Index | Thread Index | Old Index