Package: julia / 0.4.7-6

do-not-query-ldconfig.patch Patch series | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
Description: Do not query ldconfig for library sonames
 This patch modifies the dynamic loading of shared libraries
 to not query ldconfig for library sonames when ccall() is
 invoked for a library name without an extension.
 .
 By default, when ccall() is invoked for the shared library
 libfoo, it tries to load libfoo.so; if that fails, it queries
 ldconfig and picks a matching libfoo.so.SOVERSION. Since a
 machine can have multiple installed versions of the same
 library, this may result in unpredictable behaviour when
 ccall() loads a library version with an incompatible ABI.
 .
 For the libraries used by Base, the Debian package provides
 symbolic links lib*.so => lib*.so.SOVERSION in the private
 library path for Julia, which ensures that Julia loads exactly
 those library versions that were used for building the package.
 .
 For external packages installed using Pkg.add() that have an
 unversioned library dependency, users need to install the
 corresponding lib*-dev package that provides lib*.so.
Author: Peter Colberg <peter@colberg.org>
Forwarded: no
Last-Update: 2015-11-17
---
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
--- a/src/dlload.c
+++ b/src/dlload.c
@@ -169,16 +169,6 @@
             goto done;
     }
 
-#if defined(__linux__) || defined(__FreeBSD__)
-// check map of versioned libs from "libX" to full soname "libX.so.ver"
-    {
-        const char *soname = jl_lookup_soname(modname, strlen(modname));
-        error = (soname==NULL) || jl_uv_dlopen(soname, handle, flags);
-        if (!error)
-            goto done;
-    }
-#endif
-
 notfound:
     // copy the error message into the path buffer so we can free the lib handle
     path[0] = '\0';