我正在尝试在 Pop OS 中运行 COMSOL 许可证管理器;但是,当我尝试运行时:
$ ./lmgrd -c ../license.dat -l /var/tmp/comsol55.log
我收到以下错误:
bash:./lmgrd:没有此文件或目录
该lmgrd
文件显然存在于当前目录中。运行ldd lmgrd
将产生以下输出:
linux-vdso.so.1 (0x00007acd5ec0d000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007acd5ebf0000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007acd5eb09000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007acd5eae9000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007acd5e800000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007acd5eae4000)
/lib64/ld-lsb-x86-64.so.3 => /lib64/ld-linux-x86-64.so.2 (0x00007acd5ec0f000)
这里的问题是缺少第一个依赖项吗?如果是,在 Pop OS 中添加该依赖项需要什么包?
不幸的是
ldd
,这种情况会产生误导:您正在查看的二进制文件所请求的解释器在系统中不存在,但
ldd
会忽略这一点并使用其内置的动态加载器列表(要查看您的加载器,请运行grep RTLDLIST= $(command -v ldd)
)。内核不会忽略所请求的解释器,因此无法运行该二进制文件。(
ldd
依赖动态加载器来识别所需的库,这就是为什么它使用预定义的加载器而不是二进制文件中指定的解释器。)如果您的发行版仍有该
lsb
软件包,安装该软件包将修复此问题;否则,您可以手动创建缺失的链接: