On Tue, Apr 09, 2019 at 10:05:08AM +0100, Patrick Welche wrote: > Wondering why I couldn't get glmark2 to work, I see the following oddity: > > > #include <dlfcn.h> > #include <stdio.h> > > int main() > { > void *handle; > > handle = dlopen("/usr/X11R7/lib/libGL.so.2", RTLD_NOW | RTLD_NODELETE); > printf("GL version 2 handle = %p\n", handle); > > handle = dlopen("/usr/X11R7/lib/libGL.so.3", RTLD_NOW | RTLD_NODELETE); > printf("GL version 3 handle = %p\n", handle); > > return 0; > } > > $ ./glmark > GL version 2 handle = 0x7f7ff7ef9800 > GL version 3 handle = 0x0 > $ file /usr/X11R7/lib/libGL.so.* > /usr/X11R7/lib/libGL.so.2: symbolic link to libGL.so.2.0 > /usr/X11R7/lib/libGL.so.2.0: ELF 64-bit LSB shared object, x86-64, version 1 > (SYSV), dynamically linked, for NetBSD 8.99.3, not stripped > /usr/X11R7/lib/libGL.so.3: symbolic link to libGL.so.3.0 > /usr/X11R7/lib/libGL.so.3.0: ELF 64-bit LSB shared object, x86-64, version 1 > (SYSV), dynamically linked, for NetBSD 8.99.37, not stripped > > so why will the old library dlopen, but not the new one?!
Sorry, my magic 8-ball is broken. dlerror? Joerg