GNU/Linux >> Linux の 問題 >  >> Ubuntu

64ビットシステムに32ビットライブラリをインストールすることは可能ですか?

32ビットの共有ライブラリをインストールしていますが、pogoplugをインストールしようとするとこのエラーが発生します:

./pogoplugfs: error while loading shared libraries: libfuse.so.2: wrong ELF class: ELFCLASS64

プログラムを32ビットライブラリからロードするために他に何かする必要がありますか?

今年初めに同様の質問がありましたが、回答はありませんでした。

承認された回答:

一部のライブラリでは、32ビットライブラリと64ビットライブラリの両方を64ビットシステムにインストールすることができます。これは、ia32-libsから入手できます。 Ubuntu10.04以前のパッケージ。 ia32-libsのファイルリストによると 、libfuse.so.2はありません ファイルが含まれています。つまり、一度に両方のアーキテクチャをインストールすることはできません。

Ubuntu 11.10 Oneiric以降、パッケージで「マルチアーチ」と呼ばれるさまざまなアーキテクチャの同時インストールが可能になりました。残念ながら、libfuse2のファイルリストを信じるなら Oneiricでは、このパッケージはまだ移行されていません。これは、パッケージの依存関係から判断できます。パッケージがmultiarch-supportに依存している場合 (libdrm2のように)、マルチアーチサポートをサポートしています。ただし、これはではありません パッケージを複数のアーキテクチャに同時にインストールできることを保証します。

パッケージのマルチアーチ機能についてローカルキャッシュにクエリを実行するには、libc6と言います。 、実行:

apt-cache show libc6 | grep ^Multi-Arch:

このコマンドの場合、出力はMulti-Arch: sameです。 。つまり、パッケージの32ビットバージョンと64ビットバージョンの両方を一度にインストールできます。出力がない場合、パッケージはマルチアーチサポートの準備ができていません。他の可能な値はforeignです (同時インストールはできませんが、他のアーキテクチャの依存関係を満たすために使用できます)およびallowed (iirc、一度にインストールできるパッケージは1つだけですが、そのパッケージを使用して他のパッケージの依存関係を満たすことができます)

次のコマンドを使用して、64ビットシステムに32ビットパッケージをインストールできるはずです。

sudo apt-get install packagename:i386

64ビットマシン用の32ビットlibfuseの構築

32ビットヒューズライブラリはia32-libsに付属していないため 、自分で作成する以外に選択肢はありません。

  1. ヒューズのビルド依存関係をインストールし、ソースコードを取得します:

    sudo apt-get install ia32-libs libc6-i386
    sudo apt-get build-dep fuse
    apt-get source fuse
    
  2. ソースツリーを構成し、fuseをビルドします(必要に応じてディレクトリ名を調整します):

    cd fuse-2.8.4
    CFLAGS=-m32 ./configure --host=i386-linux-gnu
    make -j 50
    
  3. 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/
    
  4. リンカキャッシュを更新します:

    sudo ldconfig
    
  5. (オプション)ソースファイルを削除します:

    cd ..
    rm -r fuse-2.8.4
    

Ubuntu
  1. Debian –インストールされているパッケージの選択をあるDebianシステムから別のシステムに複製する方法は? (debian Wheezy)?

  2. インターネットに接続していないシステムにUbuntuをインストールできますか?

  3. シロアリをインストールする方法は?

  1. 複数の開発ライブラリをインストールできませんか?

  2. 32ビットから64ビットにアップグレードしますか?

  3. システムに Apache がインストールされているかどうかを確認するにはどうすればよいですか?

  1. Windows10にRubyをインストールする方法

  2. Ubuntu20.04にWebminをインストールする方法

  3. UbuntuにRPMパッケージをインストールする