lib/lib64 and mono

Michal Moskal malekith at pld-linux.org
Sat Feb 19 13:48:24 CET 2005


Hello,

I'm would like to know what are the guidelines for putting stuff in
/usr/lib vs /usr/lib64 directories. From what I see there are
architecture dependent, non-binary files (like rpm build scripts). I
guess the reason for having two directories is to have two separate sets
of libraries, in case you want to run some application in 32-bit mode.
So what about the other files laying around in /usr/lib?

I ask this because of mono. It by default puts its *.so/*.a/*.la files
where it is told with --libdir.  And its OK. However it also installs
/usr/lib/mono directory with .NET libraries (*.dll) and executables
(*.exe). They are architecture independent. However in case you mono --aot
them (for faster loading), you get foo.dll.so in addition to foo.dll,
which clearly *is* architecture dependent. mono-install.patch makes
/usr/lib/mono go to /usr/lib64/mono.

Probably the most kosher solution would be to put *.dll and *.exe in
/usr/share. However it is not going to work without lots of patching,
and even if, developers using mono on PLD who are likely to install
third party stuff (this is the reality) will curse upon us till we'll
get back to the default scheme. First example I came upon is NAnt, which
expects mono directory to sit in $prefix/lib (which breaks with even
with our current scheme where it is in /usr/lib64).

Another issue is that mono developers are probably going to resolve
the aot image location issues sometimes in future, because as of today,
they say, that aot is not supported and shouldn't be used.

I propose to put mono directory in /usr/lib even on 64 bit systems.

RFC?


-- 
: Michal Moskal :: http://nemerle.org/~malekith/ :: GCS !tv h e>+++ b++
: You can't blame yourself for what gorillas did :: UL++++$ C++ E--- a?




More information about the pld-devel-en mailing list