系统为 CentOS 6.6,使用 yum 安装的 mutt,无法运行,提示 libtasn1.so.3 => not found,使用 ldd 命令来查看可执行文件依赖的动态链接库有哪些。
ldd /usr/bin/mutt libtasn1.so.3 => not found
解决步骤一:在系统中查找这个文件
find /* -type f -name "libtasn1*" /usr/lib/libtasn1.so.6.4.0 /usr/lib/pkgconfig/libtasn1.pc /usr/lib/libtasn1.so.6.4.2
但是发现这个库文件比较新,mutt 没办法使用,决定编译对应的 libtasn1 版本,libtasn1.so.3 对应的版本可能是 libtasn1-0.3.x 这个系列。
解决步骤二:手动编译 libtasn1
wget http://ftp.gnu.org/gnu/libtasn1/libtasn1-0.3.10.tar.gz tar zxf libtasn1-0.3.10.tar.gz cd libtasn1-0.3.10 # 指定安装目录 ./configure --prefix=/usr/local/libtasn1-0.3.10 make && sudo make install ls -lrt /usr/local/libtasn1-0.3.10/lib total 456 -rwxr-xr-x 1 root root 172275 Apr 28 18:18 libtasn1.so.3.0.10 lrwxrwxrwx 1 root root 18 Apr 28 18:18 libtasn1.so.3 -> libtasn1.so.3.0.10 lrwxrwxrwx 1 root root 18 Apr 28 18:18 libtasn1.so -> libtasn1.so.3.0.10 -rwxr-xr-x 1 root root 833 Apr 28 18:18 libtasn1.la -rw-r--r-- 1 root root 282478 Apr 28 18:18 libtasn1.a drwxr-xr-x 2 root root 4096 Apr 28 18:18 pkgconfig cat /etc/ld.so.conf include ld.so.conf.d/*.conf cd /etc/ld.so.conf.d/ echo "/usr/local/libtasn1-0.3.10/lib" > libtasn1-0.3.10.conf /sbin/ldconfig ldd /usr/bin/mutt libtasn1.so.3 => /usr/local/libtasn1-0.3.10/lib/libtasn1.so.3 (0x00007fd6105b6000)
mutt -v Mutt 1.5.20 (2009-12-10)
至此问题解决。
文章评论
Heck yeah this is excltay what I needed.
感觉重新编译MUTT更方便吧
@Haowu Ge 没使用编译,是使用 yum 安装的。
哇,大神好久没更新了。。