[mono-packagers] The $(prefix)/usr vs $(libdir) argument
Jonathan Pryor
jonpryor at vt.edu
Mon Dec 1 15:55:26 EST 2008
On Sat, 2008-11-29 at 19:49 +0000, Paul wrote:
>
> Assuming a 32 bit system, binaries /usr/bin, libs /usr/lib
> 64 bit /usr/bin, /usr/lib64
>
> On a 64 bit system if a library comes from a vendor who has only
> provided a 32 bit binary with a lib or a binary which requires a 32 bit
> lib, then /usr/lib is used.
>
> It's a carte blanche approach for everything.
Yes, but it doesn't quite answer the question;
1. On a 64-bit platform, can you install *both* 32-bit and 64-bit
versions of Perl/Python/etc.?
2. If (1) is true, how is this done?
On openSUSE, (1) is true, and the 64-bit `perl` package contains both
platform-independent files (e.g. /usr/lib/perl5/5.10.0/CGI.pm) AND
platform-specific files
(e.g. /usr/lib/perl5/5.10.0/x86_64-linux-thread-multi/auto/B/B.so).
Meanwhile, the 32-bit `perl-32bit` package contains *just* the .so files
for 32-bit use,
e.g. /usr/lib/perl5/5.10.0/i586-linux-thread-multi/auto/B/B.so.
Oddly, there isn't a /usr/bin/perl32 program in there, so I have no idea
how to _use_ these 32-bit Perl libraries, but the point remains that
this is partially how openSUSE handles the dual-architecture question.
Python is ~identical to Perl -- the "main" `python` package includes
both source & platform-compiled versions of Python packages, while the
`python-32bit` package contains *only* shared libraries for 32-bit use
and NOT the source files. (Doubly oddly, Python places .py files
under /usr/lib64 while Perl places .pm files under /usr/lib, and (again)
there isn't a python32 app to actually use these 32-bit libraries, but
the pattern for bi-arch support is fairly evident here.)
So how does Fedora support bi-arch platforms?
- Jon
More information about the mono-packagers-list
mailing list