Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 374867 - mono.eclass forces assemblies to be placed in wrong location
Summary: mono.eclass forces assemblies to be placed in wrong location
Status: CONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Eclasses (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: No maintainer - Look at https://wiki.gentoo.org/wiki/Project:Proxy_Maintainers if you want to take care of it
URL:
Whiteboard:
Keywords: PATCH
: 377455 (view as bug list)
Depends on:
Blocks:
 
Reported: 2011-07-11 16:36 UTC by Jonathan Callen (RETIRED)
Modified: 2021-07-27 04:57 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
initial patch for eclass (mono.eclass.diff,1.76 KB, patch)
2011-08-27 20:05 UTC, Jonathan Callen (RETIRED)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
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?