cannot open shared object file: No such file or directory

简介: cannot open shared object file: No such file or directory

今天集成声网native rtc-linux-server-sdk的时候,遇到报错:

Caused by: java.lang.UnsatisfiedLinkError: /usr/java/packages/lib/libbinding.so: libagora_rtc_sdk.so: cannot open shared object file: No such file or directory
 at java.base/jdk.internal.loader.NativeLibraries.load(Native Method) ~[na:na]
 at java.base/jdk.internal.loader.NativeLibraries$NativeLibraryImpl.open(NativeLibraries.java:388) ~[na:na]
 at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:232) ~[na:na]
 at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:174) ~[na:na]
 at java.base/jdk.internal.loader.NativeLibraries.findFromPaths(NativeLibraries.java:315) ~[na:na]
 at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:287) 

解决方式

配置环境变量

[root@dev ~]# vim ~/.bash_profile 
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/java/packages/lib

主要是

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/java/packages/lib

这里的/usr/java/packages/lib就是放我们存放so文件的地方

[root@dev lib]# ll /usr/java/packages/lib/
总用量 36392
-rwxr-xr-x 1 root root   143088 11月 17 15:10 agora_rtm.jar
-rwxr-xr-x 1 root root    60532 11月 17 15:10 authentication-2.0.0.jar
-rwxr-xr-x 1 root root   335042 11月 17 15:10 commons-codec-1.11.jar
-rwxr-xr-x 1 root root  2510096 11月 17 15:10 hutool-all-5.8.20.jar
-rwxr-xr-x 1 root root   739728 11月 28 15:15 libagora-fdkaac.so
-rwxr-xr-x 1 root root  3472144 11月 28 15:15 libagora-ffmpeg.so
-rwxr-xr-x 1 root root 17865952 11月 28 15:15 libagora_rtc_sdk.so
-rwxr-xr-x 1 root root 10569400 11月 17 15:10 libagora_rtm_sdk.so
-rwxr-xr-x 1 root root  1556224 11月 28 15:15 libbinding.so
-rwxr-xr-x 1 root root       34 11月 17 15:10 PLACEHOLDER

然后是这个文件/etc/ld.so.conf

[root@dev lib]# vim /etc/ld.so.conf
include ld.so.conf.d/*.conf

/usr/java/packages/lib
[root@dev ldconfig

添加/usr/java/packages/lib到末尾

然后执行

[root@dev lib]# ldconfig
相关文章
|
1月前
|
Java 测试技术 数据库
hql投影查询之—— [Ljava.lang.Object; cannot be cast to cn.bdqn.guanMingSys.entity.Notice
hql投影查询之—— [Ljava.lang.Object; cannot be cast to cn.bdqn.guanMingSys.entity.Notice
11 0
|
4月前
FeignClient【问题】Cannot deserialize value of type``from Object value (token `JsonToken.START_OBJECT`)
FeignClient【问题】Cannot deserialize value of type``from Object value (token `JsonToken.START_OBJECT`)
201 0
|
4月前
|
Java
cannot open shared object file: No such file or directory
cannot open shared object file: No such file or directory
35 0
|
5月前
|
Java
java判断Object对象是否为空demo
java判断Object对象是否为空demo
|
16天前
|
JavaScript
js 字符串String转对象Object
该代码示例展示了如何将一个以逗号分隔的字符串(`'1.2,2,3,4,5'`)转换为对象数组。通过使用`split(',')`分割字符串并`map(parseFloat)`处理每个元素,将字符串转换成浮点数数组,最终得到一个对象数组,其类型为`object`。
|
1月前
|
存储 设计模式 Python
Python中的类(Class)和对象(Object)
Python中的类(Class)和对象(Object)
30 0
|
1月前
|
存储 JavaScript
JS中Map对象与object的区别
JS中Map对象与object的区别
|
5月前
判断Object对象是否为空
判断Object对象是否为空
|
2月前
|
Java 流计算
在Flink实时任务中,POJO(Plain Old Java Object)对象的模式演进可能会引起不兼容的问题
【2月更文挑战第6天】在Flink实时任务中,POJO(Plain Old Java Object)对象的模式演进可能会引起不兼容的问题
22 3
|
3月前
|
JavaScript 前端开发 测试技术
Proxy vs Object.defineProperty:哪种对象拦截机制更适合你?
Proxy vs Object.defineProperty:哪种对象拦截机制更适合你?