[oi-dev] Studio/GCC c++ libraries

Alexander Pyhalov alp at rsu.ru
Sun Oct 13 17:28:39 UTC 2013


Jim Klimov писал 10.10.2013 14:00:
> On 2013-10-09 19:21, Alexander Pyhalov wrote:
>> I propose putting G++-compiled libraries into /usr/g++ ONLY when we 
>> have
>> to provide multiple copies of this library. So, when all system is 
>> clean
>> from CC-compiled bits, we'll rename
>> library/g++/X to library/X and forget about /usr/g++ directory (or
>> create mediated links, doesn't matter).
>> 
>> Otherwise, when we don't have internal dependencies on CC-compiled
>> version I propose to ship G++-compiled version into /usr (so that 
>> RPATH
>> settings becomes unnecessary).
>> 
>> What do you think?
> 
> 
> I think it would complicate things for both developers and,
> potentially, users. In case of developers, one would have to
> think where the G++-compiled library he's going to use would
> be stored, and wonder if that location would suddenly become
> invalid in a future update.
> 
> Also, for same-named library files, it is possible to get
> conflicts i.e. by installing legacy application software from
> some SUNW* (or other vendor) packages, which would deliver
> Studio-compiled libraries - maybe overwriting or otherwise
> "disliking" the pre-existing G++ equivalents.
> 
> And I don't think we want to intentionally undermine the
> users' ability to run their old application software (which
> may likely be *the* purpose of a given server's existence,
> outdated or not) hosted on latest illumos to use the latest
> and greatest OI.
> 

I see an alternative sollution. We just create G++ counterparts of all 
C++ libraries in /usr/g++.
All soft which we can recompile should use these libs.
All other libraries which are not specifically required are moved to 
some "osol-legacy" meta-package
which is not installed by default .
GCC is modified so that it automatically adds rpaths 
/usr/g++/lib{/amd64}...
CRLE config lists /usr/g++/lib before /usr/lib.
And we declare legacy libs as "working on your own risk"...
So, by default g++ libraries are used. If someone decides that he needs 
legacy Sun CC-compiled libraries, they are still here...

This doesn't look attractively. Perhaps someone could provide better 
sollution.
How can we effectively drop burden of CC-compiled stuff but preserve 
binary compatibility
for those who need it in a way transparent for all other users?

---
System Administrator of Southern Federal University Computer Center





More information about the oi-dev mailing list