[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