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?
_______________________________________________
maintainers mailing list
[email protected]
https://lists.opencsw.org/mailman/listinfo/maintainers

Reply via email to