[Mono-bugs] [Bug 665110] New: mono install is no longer relocatable, patch included

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Tue Jan 18 07:09:06 EST 2011


https://bugzilla.novell.com/show_bug.cgi?id=665110

https://bugzilla.novell.com/show_bug.cgi?id=665110#c0


           Summary: mono install is no longer relocatable, patch included
    Classification: Mono
           Product: Mono: Runtime
           Version: 2.8.x
          Platform: x86
        OS/Version: Linux
            Status: NEW
          Severity: Normal
          Priority: P5 - None
         Component: misc
        AssignedTo: mono-bugs at lists.ximian.com
        ReportedBy: brian at sooloos.com
         QAContact: mono-bugs at lists.ximian.com
          Found By: ---
           Blocker: ---


User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US)
AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.628.0 Safari/534.16

There is code in set_dirs in mono/metadata/assembly.c that attempts to figure
out the mono install path based on the path to the mono executable. This code
assumes that PREFIX/lib/mono/1.0 exists, and falls back on the hardcoded
installation-prefix based logic when it doesn't.

Unfortunately, the installation process no longer creates this directory, so
this auto-detection always fails and mono fails to run with:

The assembly mscorlib.dll was not found or could not be loaded.
It should have been installed in the `/usr/local/lib/mono/2.0/mscorlib.dll'
directory.

If I mkdir -p PREFIX/lib/mono/1.0 then the mono install will run from anywhere
so long as the structure of the installation directory is intact relative to
PREFIX/bin/mono.

I suggest the following change:

--- ../../mono-2.8.2/mono/metadata/assembly.c    2011-01-04 12:39:55.000000000
-0500
+++ mono/metadata/assembly.c    2011-01-18 07:05:51.992922001 -0500
@@ -566,7 +566,7 @@

     config = g_build_filename (base, "etc", NULL);
     lib = g_build_filename (base, "lib", NULL);
-    mono = g_build_filename (lib, "mono/1.0", NULL);
+    mono = g_build_filename (lib, "mono/2.0", NULL);
     if (stat (mono, &buf) == -1)
         fallback ();
     else {

Reproducible: Always

-- 
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the mono-bugs mailing list