在使用coreutils的时候出现了错误,动态链接库libsec.so.1缺少相应的版本。
错误描述:
# /usr/local/bin/ls
ld.so.1: ls: fatal: libsec.so.1: version `SUNW_1.2' not found (required by file /usr/local/bin/ls)
ld.so.1: ls: fatal: libsec.so.1: open failed: No such file or directory
Killed
使用ldd命令查看一下,确实是相应的版本缺少:
# ldd /usr/local/bin/ls
libintl.so.8 => /usr/local/lib/libintl.so.8
libsec.so.1 => /usr/lib/libsec.so.1
libsec.so.1 (SUNW_1.2) => (version not found)
libc.so.1 => /usr/lib/libc.so.1
librt.so.1 => /usr/lib/librt.so.1
libgcc_s.so.1 => /usr/local/lib/libgcc_s.so.1
libiconv.so.2 => /usr/local/lib/libiconv.so.2
libaio.so.1 => /lib/libaio.so.1
libmd5.so.1 => /lib/libmd5.so.1
libm.so.2 => /lib/libm.so.2
但是libsec.so.1是存在的,可以看到:
# ls -l /lib/libsec.so.1
-rwxr-xr-x 1 root bin 15436 Aug 9 2005 /lib/libsec.so.1
解决方法:
# LD_NOVERSION=yes
# export LD_NOVERSION
然后可以看到,上面红色的错误不存在了。
# ldd /usr/local/bin/ls
libintl.so.8 => /usr/local/lib/libintl.so.8
libsec.so.1 => /usr/lib/libsec.so.1
libc.so.1 => /usr/lib/libc.so.1
librt.so.1 => /usr/lib/librt.so.1
libgcc_s.so.1 => /usr/local/lib/libgcc_s.so.1
libiconv.so.2 => /usr/local/lib/libiconv.so.2
libaio.so.1 => /lib/libaio.so.1
libmd5.so.1 => /lib/libmd5.so.1
libm.so.2 => /lib/libm.so.2
同时可以正确运行/usr/local/bin/ls在Solaris 10下面彩色显示文件和文件夹: