gzserver:加载共享库时出错:libdart.so.6.1:无法打开共享对象文件:没有这样的文件或目录

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

请帮忙!目前我正在使用 oculus rift,安装了 ros,我尝试安装 gazebo cmake 并通过,但是当我尝试 运行 gazebo 时,输出如下: gzserver:加载共享库时出错:libdart.so.6.1:无法打开共享对象文件:没有这样的文件或目录

还尝试安装 libdart6 软件包,但似乎没有任何效果。我在这里很绝望。请帮忙

缺少软件的依赖项。路径中仍然缺少共享对象(.so 文件)。路径通常是目录列表,软件在其中查找其依赖项。

如果您位于名为 /home/random/another/dir/ 的目录中 并且这个目录包含一个可执行文件,你可以通过

来执行它
./executable

./表示shell在当前工作目录中搜索executable。我最 shells ./ 只有当你想 运行 一个可执行文件时才需要。

如果任何软件抱怨缺少依赖项,您可以使用 ldd 来检查这些依赖项。 首先确保您在正确的目录中,然后运行 ldd executable_file

我举个例子:

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$ 

如您所见,我的 ts3client_linux_x86 可执行文件会丢失 libc++.so.1, libc++abi.so.1

您使用这些名称作为安装包的提示。

Linux Mint 像 Debian/Ubuntu 一样使用 apt-get 安装软件。这两者的文档比 Mint 好一点(至少在数量和可访问性方面)。所以 如果在 Linux Mint.

上搜索 debian/ubuntu 文档,你可能也会受益

回到你的问题: ldd 不会告诉您比您已知的更多信息,即您缺少此共享对象 libdart.so.6.1

我在 standart debian jessie 中找不到它,一些搜索似乎表明您需要先配置 ppa 才能获得它。有点乱。

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

以上 link 指出:

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

可用于添加所述 ppa,并可能安装 "a libdart library"。有可能 libdart.so.5.1 但不是 libdart.so.6.1

然而,我没勇气检查自己 ;) 您现在可以做的是添加 ppa,更新 apt 并尝试 apt-get install libdart-core6-dev

也许运气好。 (只是不要按照页面上的说明进行操作,它们可能与您的个人目标无关)

寻找解决方案的好样子:)

首先感谢您的帮助! 最后我去了 dart 的页面,下载了 dart.6.1.2,解压缩,构建它然后它工作了。有点像个白痴哈哈。你的建议对我帮助很大! T