Description of problem: This problem is really a non 32 bit problem. As you know, when you build mono, the main packages are all installed in /usr/lib. The problem comes when packages are built for FE whereby even if one specifies %define _libdir /usr/lib, spec files end up in /usr/lib64/pkgconfig with binaries built also ending up in /usr/lib64/<package> Upshot - packages on non 32 bit platforms fail when you try to use them. When I build from source and pass in --libdir=/usr/lib64, mono is correctly installed into /usr/lib64. If I do the same for other packages (such as ikvm), everything works happily. If I don't pass in the --libdir argument to the configure script, packages are installed in /usr/lib, but they still work - nothing gets put into /usr/lib64. There is either something wrong with how mono is being packaged or how package makefiles are ignoring libs. Given that I have no problem with the source code versions, it looks like a package problem. Could you please have a look into this and offer some advice? It's holding up something like 7 packages! Version-Release number of selected component (if applicable): 1.1.13-6
Seems the problem is in that the makefile.am files have a problem. Some contain a line like this pkgconfigdir=$(prefix)/lib/pkgconfig which obviously will put things in /usr/lib. However, on 64 bit systems, this should really be /usr/lib64. I've suggested a fix to the mono developers (it's simple enough to do) 1. Change the makefile.am bits to read pkconfigdir=$(prefix)/$(libdir)/pkgconfig 2. Alter the configure script so that it exports libdir to be lib or lib64 depending on what is passed in on the --libdir switch (default, lib) I'll leave this bug open for now, though I suppose it's really an upstream problem rather than an FC package problem