pkgsrc-Users archive

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

Re: pkg_install fails when archivers/xz is installed



Jason Bacon <outpaddling%yahoo.com@localhost> writes:

> The problem seems to be simply this:
>
> If OS == CentOS7 && /usr/include/lzma.h exists during bootstrap, then
> installing archivers/xz will break all pkg_install binaries, because
> they try ${PREFIX}/lib/liblzma.so first even though they were linked
> against /usr/lib64/liblzma.so.

As I understand it, ELF has a list of needed libraries and a list of
paths, and each library is looked up in the list of paths.  Use objdump
-x to look.  On NetBSD, /opt/pkg/sbin/pkg_add looks like:

Dynamic Section:
  NEEDED               libssl.so.12
  NEEDED               libcrypto.so.12
  NEEDED               libarchive.so.4
  NEEDED               libbz2.so.1
  NEEDED               libz.so.1
  NEEDED               libc.so.12
  RPATH                /usr/pkg/lib

> So I think we need to ensure that pkg_install binaries always use
> /usr/lib64/liblzma.so if that's what it linked against.  In fact, I
> wonder if they should ever be looking for anything in ${PREFIX}/lib.

I would expect they need both.  On my netbsd-8 system, they need pkgsrc
openssl, and they need libarchive.

Unfortunately there is no "get this librrary from this place, and this
other library from this other place", as I understand it.


To me, this is a reason to set pkgsrc to never use base system libzma.
Or perhaps, to have all uses of libzma follow the same builtin logic.


Home | Main Index | Thread Index | Old Index