On Tuesday 11 December 2007 04:22:59 Shawn Walker wrote:
> > > That would ensure that our dependencies wouldn't conflict with anyone
> > > else's and still allow the expectations of *some* individuals to have
> > > KDE in /usr.
> >
> > I don't understand your point here.
>
> Remember that any C++ dependencies we have are incompatible with other
> C++ apps built against the other C++ runtime that comes with Solaris.


The ABI / STL considerations are primarily for libraries, not for 
applications.

I come from a world where shared libraries are shared (from /usr/local). All 
my add-on software installs to /usr/local, and it's all compiled with gcc 
against the gcc STL. That means that if I install library foo, it gets shared 
by all applications that need foo.


Consider a library dependency like clucene. That's a C++ library, and it can 
only be shared with applications that use the same ABI / STL as it was 
compiled with. So library foo now *isn't* shareable by everyone, only those 
that buy into the same ABI / STL scheme. So we have libclucene.so, which 
might be based on Cstd, or might be stdcxx.

That's why we need to be careful with C++ libraries; we can't share them with 
everyone. So they should be placed somewhere where it's clear which libraries 
have which ABI / STL scheme. I'd go for /usr/lib/stdcxx/ (or something 
similar; i had earlier proposed /opt/kdecppdeps) for doing that.

Anyway, I have a desktop to test (kdebase is done), once y'alls have figured 
out what goes where, let me know so I can patch up the KDE-from-SVN 
buildsystem (or kdesvn-build) to use the right paths.

[ade]

Reply via email to