Description of problem: All mono packages (inclusive of gtksharp etc) need to have their libraries placed in the lib64 directory on 64 bit architecture. There are no operational problems in doing this and would ensure anything built for FE will be correctly placed. Steps to Reproduce: 1. rebuild all mono packages using _libdir on the target rather than specifically saying /usr/lib (the ./autogen.sh script will accept installing the libraries in lib64 as a command line option) Actual results: Anything currently trying to be built for FE (or core) on non-32 bit architecture have to explictly say "/usr/lib" rather than the correct method of %{libdir} Expected results: Mono libraries should be in %{libdir} Additional info: The rebuild would also need to be done for all other mono packages and sub-packages.
simple fix In the %prep section add %ifarch x86_64 ia64 %configure --with-ikvm=yes --with-jit=yes --libdir=/usr/lib64 %else %configure --with-ikvm=yes --with-jit=yes %endif
All native libraries are in lib64, while non-arch dependent libs are in /usr/lib. This is what upstream and suse does. I see no need to have the arch indep files in lib64. We follow upstream here. If you want to argue this, do so upstream, they are much more knowledable about what is right than I.
This has been discussed upstream, quite a lot in fact! The concensus is that the libraries should go whereever the default is for the architecture.
How come the upstream packages don't do this then? Also, i don't understand the "default for the architecture" thing. Its default for libraries to go into lib if they are 32bit and lib64 if they are 64bit. However, the .dlls are not 64bit really. They are arch-independent.