Ros gzserver:加载共享库时出错:libdart.so.6.1:无法打开共享对象文件:没有这样的文件或目录
请帮忙!目前,我正在与oculus rift合作,安装了ros,我尝试安装gazebo cmake并使其通过,但当我尝试运行gazebo时,输出如下: gzserver:加载共享库时出错:libdart.so.6.1:无法打开共享对象文件:没有这样的文件或目录Ros gzserver:加载共享库时出错:libdart.so.6.1:无法打开共享对象文件:没有这样的文件或目录,ros,Ros,请帮忙!目前,我正在与oculus rift合作,安装了ros,我尝试安装gazebo cmake并使其通过,但当我尝试运行gazebo时,输出如下: gzserver:加载共享库时出错:libdart.so.6.1:无法打开共享对象文件:没有这样的文件或目录 还尝试安装libdart6软件包,但似乎没有任何效果。我在这里绝望了。请帮助您的软件缺少依赖项。路径中仍缺少一个共享对象(一个.so文件)。路径通常是目录列表,软件在其中查找其依赖项 如果您所在的目录名为/home/random/othe
还尝试安装libdart6软件包,但似乎没有任何效果。我在这里绝望了。请帮助您的软件缺少依赖项。路径中仍缺少一个共享对象(一个.so文件)。路径通常是目录列表,软件在其中查找其依赖项 如果您所在的目录名为
/home/random/other/dir/
这个目录包含一个可执行文件,你可以通过
./executable
/
表示shell在当前工作目录中搜索可执行文件。I仅当您希望运行可执行文件时,/才是必需的
如果任何软件抱怨缺少依赖项,您可以使用ldd
检查这些依赖项。
首先确保您位于正确的目录,然后运行ldd可执行文件
我在这里举个例子:
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
您可以使用这些名称作为要安装的软件包的提示
LinuxMint使用类似Debian/Ubuntu的apt-get安装软件。这两个版本的文档比Mint上的要好一点(至少在数量和可访问性方面)。因此,如果在LinuxMint上搜索debian/ubuntu文档,您可能也会受益匪浅
回到你的问题:
ldd不会告诉您比您知道的更多的信息,即您缺少此共享对象libdart.so.6.1
我在standart debian jessie中找不到它,稍微搜索一下似乎表明您需要先配置ppa才能获得它。那有点乱
上述链接表明:
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
然而,我不能纵火来约束自己;)
您现在可以做的是添加ppa,更新apt并尝试apt获取安装libdart-core6-dev
也许你会幸运的。(只是不要遵循页面上的说明,它们可能与您的个人目标无关)
找到解决方案后效果不错:)首先,感谢您的帮助!
最后,我访问了dart的页面,下载了dart.6.1.2,提取它,构建它,然后它开始工作。感觉有点像个白痴哈哈。你的建议对我帮助很大!T嘿,您是否尝试过lddgzserver
并检查那里缺少的lib的输出?您还可以添加您的操作系统,因为库包在每个分发版上通常有不同的名称dd:./gzserver:没有我正在使用的文件或目录。该错误告诉您ldd的参数“./gzserver”不在您查找它的位置。最好指定要运行的gzserver二进制文件的完整绝对路径。像ldd/home/zujankaaa/gzserver/gzserver
。仅当您位于gzserver二进制文件所在的目录中时,您发出的命令才起作用。