libexpat не удалось найти в системе linux

я разрабатываю библиотеку vddk для ubuntu 12.10 i386. Я постоянно получаю следующую ошибку:

Cannot open library: libexpat.so.0: cannot open shared object file: No such file or directory.

когда я запускаю 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

Я уже пытался создать симлинк

sudo ln -s /usr/lib/i386-linux-gnu/libexpat.so /usr/lib/i386-linux-gnu/libexpat.so.0

но это не сработало. Странная вещь:

 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

3 ответов


apt-file показывает только содержимое пакета, или в вашем случае пакета(ов) по имени файла, но он работает независимо от того, установлен ли пакет или нет.

вам нужно установить libexpat1:

sudo apt-get install libexpat1

если вы собираетесь компилировать и связывать пользовательские программы C с libexpat1 вы должны:

sudo apt-get install libexpat1-dev

перейти к исходный код страницы и построить с правильным флагом.

поскольку вы строите для x86, вам нужно выполнить configure такой:

./configure CFLAGS=-m32

исправлено загрузка и установка формы пакета libexpat вручную здесь http://expat.sourceforge.net/ и найдите страницу загрузки. Он должен привести вас на страницу sourceforge и выбрать стабильный пакет