Package: higan
Version: 094-2
Severity: wishlist

This patch makes library::open try a dlopen call with no specified path
before looking in /usr/lib/higan/lib.  This is more convenient for
debugging, because I can use LD_LIBRARY_PATH to load a new libananke
without installing it as root.

- Michael


-- System Information:
Debian Release: jessie/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 3.11-1-amd64 (SMP w/8 CPU cores)
Locale: LANG=en_CA.UTF-8, LC_CTYPE=en_CA.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages higan depends on:
ii  libao4                    1.1.0-2
ii  libasound2                1.0.27.2-3
ii  libatk1.0-0               2.10.0-2
ii  libc6                     2.17-97
ii  libcairo2                 1.12.16-2
ii  libfontconfig1            2.11.0-2
ii  libfreetype6              2.5.2-1
ii  libgcc1                   1:4.8.2-14
ii  libgdk-pixbuf2.0-0        2.28.2-1+b1
ii  libgl1-mesa-glx [libgl1]  9.2.2-1
ii  libglib2.0-0              2.36.4-1
ii  libgtk2.0-0               2.24.22-1
ii  libopenal1                1:1.14-4
ii  libpango-1.0-0            1.36.0-1+b1
ii  libpangocairo-1.0-0       1.36.0-1+b1
ii  libpangoft2-1.0-0         1.36.0-1+b1
ii  libpulse0                 4.0-6+b1
ii  libsdl1.2debian           1.2.15-8
ii  libstdc++6                4.8.2-14
ii  libudev1                  204-6
ii  libx11-6                  2:1.6.2-1
ii  libxext6                  2:1.3.2-1
ii  libxv1                    2:1.0.10-1

higan recommends no packages.

higan suggests no packages.

-- no debconf information
diff --git a/nall/dl.hpp b/nall/dl.hpp
index 547a59de6594..65697b4c958e 100755
--- a/nall/dl.hpp
+++ b/nall/dl.hpp
@@ -38,7 +38,8 @@ private:
 #if defined(PLATFORM_X)
 inline bool library::open(const string& name, const string& path) {
   if(handle) close();
-  handle = (uintptr_t)dlopen(string("/usr/lib/higan/lib", name, ".so"), RTLD_LAZY);
+  handle = (uintptr_t)dlopen(string("lib", name, ".so"), RTLD_LAZY);
+  if(!handle) handle = (uintptr_t)dlopen(string("/usr/lib/higan/lib", name, ".so"), RTLD_LAZY);
   if(!handle) handle = (uintptr_t)dlopen(string(path, !path.empty() && !path.endsWith("/") ? "/" : "", "lib", name, ".so"), RTLD_LAZY);
   if(!handle) handle = (uintptr_t)dlopen(string("/usr/local/lib/lib", name, ".so"), RTLD_LAZY);
   return handle;

Attachment: signature.asc
Description: Digital signature

Reply via email to