解决ls: relocation error: /lib64/libacl.so.1: symbol getxattr, version ATTR_1.0 not defined in file libattr.so.1 with link time reference

发布时间 2023-11-25 22:24:22作者: 何帅

解决ls: relocation error: /lib64/libacl.so.1: symbol getxattr, version ATTR_1.0 not defined in file libattr.so.1 with link time reference

参考:https://www.cnblogs.com/biohujun/p/17613372.html
 
这个问题是在我conda 装了一个包之后就出现了,ls等最基础的命令没有办法用了,网上的帖子也没有很好解决我的问题,而且我试了把我刚刚安的包删掉也没有解决,后面仔细分析一下这个报错,猜测应该是包安装的过程中本地conda中的一些依赖与系统中的一些起了冲突。通过
ldd /lib64/libacl.so.1

查看libacl.so.1所有的依赖包:

[heshuai@login01 ~]$ ldd /lib64/libacl.so.1

linux-vdso.so.1 (0x00007ffeb2fc0000)

libattr.so.1 => /data/home/heshuai/Miniconda3N/lib/libattr.so.1(0x00002ae5d9146000)

libc.so.6 => /lib64/libc.so.6 (0x00002ae5d934b000)

/lib64/ld-linux-x86-64.so.2 (0x00002ae5d8d1a000)

可以看到libattr.so.1是我自己本地miniconda的,这可能就是冲突的关键,后面就直接:
rename /data/home/heshuai/Miniconda3N/lib/libattr.so.1 /data/home/heshuai/Miniconda3N/lib/libattr.so.1.bak /data/home/heshuai/Miniconda3N/lib/libattr.so.1

修改完后,miniconda  libattr.so.1文件已经被隐藏了,取而代之的是系统自带的同名文件,问题被解决

[heshuai@login01 ~]$ ldd /lib64/libacl.so.1

linux-vdso.so.1 (0x00007ffeb2fc0000)

libattr.so.1 => /lib64/libattr.so.1 (0x00002ae5d9146000)

libc.so.6 => /lib64/libc.so.6 (0x00002ae5d934b000)

/lib64/ld-linux-x86-64.so.2 (0x00002ae5d8d1a000)