Error loading shared library libjvm.so

10 篇文章 0 订阅
7 篇文章 0 订阅
Error occurred during initialization of VM
Unable to load native library: Error loading shared library libjvm.so: No such file or directory (needed by /usr/lib/jvm/java-1.8-openjdk/jre/lib/amd64/libjava.so)

根据提示,找不到 llibjvm.so 动态库,查找libjvm.so路径,如下图所示,主机上libjvm.so路径为

/usr/lib/jvm/default-jvm/jre/lib/amd64/server

find / -name 'libjvm.so'

将上述路径添加到 环境变量中 LD_LIBRARY_PATH 中,修改 /etc/profile,添加以下内容,然后执行 source /etc/profile,即可。

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/jvm/default-jvm/jre/lib/amd64/server

关于 LD_LIBRARY_PATH

LD_LIBRARY_PATH是Linux环境变量名,该环境变量主要用于指定查找共享库(动态链接库)时除了默认路径之外的其他路径。

移植程序时的经常碰到需要使用一些特定的动态库,而这些编译好的动态库放在我们自己建立的目录里,这时可以将这些目录设置到LD_LIBRARY_PATH中。

示例:

当执行函数动态链接.so时,如果此文件不在缺省目录下‘/lib’ and ‘/usr/lib’.

那么就需要指定环境变量LD_LIBRARY_PATH

假如现在需要在已有的环境变量上添加新的路径名,则采用如下方式:

LD_LIBRARY_PATH=NEWDIRS:$LD_LIBRARY_PATH.(newdirs是新的路径串)

(注:GNU系统可以自动添加在 /etc/ld.so.conf文件中来实现环境变量的设置)

设置方法

编辑

在linux下可以用export命令来设置这个值,比如

在linux终端下输入:export LD_LIBRARY_PATH=/opt/au1200_rm/build_tools/bin: $LD_LIBRARY_PATH:

然后再输入:export

即会显示是否设置正确

export方式在重启后失效,所以也可以用 vim /etc/bashrc ,修改其中的LD_LIBRARY_PATH变量。

例如:LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/au1200_rm/build_tools/bin。

区别 LIBRARY_PATH

编辑

StackOverflow 上关于 LIBRARY_PATH 和 LD_LIBRARY_PATH 的解释如下:

LIBRARY_PATHis used by gcc before compilation to search for directories containing libraries that need to be linked to your program.

LD_LIBRARY_PATHis used by your program to search for directories containing the libraries after it has been successfully compiled and linked.

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值