Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 374867

Summary: mono.eclass forces assemblies to be placed in wrong location
Product: Gentoo Linux Reporter: Jonathan Callen (RETIRED) <jcallen>
Component: EclassesAssignee: No maintainer - Look at https://wiki.gentoo.org/wiki/Project:Proxy_Maintainers if you want to take care of it <maintainer-needed>
Status: CONFIRMED ---    
Severity: normal CC: jcallen, leho, stephen.thomas
Priority: Normal Keywords: PATCH
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: initial patch for eclass

Description Jonathan Callen (RETIRED) gentoo-dev 2011-07-11 16:36:31 UTC
When building mono in an environment that more closely resembles the LFS requirements (LIBDIR_x86=lib; LIBDIR_amd64=lib64; SYMLINK_LIB=no), mono.eclass forcibly moves all the mono assemblies from /usr/lib/mono to /usr/lib64/mono.  As mono itself is built in such a way that it only looks in /usr/lib/mono for the assemblies, no mono program can be built without first creating an extra symlink from "/usr/lib/mono" to "../lib64/mono".  As the .Net assemblies are (effectively) architecture independent, or, at least, not 64-bit ELF objects, they can be properly placed in /usr/lib.
Comment 1 Christoph Mende (RETIRED) gentoo-dev 2011-08-06 06:28:56 UTC
*** Bug 377455 has been marked as a duplicate of this bug. ***
Comment 2 Alistair Bush (RETIRED) gentoo-dev 2011-08-18 07:13:38 UTC
Only question I have with this is what about dll.so files.  Which are aot compiled and therefore arch dependent.
Comment 3 Jonathan Callen (RETIRED) gentoo-dev 2011-08-18 07:28:03 UTC
(In reply to comment #2)
> Only question I have with this is what about dll.so files.  Which are aot
> compiled and therefore arch dependent.

There are none.  All files in /usr/lib*/mono on my system have one of the following types, according to file(1) (none of which are specific to my 64-bit system):
 ASCII HTML document text
 ASCII text
 ASCII text, with CRLF line terminators
 ASCII text, with no line terminators
 data
 exported SGML document, ASCII text
 PE32 executable (console) Intel 80386 Mono/.Net assembly, for MS Windows
 PE32 executable (DLL) (console) Intel 80386 Mono/.Net assembly, for MS Windows
 UTF-8 Unicode (with BOM) text
 XML document text

The "data" files are all arch-independent .mdb debug information files, similar to the ELF .debug files you get with splitdebug.
Comment 4 Jonathan Callen (RETIRED) gentoo-dev 2011-08-27 20:05:32 UTC
Created attachment 284829 [details, diff]
initial patch for eclass
Comment 5 Leho Kraav (:macmaN @lkraav) 2012-08-28 01:51:18 UTC
I think I'm seeing this now that I'm migrating x86 -> amd64. I can't rebuild any of that *-sharp packages, because they can't find their stuff in /usr/lib.

What's the latest on this, anyone know?