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:

> 1. Point RPATH at the system lib directory (probably /usr/lib or
> /usr/lib64, but platform-dependent).

system libs are searched by default so having RPATH to them seems like
asking for trouble.

> 2. Don't set RPATH at all (I think this is what Joerg was
> suggesting).  System dirs should come first in the default path, but
> might be affected by other mechanisms such as ldconfig,
> LD_LIBRARY_PATH, etc.

People how set paths by ldconfig and LD_LIBRARY_PATH get the results
they ask for.  I wouldn't worry about them, absent a good argument for
why some particular setup is rational.

What I meant to say is that I don't understand where that RPATH setting
is coming from in the build, which is probably deep in bl3 files and
wrappers.   I suggest enough tracing to figure out where it is coming
from and why, and then evaluating whether that is buggy.  Right now  we
just don't know.

> 3. Bundle all dependencies and either isolate them as shared libs in a
> special directory pointed to by RPATH (e.g. /usr/lib/pkg_install/) or
> statically link everything.  This has the potential advantage of
> consistent features and versions across all platforms.  It appears
> that currently some features like XZ support are enabled only if
> appropriate headers are found in the base system.

This seems really awkward, compared to option 2.  Before doing this, I
think we should have a really clear understanding of what is going on.


Option 4 is to figure out why pkgsrc liblzma is ever built on this
system, when the base system version is adequate.  Basically we need to
have a consistent decision about good enough or not good enough, and
this is generally true about bhiltin detection.  We have had cases where
base had version X and that was good enough for some things but other
things needed X+1 and pulled in pkgsrc.  This went really badly and we
resolved it by making builtin detection require a version that was
generally good enough, not just for the current program, but anything
normal.

Why is the library installed in pkgsrc?  What if you pkg_delete that?
If something depends on that, why doesn't it use the base version?


I am assumign that you have not changed the base system during all
this.  (If you did, the answer is don't do that!)



Home | Main Index | Thread Index | Old Index