[Mono-dev] Mono support on Fedora, Ubuntu, Solaris, etc.

Jonathan Pryor jonpryor at vt.edu
Mon Sep 15 19:50:57 EDT 2008

On Tue, 2008-09-16 at 00:07 +0100, Paul wrote:
> > > If you're on a 64 bit box, /usr/lib64/mono. Anything else, /usr/lib/mono
> > 
> > So what happens if I install 32-bit and 64-bit mono on a 64-bit box, I
> > get 2 of every .dll?
> No. When you update via yum, the correct package is installed for your
> architecture. If you then decide to use a non-Fedora RPM, then that's
> when things go potty and you get 2 of every dll.

I think you're missing something.  openSUSE 64-bit has a `linux32`
program to launch a new program as a 32-bit app instead of as a 64-bit
app.  This is useful for things like configure scripts or when you want
to build a 32-bit-targeted binary on a 64-bit platform.

Similarly, openSUSE has a mono-core-32bit package which provides mono32,
which runs Mono as a 32-bit program instead of as a 64-bit program.
This is particularly useful if you need to P/Invoke to 32-bit only
shared libraries...

I assume that Fedora has the same things.

Consequently, it should be quite possible to have *two* mono's
installed, one 32-bit and one 64-bit, and use e.g. linux32 or mono32 to
control which one is executed.

Yum architecture shouldn't matter, as you have both installed, and
"non-Fedora RPMs" shouldn't matter, as they're both from Fedora.

So what happens there?  Do you get two copies of every core assembly, or
just one?

For example, openSUSE's mono-core-32bit packages only
provides /usr/bin/mono32, libMonoPosixHelper.so, libikvm-native.sl, and
libmono.so{,.0,.0.0.0} all compiled for 32-bit processors.  There are no
duplicate assemblies.

 - Jon

More information about the Mono-devel-list mailing list