pkgsrc-Changes archive

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

Re: CVS commit: pkgsrc



On Wed 02 Apr 2025 at 13:03:32 +0000, Taylor R Campbell wrote:
> What seems to have happened is:
> 
> 1. lang/jimtcl brought in pkgsrc libz.so for some reason, say at
>    /usr/pkg/lib/libz.so.1.
> 
> 2. databases/sqlite3 built itself with _base_ libz (buildlink3 blocked
>    it from finding pkgsrc libz), but _also_ added the pkgsrc rpath, so
>    the elf object /usr/pkg/bin/sqlite3 has:
> 
>       NEEDED  libz.so.1
>       RPATH   /usr/pkg/lib
> 
>    Thus, when the loader opens /usr/pkg/bin/sqlite3, it will look for
>    /usr/pkg/lib/libz.so.1 before /usr/lib/whatever/libz.so.1, and when
>    it finds /usr/pkg/lib/libz.so.1, that's what will go in the
>    REQUIRES line.
> 
> This is really a bug in the REQUIRES generation (though it's not wrong
> that the loader will find /usr/pkg/lib/libz.so.1 _if it's there_) but
> it was provoked by pulling in lang/jimtcl which pulls in devel/zlib.

This seems to have happened to me too, because I was experimenting with
some package and the pkgsrc libz got installed. After that, lots of
further packages thought they required pkgsrc libz (and pkg_add
complained when it wasn't installed).

ELF files *do* support having the full path name of the required .so
files, it's in the spec and the dynamic linker seems to support it
already. (I've been ranting about that before, I think).  I'd say this
is another argument to actually start doing that.

-Olaf.
-- 
___ Olaf 'Rhialto' Seibert                            <rhialto/at/falu.nl>
\X/ There is no AI. There is just someone else's work.           --I. Rose

Attachment: signature.asc
Description: PGP signature



Home | Main Index | Thread Index | Old Index