linux系统无法找到libexpat

unr*_*nal 9 c++ linux shared-libraries

我正在为ubuntu 12.10 i386开发vddk库.我不断得到以下错误:

Cannot open library: libexpat.so.0: cannot open shared object file: No such file or directory.
Run Code Online (Sandbox Code Playgroud)

我跑的apt-file search libexpat.so 时候会告诉我以下情况

lib64expat1: /usr/lib64/libexpat.so.1
lib64expat1: /usr/lib64/libexpat.so.1.6.0
lib64expat1-dev: /usr/lib64/libexpat.so
libexpat1: /lib/i386-linux-gnu/libexpat.so.1
libexpat1: /lib/i386-linux-gnu/libexpat.so.1.6.0
libexpat1-dev: /usr/lib/i386-linux-gnu/libexpat.so
Run Code Online (Sandbox Code Playgroud)

我已经尝试创建一个符号链接

sudo ln -s /usr/lib/i386-linux-gnu/libexpat.so /usr/lib/i386-linux-gnu/libexpat.so.0
Run Code Online (Sandbox Code Playgroud)

但它不起作用.奇怪的事情:

 ls -l `locate libexpat.so`
ls: cannot access /lib/i386-linux-gnu/libexpat.so.1: No such file or directory
ls: cannot access /lib/i386-linux-gnu/libexpat.so.1.6.0: No such file or directory
ls: cannot access /usr/lib/vmware-vix-disklib/lib64/libexpat.so.0: No such file or directory
-rw-r--r-- 1 ubuntu ubuntu 141320 Aug 20 09:21 /home/ubuntu/vddk/lib64/libexpat.so.0
-rw-r--r-- 1 root   root   141320 Feb  3 16:45 /usr/lib/vmware-vix-disk-lib/vmware-vix-disk-lib/lib64/libexpat.so.0
-rw-r--r-- 1 root   root   141320 Aug 20 09:21 /usr/vmware-vix-disklib-distrib/lib64/libexpat.so.0
Run Code Online (Sandbox Code Playgroud)

hek*_*mgl 6

apt-file 仅显示包的内容,或者在您的情况下按文件名显示包,但无论是否安装包,它都会起作用.

你需要安装libexpat1:

sudo apt-get install libexpat1
Run Code Online (Sandbox Code Playgroud)

如果您要编译和链接自定义C程序,libexpat1您还需要:

sudo apt-get install libexpat1-dev
Run Code Online (Sandbox Code Playgroud)


unr*_*nal 2

通过在http://expat.sourceforge.net/手动下载并安装 libexpat 包 并查找下载页面来修复。它应该带你到sourceforge页面并选择稳定的包