[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