[csw-maintainers] zlib package in /testing
Roger Håkansson
hson at opencsw.org
Mon Apr 6 14:35:24 CEST 2009
James Lee wrote:
> It's not correct as no CSW libs are opened.
>
> It's not a "problem" but if it's the result of the build system it
> suggests we are generally making settings with no thought. The
> current batch of odd RPATHs only causes the link loader to look for
> a directory that doesn't exist, but this is less wasted effort than
> what happens with $ISALIST which typically looks at all the 64 bit
> locations before finding that matching 32 lib.
$ISALIST doesn't just expand to 64bit, you have optimized 32bit versions
(sparcv8plus, sparcv8plus+vis...) as well?
I take it that you haven't built any packages using gar yet?
The recent batch of odd paths was due to problems with gar where
LD_OPTIONS somehow got messed up (there have been a number of postings
about this problem).
Even though I've only been a maintainer for a few months, my
understanding (from http://opencsw.org/standards/pkg-walkthrough as an
example) was that LD_OPTIONS was a preferred setting when building
packages. So all packages I've built (either using gar or manually) have
LD_OPTIONS set which means RPATH/RUNPATH have been set to
/opt/csw/lib/$ISALIST:/opt/csw/lib whatever they need.
If LD_OPTIONS shouldn't be used, or should only contain what's needed
for a particular package, it should be communicated more clearly.
> How difficult is it to do right? Perhaps the recent batch of odd
> paths are telling me that people are using a "sausage machine"
> approach to building (throw anything in the top and just wind the
> handle). We are dangerously close to the "I'd like to do the right
> thing but the build system won't let me". The value CSW should add
> *is* to take the time to get things right - your individual effort
> shared for the benefit of many.
Right now, as far as I can see it, gar lets you set LD_OPTIONS to
anything you want, but if you don't set it, gar will set it for you.
To reiterate my question:
Is there any actual harm (disregarding the fact that the link loader
might have to traverse /opt/csw/lib/$ISALIST:/opt/csw/lib without
finding any match) having RPATH/RUNPATH set?
If not, it is only when a package doesn't use any libs at all from
/opt/csw/lib, when RPATH/RUNPATH should be changed from the default.
If package A is linked to a lib i package B (both CSW packages) and A i
packaged with RPATH/RUNPATH set to only /opt/csw/lib, any future
releases of B which contain optimized libraries won't be used until A is
repackaged with RPATH/RUNPATH set to /opt/csw/lib/$ISALIST:/opt/csw/lib
And if there is a longer dependency list (A->B->C-D where D is the one
with optimized libs) it creates much more work for the maintainer of A
(he must check every lib in the dependency path to see if there are any
optimized libs).
But then again, if there is no harm in having RPATH/RUNPATH set and it
only creates much more work for the maintainers, why shouldn't we leave
it as it is?
More information about the maintainers
mailing list