SHA256
1
0
forked from pool/mono-core
mono-core/mono-config-fix-monoposixhelper-libdir.patch
Matthias Mailänder 2157dd9f08 Accepting request 401391 from home:Warhammer40k:Mono:Factory
Update to mono 4.4.0.182, new major release v4.4.

Fix possible bug with incorrect $mono_libdir substitution for libMonoPosixHelper.so, see my explanation below:

It seems that recent changes in mono-config.c and config.in (6b5f6dd043) is not entirely correct for situations when mono installed in different location than native libraries for current system arch.

Fox example, on x86_64 builds, dllmap_start function in mono-config.c, somehow, expands $mono_libdir in config file to /usr/lib. I think, that line 283 in mono-config.c do this job:   const char *libdir = mono_assembly_getrootdir (); 

So, when native library installed in libdir (/usr/lib64) that differs from mono install dir (/usr/lib), $mono_libdir expands to incorrect location (/usr/lib). I think, this leads us to this error for libMonoPosixHelper library (for example, when starting monodevelop) : http://pastebin.com/gRDkgR4V .

For now, i rollback changes only in config.in files for libMonoPosixHelper.so native library, so search path will be hardcoded in config file as in previous mono 4.2 build. I think we should inbestigate this problem further (test mono-core package from official mono repo?) and maybe fill a bug report to upstream. Or, maybe, something gone wrong only with my build - i'm doing something wrong or do not understand yet... Whatever it is, this temporary patch for config.in file should not brake anything.

OBS-URL: https://build.opensuse.org/request/show/401391
OBS-URL: https://build.opensuse.org/package/show/Mono:Factory/mono-core?expand=0&rev=170
2016-06-12 16:51:22 +00:00

13 lines
816 B
Diff

diff -uprN mono-4.4.0.old/data/config.in mono-4.4.0.new/data/config.in
--- mono-4.4.0.old/data/config.in 2016-06-09 18:01:54.000000000 +0300
+++ mono-4.4.0.new/data/config.in 2016-03-15 14:31:53.000000000 +0300
@@ -10,7 +10,7 @@
<dllmap dll="i:odbc32.dll" target="libiodbc.dylib" os="osx"/>
<dllmap dll="oci" target="libclntsh@libsuffix@" os="!windows"/>
<dllmap dll="db2cli" target="libdb2_36@libsuffix@" os="!windows"/>
- <dllmap dll="MonoPosixHelper" target="$mono_libdir/libMonoPosixHelper@libsuffix@" os="!windows" />
+ <dllmap dll="MonoPosixHelper" target="@prefix@/@reloc_libdir@/libMonoPosixHelper@libsuffix@" os="!windows" />
<dllmap dll="i:msvcrt" target="@LIBC@" os="!windows"/>
<dllmap dll="i:msvcrt.dll" target="@LIBC@" os="!windows"/>
<dllmap dll="sqlite" target="@SQLITE@" os="!windows"/>