Search code examples
ros

gzserver: error while loading shared libraries: libdart.so.6.1: cannot open shared object file: No such file or directory


Please help! Currently I am working with oculus rift, installed ros and I tried to install gazebo cmake and make passed, but when I tried to run gazebo the output is following: gzserver: error while loading shared libraries: libdart.so.6.1: cannot open shared object file: No such file or directory

Also tried to install libdart6 packages, but nothing seems to work. I am desperate here. Pls help


Solution

  • You are missing a dependencies for your software. there is a shared object (a .so file) that is still missing in the path. A path usually is a list of directories, where software looks for its dependencies.

    if you are in a directory called /home/random/another/dir/ and this directory contains a executable file, you can execite it via

    ./executable
    

    the ./ indicates that the shell searches executable in the current working directory. I most shells the ./ only is necessary if you want to run an executable.

    If any software complains about missing dependecies you can use the ldd to check for those. first ensure you are in the right directory, then run ldd executable_file

    Ill give you an example here:

    g@toolbox:~/Downloads/TeamSpeak3-Client-linux_x86$ ls
    CHANGELOG     imageformats    libQt5Core.so.5     libQt5Sql.so.5      libquazip.so  platforms        qt.conf        sqldrivers    ts3client_linux_x86
    error_report  libc++abi.so.1  libQt5Gui.so.5      libQt5Widgets.so.5  news          plugins          sound          styles        ts3client_runscript.sh
    gfx           libc++.so.1     libQt5Network.so.5  libQt5XcbQpa.so.5   package_inst  plugin_sdk.html  soundbackends  translations  update
    g@toolbox:~/Downloads/TeamSpeak3-Client-linux_x86$ ldd ts3client_linux_x86 
        linux-gate.so.1 (0xf770a000)
        libquazip.so => not found
        libdl.so.2 => /lib/i386-linux-gnu/i686/cmov/libdl.so.2 (0xf76ea000)
        librt.so.1 => /lib/i386-linux-gnu/i686/cmov/librt.so.1 (0xf76e0000)
        libz.so.1 => /lib/i386-linux-gnu/libz.so.1 (0xf76c3000)
        libm.so.6 => /lib/i386-linux-gnu/i686/cmov/libm.so.6 (0xf767d000)
        libQt5Core.so.5 => /usr/lib/i386-linux-gnu/sse2/libQt5Core.so.5 (0xf7145000)
        libQt5Gui.so.5 => /usr/lib/i386-linux-gnu/sse2/libQt5Gui.so.5 (0xf6bc5000)
        libQt5Network.so.5 => /usr/lib/i386-linux-gnu/libQt5Network.so.5 (0xf6a36000)
        libQt5Widgets.so.5 => /usr/lib/i386-linux-gnu/libQt5Widgets.so.5 (0xf6337000)
        libQt5Sql.so.5 => /usr/lib/i386-linux-gnu/libQt5Sql.so.5 (0xf62ed000)
        libresolv.so.2 => /lib/i386-linux-gnu/i686/cmov/libresolv.so.2 (0xf62d5000)
        **libc++.so.1 => not found
        libc++abi.so.1 => not found**
        libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xf62b7000)
        libpthread.so.0 => /lib/i386-linux-gnu/i686/cmov/libpthread.so.0 (0xf629b000)
        libc.so.6 => /lib/i386-linux-gnu/i686/cmov/libc.so.6 (0xf60ee000)
        /lib/ld-linux.so.2 (0x56607000)
        libicui18n.so.52 => /usr/lib/i386-linux-gnu/libicui18n.so.52 (0xf5ecb000)
        libicuuc.so.52 => /usr/lib/i386-linux-gnu/libicuuc.so.52 (0xf5d47000)
        libglib-2.0.so.0 => /lib/i386-linux-gnu/libglib-2.0.so.0 (0xf5c1f000)
        libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xf5b2d000)
        libpng12.so.0 => /lib/i386-linux-gnu/libpng12.so.0 (0xf5b00000)
        libharfbuzz.so.0 => /usr/lib/i386-linux-gnu/libharfbuzz.so.0 (0xf5aa3000)
        libGL.so.1 => /usr/lib/i386-linux-gnu/libGL.so.1 (0xf598b000)
        libgobject-2.0.so.0 => /usr/lib/i386-linux-gnu/libgobject-2.0.so.0 (0xf592d000)
        libX11.so.6 => /usr/lib/i386-linux-gnu/libX11.so.6 (0xf57db000)
        libicudata.so.52 => /usr/lib/i386-linux-gnu/libicudata.so.52 (0xf416e000)
        libpcre.so.3 => /lib/i386-linux-gnu/libpcre.so.3 (0xf40fa000)
        libfreetype.so.6 => /usr/lib/i386-linux-gnu/libfreetype.so.6 (0xf4048000)
        libgraphite2.so.3 => /usr/lib/i386-linux-gnu/libgraphite2.so.3 (0xf4020000)
        libnvidia-tls.so.340.102 => /usr/lib/i386-linux-gnu/tls/libnvidia-tls.so.340.102 (0xf401b000)
        libnvidia-glcore.so.340.102 => /usr/lib/i386-linux-gnu/libnvidia-glcore.so.340.102 (0xf1a87000)
        libXext.so.6 => /usr/lib/i386-linux-gnu/libXext.so.6 (0xf1a72000)
        libffi.so.6 => /usr/lib/i386-linux-gnu/libffi.so.6 (0xf1a69000)
        libxcb.so.1 => /usr/lib/i386-linux-gnu/libxcb.so.1 (0xf1a43000)
        libXau.so.6 => /usr/lib/i386-linux-gnu/libXau.so.6 (0xf1a3f000)
        libXdmcp.so.6 => /usr/lib/i386-linux-gnu/libXdmcp.so.6 (0xf1a39000)
    g@toolbox:~/Downloads/TeamSpeak3-Client-linux_x86$ 
    

    as you can see my ts3client_linux_x86 executable would be missing libc++.so.1, libc++abi.so.1

    you use these names as hints on what package to install.

    Linux Mint uses apt-get like Debian/Ubuntu to install software. The documentation for those two is a bit better than on Mint (at least in quantity and accessibility terms). So you might benefit searching for debian/ubuntu documentation, too, if on Linux Mint.

    back to your problem: ldd would not tell you more than you already knew, i.e. that you are missing this shared object libdart.so.6.1

    I can not find it in standart debian jessie and a bit of searching seems to indicate that you need to configure a ppa first to get it. thats a bit messy.

    http://gazebosim.org/tutorials?tut=install_from_source

    this link above states, that:

    sudo apt-add-repository ppa:dartsim
    sudo apt-get update
    sudo apt-get install libdart-core5-dev
    

    can be used to add said ppa, and might install "a libdart library". It might be libdart.so.5.1 but not libdart.so.6.1

    I however cannot be arsed to check myself ;) What you could do now, is add the ppa, update apt and try to apt-get install libdart-core6-dev

    And perhaps be lucky. (just dont follow the instructions on the page, they might be unrelated to your personal goal)

    Good Look with finding a solution :)