Для некоторых библиотек в 64-битной системе могут быть установлены как 32-битные, так и 64-битные библиотеки. Это доступно через ia32-libs
пакет в Ubuntu 10.04 и ранее. Согласно списку файловia32-libs
, там нет libfuse.so.2
файла. Это означает, что вы не можете установить обе архитектуры одновременно.
Начиная с Ubuntu 11.10 Oneiric, пакеты могут разрешать одновременную установку для разных архитектур, которая называется «Multi-Arch». К сожалению, если я могу верить списку файлов libfuse2
на Oneiric , этот пакет еще не был перенесен. Это можно определить из зависимостей пакета: если от пакета зависит multiarch-support
(например, от libdrm2 ), он поддерживает мультиархитектную поддержку. Однако это не является гарантией того, что пакет может быть установлен для нескольких архитектур одновременно.
Чтобы запросить в локальном кэше многоархивные возможности пакета, скажем libc6
, выполните:
apt-cache show libc6 | grep ^Multi-Arch:
Для этой команды, выход Multi-Arch: same
. Это означает, что как 32-битная, так и 64-битная версии пакета могут быть установлены одновременно. Если выходных данных нет, пакет не готов к поддержке нескольких арок. Другие возможные значения являются foreign
(не со устанавливаемыми, но он может быть использованы для удовлетворения зависимостей других архитектур) и allowed
(IIRC, только один пакет разрешается устанавливать в то время, но пакет может быть использован для удовлетворения зависимостей других пакеты)
Вы должны иметь возможность устанавливать 32-битные пакеты в 64-битной системе с помощью:
sudo apt-get install packagename:i386
Сборка 32-битного libfuse для 64-битных машин
Поскольку 32-разрядная библиотека плавких предохранителей не поставляется ia32-libs
, у вас нет другого выбора, кроме как создать ее самостоятельно.
Установите зависимости сборки для fuse и получите исходный код:
sudo apt-get install ia32-libs libc6-i386
sudo apt-get build-dep fuse
apt-get source fuse
Сконфигурируйте исходное дерево и соберите fuse (при необходимости измените имя каталога):
cd fuse-2.8.4
CFLAGS=-m32 ./configure --host=i386-linux-gnu
make -j 50
Установите 32-битную библиотеку предохранителей (измените версию соответственно):
sudo ln -s libfuse.so.2.8.4 /usr/local/lib/libfuse.so.2
sudo install -m644 lib/.libs/libfuse.so.2.8.4 /usr/local/lib/
Обновите кеш компоновщика:
sudo ldconfig
(необязательно) Удалите исходные файлы:
cd ..
rm -r fuse-2.8.4
ia32-libs
не содержит все 32-битные библиотеки.