-bash: sbin/lua: No such file or directory解决办法

说明

有时候,可执行文件Lua 明显存在,运行时会提示-bash: sbin/lua: No such file or directory。首先想到的应该是依赖的动态链接库缺少。

原因

首先查看lua所依赖的动态链接库有哪些

$ ldd sbin/lua
# 输出:
linux-vdso.so.1 =>  (0x00007ffcebb90000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fb4a32a1000)
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fb4a309c000)
    libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fb4a2e86000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fb4a2abc000)
    /opt/compiler/gcc-4.8.2/lib64/ld-linux-x86-64.so.2 => /lib64/ld-linux-x86-64.so.2 (0x0000556c510df000)

然后一个一个目录查看.so文件是否存在
最后发现/opt/compiler/gcc-4.8.2/lib64/ld-linux-x86-64.so.2 不存在。

解决

ld-linux-x86-64.so.2 这个肯定在其他目录有,所以从根目录查找该so文件,并copy一份到/opt/compiler/gcc-4.8.2/lib64/ 下

$ find / -name ld-linux-x86-64.so.2

# 然后复制一份到lua所依赖的那个目录

$ cp /lib64/ld-linux-x86-64.so.2 /opt/compiler/gcc-4.8.2/lib64/

然后再执行就成功了

你可能感兴趣的:(Linux)