Page 1 of 2 12 LastLast
Results 1 to 10 of 18

Thread: compiling shared library with already-built library (libvglfaker.so)

  1. #1
    Join Date
    Oct 2014
    Location
    Switzerland
    Posts
    865

    Default compiling shared library with already-built library (libvglfaker.so)

    Hello,

    This is a bit of a long shot. This is related to https://forums.opensuse.org/showthre...-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:
    Code:
    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

    Code:
    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)
    Code:
    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
    Code:
    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.
    Code:
    libdlfaker.so: undefined symbol: _vgl_dlopen
    Is there a way to re-compile a pre-compiled shared libraries provided by Zypper with more linkers?

  2. #2

    Default Re: compiling shared library with already-built library (libvglfaker.so)

    Maybe update to 2.6.5 will solve this problem?
    https://sourceforge.net/projects/virtualgl/files/2.6.5/

    Fixed an oversight whereby the addresses of the interposed glDrawBuffers(), glGetString(), and glGetStringi() functions introduced in 2.6.3[2] and 2.6.4[1] were not returned from the interposed glXGetProcAddress() and glXGetProcAddressARB() functions.

  3. #3
    Join Date
    Oct 2014
    Location
    Switzerland
    Posts
    865

    Default Re: compiling shared library with already-built library (libvglfaker.so)

    Quote Originally Posted by Svyatko View Post
    Maybe update to 2.6.5 will solve this problem?
    https://sourceforge.net/projects/virtualgl/files/2.6.5/
    I am not opposed to the upgrade, and I am sure it will fix the issue, and I hope based on the bug report the developers will push it in the next update. There's a separate issue when I try to compile VirtualGL directly from their source git, OpenSUSE is missing the include shared header for turbojpeg. I guess rpm from the sourceforge should be good enough.

    In any case, is there any way to recompile a comiled shared library without the source code? I know that for smaller codes, we can link pretty much any packages with anything without the source code.

    Furthermore, where would be the source code be for this specific source code be as long as zypper is concerned?

  4. #4
    Join Date
    Jun 2008
    Location
    East of Podunk
    Posts
    33,077
    Blog Entries
    15

    Default Re: compiling shared library with already-built library (libvglfaker.so)

    Quote Originally Posted by SJLPHI View Post
    I am not opposed to the upgrade, and I am sure it will fix the issue, and I hope based on the bug report the developers will push it in the next update. There's a separate issue when I try to compile VirtualGL directly from their source git, OpenSUSE is missing the include shared header for turbojpeg. I guess rpm from the sourceforge should be good enough.

    In any case, is there any way to recompile a comiled shared library without the source code? I know that for smaller codes, we can link pretty much any packages with anything without the source code.

    Furthermore, where would be the source code be for this specific source code be as long as zypper is concerned?
    https://build.opensuse.org/package/s...ebee/VirtualGL
    Cheers Malcolm °¿° SUSE Knowledge Partner (Linux Counter #276890)
    SUSE SLE, openSUSE Leap/Tumbleweed (x86_64) | GNOME DE
    If you find this post helpful and are logged into the web interface,
    please show your appreciation and click on the star below... Thanks!

  5. #5
    Join Date
    Oct 2014
    Location
    Switzerland
    Posts
    865

    Default Re: compiling shared library with already-built library (libvglfaker.so)

    Quote Originally Posted by malcolmlewis View Post
    Is there any reason why this VirtualGL shouldn't be used instead of the official Leap 15.2/TW version? It seems to be mained more frequently.

  6. #6
    Join Date
    Jun 2008
    Location
    East of Podunk
    Posts
    33,077
    Blog Entries
    15

    Default Re: compiling shared library with already-built library (libvglfaker.so)

    Quote Originally Posted by SJLPHI View Post
    Is there any reason why this VirtualGL shouldn't be used instead of the official Leap 15.2/TW version? It seems to be mained more frequently.
    Hi
    It will, thought you might want to try it out before it's released...
    Cheers Malcolm °¿° SUSE Knowledge Partner (Linux Counter #276890)
    SUSE SLE, openSUSE Leap/Tumbleweed (x86_64) | GNOME DE
    If you find this post helpful and are logged into the web interface,
    please show your appreciation and click on the star below... Thanks!

  7. #7

    Default Re: compiling shared library with already-built library (libvglfaker.so)

    Quote Originally Posted by malcolmlewis View Post
    https://build.opensuse.org/package/show/home:dirkmueller:branches11:Bumblebee/VirtualGL
    Cannot find it in https://software.opensuse.org/package/VirtualGL .


    Quote Originally Posted by SJLPHI View Post
    Is there any reason why this VirtualGL shouldn't be used instead of the official Leap 15.2/TW version? It seems to be mained more frequently.
    Community repo from some person.

  8. #8
    Join Date
    Jun 2008
    Location
    East of Podunk
    Posts
    33,077
    Blog Entries
    15

    Default Re: compiling shared library with already-built library (libvglfaker.so)

    Quote Originally Posted by Svyatko View Post
    Cannot find it in https://software.opensuse.org/package/VirtualGL .




    Community repo from some person.
    Hi
    Branches on OBS are for maintenance, not normally available in search since by default it doesn't publish. Need an OBS account to download though (or use osc getbinaries).
    Cheers Malcolm °¿° SUSE Knowledge Partner (Linux Counter #276890)
    SUSE SLE, openSUSE Leap/Tumbleweed (x86_64) | GNOME DE
    If you find this post helpful and are logged into the web interface,
    please show your appreciation and click on the star below... Thanks!

  9. #9
    Join Date
    Oct 2014
    Location
    Switzerland
    Posts
    865

    Default Re: compiling shared library with already-built library (libvglfaker.so)

    Quote Originally Posted by Svyatko View Post
    Cannot find it in https://software.opensuse.org/package/VirtualGL .




    Community repo from some person.
    Yes, I just checked out his page (https://software.opensuse.org//downl...kage=VirtualGL) and it's registered on the software website. Also his packages are not digitally signed and YAST refuses to allow his repository to be added
    HTML Code:
    https://build.opensuse.org/package/binary/download/home:dirkmueller:branches:X11:Bumblebee/VirtualGL/openSUSE_Tumbleweed/x86_64/

  10. #10
    Join Date
    Oct 2014
    Location
    Switzerland
    Posts
    865

    Default Re: compiling shared library with already-built library (libvglfaker.so)

    Honestly, I hope his build merges with main release VGL because I cannot really recommend something like this in a set of instructions or recommend to someone but the build VGL is also broken.

Page 1 of 2 12 LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •