请帮忙!目前我正在使用oculus rift,安装了ros,我尝试安装gazebo cmake并通过,但是当我尝试运行gazebo时输出如下: gzserver:加载共享库时出错:libdart.so.6.1:无法打开共享对象文件:没有这样的文件或目录
还试图安装libdart6包,但似乎没什么用。我在这里绝望。请帮忙
答案 0 :(得分:0)
您缺少软件的依赖关系。有一个共享对象(.so文件)仍然在路径中丢失。路径通常是目录列表,其中软件查找其依赖项。
如果您在名为/home/random/another/dir/
的目录中
并且此目录包含可执行文件,您可以通过
./executable
./
表示shell在当前工作目录中搜索executable
。如果你想运行一个可执行文件,我只需要./只是必需的。
如果有任何软件抱怨缺少家属,您可以使用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
我无法在标准的debian jessie中找到它,并且一些搜索似乎表明你需要先配置一个ppa来获取它。那有点乱。
http://gazebosim.org/tutorials?tut=install_from_source
以上链接指出:
sudo apt-add-repository ppa:dartsim
sudo apt-get update
sudo apt-get install libdart-core5-dev
可用于添加所述ppa,并可能安装“libdart库”。有可能
libdart.so.5.1
但不是libdart.so.6.1
apt-get install libdart-core6-dev
也许很幸运。 (只是不遵循页面上的说明,它们可能与您的个人目标无关)
寻找解决方案的好看:)
答案 1 :(得分:0)
首先,感谢您的帮助! 最后我去了dart的页面,下载了dart.6.1.2,提取它,构建它然后它工作了。有点像白痴哈哈。你的sugestions帮助了我很多! Ť