暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

linux系统error while loading shared libraries: libjli.so问题解决

IT运维大爆炸 2023-05-19
2601

1、简介

配置jdk 都可以眯着眼配置了,然而今天配置天翼云服务器发生了意外,差点啪啪打脸,地发现有一个依赖的so文件从来没找见过,也没有了解过,最后发觉天翼云服务解压缩少好多东西,其中就少了 jdk1.8/lib/amd64/jli/libjli.so 也不知道是啥东西,手记一下,万一下次遇到也是经验。执行jar命令,javac命令执行报错。

javac: error while loading shared libraries: libjli.so: cannot open shared object file: No such file or directory

2、设置java软链接

通过java -version确定JDK版本(如果存在多个JDK版本),自己的是jdk1.8.0_192。通过export命令,确定JAVA_HOME

[root@node2 ~]# export|grep JAVA_HOME
declare -x JAVA_HOME="/usr/local/java"

查看是否存在/usr/bin/java指向/usr/java/jdk1.8.0_192/bin/java的软链接,如果指向不正确可以通过rm命令进行删除

[root@node2 ~]# ls -l usr/bin/java
# 删除软链接
[root@node2 ~]# rm -rf usr/bin/java

重新设置软链接,使其指向对应版本的java

[root@node2 ~]# ln -s usr/java/jdk1.8.0_192/bin/java usr/bin/java

3、更新ld_path

通过find命令,找到libjli.so

[root@node2 ~]# find  -name libjli.so
# 凭借自己的经验,认为可以直接搜索/usr目录的
[root@node2 ~]# find /usr -name libjli.so

自己这里有两个路径,都存在libjli.so

随便选择其中一个路径,追加到/etc/ld.so.conf文件中

[root@node2 ~]# echo '/usr/java/jdk1.8.0_192/lib/amd64/jli/libjli.so' >> /etc/ld.so.conf
# 通过ldconfig命令使/etc/ld.so.conf生效
[root@node2 ~]# ldconfig /etc/ld.so.conf  

若出现报错信息,可以先删除报错信息中的.py文件,再重新执行ldconfig

ldconfig: /usr/local/lib64/libstdc++.so.6.0.22-gdb.py is not an ELF file - it has the wrong magic bytes at the start.

至此,再次重新启动服务,发现服务成功启动!完美 👍 👍 👍

欢迎大家扫码关注:

本公众号只写原创,不接广告、不接广告、不接广告。下期小伙伴想学习什么技术,可以私信发我吆。



文章转载自IT运维大爆炸,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论