summary refs log tree commit diff
path: root/pkgs/development/libraries/mesa/dlopen-absolute-paths.diff
blob: 9a52265722391fd720d14d94103613757bac6237 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
diff --git a/loader.c b/loader.c
index 4fdf3c2..69ea22d 100644
--- a/src/loader/loader.c
+++ b/src/loader/loader.c
@@ -112,7 +112,7 @@ static void *udev_handle = NULL;
 static void *
 udev_dlopen_handle(void)
 {
-   char name[80];
+   char name[256];
    unsigned flags = RTLD_NOLOAD | RTLD_LOCAL | RTLD_LAZY;
    int version;
 
@@ -126,7 +126,7 @@ udev_dlopen_handle(void)
    /* First try opening an already linked libudev, then try loading one */
    do {
       for (version = 1; version >= 0; version--) {
-         snprintf(name, sizeof(name), "libudev.so.%d", version);
+         snprintf(name, sizeof(name), "@libudev@/lib/libudev.so.%d", version);
          udev_handle = dlopen(name, flags);
          if (udev_handle)
             return udev_handle;