Bei einigen Bibliotheken können sowohl die 32-Bit- als auch die 64-Bit-Bibliotheken auf einem 64-Bit-System installiert sein. Dies ist über das ia32-libs
Paket unter Ubuntu 10.04 und früher verfügbar . Laut der Dateiliste vonia32-libs
ist keine libfuse.so.2
Datei enthalten. Das bedeutet, dass nicht beide Architekturen gleichzeitig installiert sein können.
Seit Ubuntu 11.10 Oneiric können Pakete gleichzeitig für verschiedene Architekturen installiert werden, was als "Multi-Arch" bezeichnet wird. Wenn ich der Dateiliste von libfuse2
Oneiric glauben darf , wurde dieses Paket leider noch nicht umgestellt . Dies kann anhand der Paketabhängigkeiten ermittelt werden: Wenn ein Paket von multiarch-support
(wie libdrm2 ) abhängt , unterstützt es die Unterstützung mehrerer Archive . Dies ist jedoch keine Garantie dafür, dass das Paket für mehrere Architekturen gleichzeitig installiert werden kann.
Führen Sie beispielsweise Folgendes aus, um Ihren lokalen Cache nach den Multi-Arch-Funktionen eines Pakets abzufragen libc6
:
apt-cache show libc6 | grep ^Multi-Arch:
Für diesen Befehl lautet die Ausgabe Multi-Arch: same
. Dies bedeutet, dass sowohl die 32-Bit- als auch die 64-Bit-Version eines Pakets gleichzeitig installiert werden können. Wenn keine Ausgabe erfolgt, ist das Paket nicht für die Unterstützung mehrerer Bögen bereit. Andere mögliche Werte sind foreign
(nicht gemeinsam installierbar, kann jedoch verwendet werden, um die Abhängigkeiten anderer Architekturen zu erfüllen) und allowed
(iirc darf jeweils nur ein Paket installiert werden, das Paket kann jedoch verwendet werden, um Abhängigkeiten anderer zu erfüllen Pakete)
Sie sollten in der Lage sein, 32-Bit-Pakete auf einem 64-Bit-System zu installieren mit:
sudo apt-get install packagename:i386
Erstellen einer 32-Bit-Libfuse für 64-Bit-Computer
Da die 32-Bit-Sicherungsbibliothek nicht mitgeliefert wird ia32-libs
, haben Sie keine andere Wahl, als sie selbst zu erstellen.
Installieren Sie die Build-Abhängigkeiten für Fuse und rufen Sie den Quellcode ab:
sudo apt-get install ia32-libs libc6-i386
sudo apt-get build-dep fuse
apt-get source fuse
Konfigurieren Sie den Quellbaum und erstellen Sie eine Sicherung (passen Sie den Verzeichnisnamen bei Bedarf an):
cd fuse-2.8.4
CFLAGS=-m32 ./configure --host=i386-linux-gnu
make -j 50
Installieren Sie die 32-Bit-Sicherungsbibliothek (passen Sie die Version entsprechend an):
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/
Aktualisieren Sie den Linker-Cache:
sudo ldconfig
(optional) Entfernen Sie die Quelldateien:
cd ..
rm -r fuse-2.8.4
ia32-libs
enthält nicht alle 32-Bit-Bibliotheken.