java - 无法打开共享对象文件: No such file or directory error while run time

标签 java c linux debugging gcc

我已经成功编译了该文件,但现在出现以下错误

export LD_LIBRARY_PATH=/opt/mcr/v717/sys/java/jre/glnxa64/jre/lib/amd64/server/:D_LIBRARY_PATH
./invoke
./invoke: error while loading shared libraries: libjvm.so: cannot open shared object file: No such file or directory
make: *** [run] Error 127

我已经检查了库路径,仍然收到此错误。请向我建议好的解决方案以及一些概念性信息。

run: Prog.class invoke
        export LD_LIBRARY_PATH=/opt/mcr/v717/sys/java/jre/glnxa64/jre/lib/amd64/server/:$LD_LIBRARY_PATH
        ./invoke

最佳答案

更仔细地查看你的输出:

export LD_LIBRARY_PATH=/opt/...blah...:D_LIBRARY_PATH
                                       ^
here-----------------------------------'

Make 已将 $L 解释为 make 变量,并用空字符串扩展它。

另一个问题是从子 shell 导出变量可能无效。

您需要将 $“转义”为 $$,并将两者合并为一个命令:

run: Prog.class invoke
        env LD_LIBRARY_PATH=/opt/mcr/v717/sys/java/jre/glnxa64/jre/lib/amd64/server/:$$LD_LIBRARY_PATH ./invoke

注意:如果不明显,我已将 export 更改为 env

关于java - 无法打开共享对象文件: No such file or directory error while run time,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26728162/

相关文章:

c - 如何使用按位运算将结构体值分配给其他结构体值?

java - C# 服务器套接字通过 NAT 到 Android 套接字

java - isDisplayed 对于特定元素始终返回 false

c - 在 C 程序中嵌入二进制文件

c - uClibc/glibc 是否提供任何将错误重定向到系统日志的功能?

linux - While 语句有助于 bash 脚本编写

java - 通过嵌入式使用远程 janusgraph 连接有什么优点和缺点?

java - 如何在JDOM中写入xml属性值?

linux - 尝试在 x 虚拟帧缓冲区上运行 Racket 程序

regex - Linux 从命令行查找和替换