Hello,
This is a bit of a long shot. This is related to https://forums.opensuse.org/showthread.php/548118-nVidia-Cuda-Bumblebee-Codecs-quot-Recipe-quot-not-working-on-openSUSE-15-2
I discovered that the /usr/lib64/libvglfaker.so in LEAP 15.2 and TW are compiled without links to libGLX or libGLdispatch. Right now, the work around is to use the libvglfaker from LEAP 15.1 but I want to recompile the libvglfaker.so provided by VirtualGL in LEAP 15.2 repository.
Working15.1 libvglfaker.so:
ldd /usr/lib64/libvglfaker.so
linux-vdso.so.1 (0x00007fff9eaf5000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007ff3da73c000)
libGL.so.1 => /usr/lib64/libGL.so.1 (0x00007ff3da4ab000)
libturbojpeg.so.0 => /usr/lib64/libturbojpeg.so.0 (0x00007ff3da23a000)
libXv.so.1 => /usr/lib64/libXv.so.1 (0x00007ff3da034000)
libX11.so.6 => /usr/lib64/libX11.so.6 (0x00007ff3d9cf3000)
libXext.so.6 => /usr/lib64/libXext.so.6 (0x00007ff3d9ae1000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007ff3d98c2000)
libm.so.6 => /lib64/libm.so.6 (0x00007ff3d958a000)
libc.so.6 => /lib64/libc.so.6 (0x00007ff3d91cf000)
/lib64/ld-linux-x86-64.so.2 (0x00007ff3dabf4000)
libGLX.so.0 => /usr/lib64/libGLX.so.0 (0x00007ff3d8f9d000)
libGLdispatch.so.0 => /usr/lib64/libGLdispatch.so.0 (0x00007ff3d8ce7000)
libxcb.so.1 => /usr/lib64/libxcb.so.1 (0x00007ff3d8abe000)
libXau.so.6 => /usr/lib64/libXau.so.6 (0x00007ff3d88ba000)
not working 15.2/TW libvglfaker.so
ldd /usr/lib64/libvglfaker.so.back
linux-vdso.so.1 (0x00007f58ab51c000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f58ab3fd000)
libturbojpeg.so.0 => /usr/lib64/libturbojpeg.so.0 (0x00007f58ab35e000)
libXv.so.1 => /usr/lib64/libXv.so.1 (0x00007f58ab356000)
libX11.so.6 => /usr/lib64/libX11.so.6 (0x00007f58ab211000)
libXext.so.6 => /usr/lib64/libXext.so.6 (0x00007f58ab1fc000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f58ab1da000)
libm.so.6 => /lib64/libm.so.6 (0x00007f58ab092000)
libc.so.6 => /lib64/libc.so.6 (0x00007f58aaec7000)
/lib64/ld-linux-x86-64.so.2 (0x00007f58ab51e000)
libxcb.so.1 => /usr/lib64/libxcb.so.1 (0x00007f58aae9c000)
libXau.so.6 => /usr/lib64/libXau.so.6 (0x00007f58aae97000)
I don’t want to go as far as to re-compiling VirtualGL from source (another issue with Turbo-Jpeg) and I’ve already confirmed this bug https://bugzilla.opensuse.org/show_bug.cgi?id=1176422
I am trying to compile just this library as a “cheap” solution. I tried compiling with (so.back is the original TW library)
gcc -shared -Wl, /usr/lib64/libvglfaker.so.back /lib64/libdl.so.2 /usr/lib64/libGL.so /usr/lib64/libturbojpeg.so.0 /usr/lib64/libXv.so.1 /usr/lib64/libX11.so.6 /usr/lib64/libXext.so.6 /lib64/libpthread.so.0 /lib64/libm.so.6 /lib64/libc.so.6 /lib64/ld-linux-x86-64.so.2 /usr/lib64/libGLX.so.0 /usr/lib64/libGLdispatch.so /usr/lib64/libxcb.so.1 -o ./libvglfaker.so
links are correct
linux-vdso.so.1 (0x00007ffe9d1d6000)
libvglfaker.so (0x00007fbfa4f09000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007fbfa4ed2000)
libGL.so.1 => /usr/lib64/libGL.so.1 (0x00007fbfa4e46000)
libturbojpeg.so.0 => /usr/lib64/libturbojpeg.so.0 (0x00007fbfa4da7000)
libXv.so.1 => /usr/lib64/libXv.so.1 (0x00007fbfa4d9f000)
libX11.so.6 => /usr/lib64/libX11.so.6 (0x00007fbfa4c5a000)
libXext.so.6 => /usr/lib64/libXext.so.6 (0x00007fbfa4c43000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fbfa4c21000)
libm.so.6 => /lib64/libm.so.6 (0x00007fbfa4adb000)
libc.so.6 => /lib64/libc.so.6 (0x00007fbfa4910000)
/lib64/ld-linux-x86-64.so.2 (0x00007fbfa4f15000)
libGLX.so.0 => /usr/lib64/libGLX.so.0 (0x00007fbfa48de000)
libGLdispatch.so.0 => /usr/lib64/libGLdispatch.so.0 (0x00007fbfa4826000)
libxcb.so.1 => /usr/lib64/libxcb.so.1 (0x00007fbfa47f9000)
libXau.so.6 => /usr/lib64/libXau.so.6 (0x00007fbfa47f4000)
but obviously compiled libvglfaker.so is not the right size or length and and it does not work and is missing the simplest package.
libdlfaker.so: undefined symbol: _vgl_dlopen
Is there a way to re-compile a pre-compiled shared libraries provided by Zypper with more linkers?