
ここから→libc.so.6: バージョン `GLIBC_2.16' が見つかりません OS にハードインストールされていないライブラリに対してプログラムを実行することはある程度可能であることがわかりました。
更新された libc6 をシステムのある場所に置き (ただしインストールはしない)、それを実行する小さなプログラム (この場合は HipHop) にリンクする方法を知りたいです。
ただし、私は 11.10 を使用しており、更新された OS をインストールするのが最善の方法ですが、他の状況 (新しいシステムに古いライブラリをインストールするなど) でもこれが発生する可能性があるため、その方法を知りたいのですが、その方法がわかりません。
簡単に言うと、古いプログラムを実行したり、Ubuntu の古いバージョンで新しいプログラムを実行したりするために、インストール済みのライブラリと競合することなく、システム内のどこかにライブラリのセットを「パック」できるかどうかを知りたいのです。
ありがとう
追伸:これはここでの私の最初の質問であり、私は英語のネイティブではないので、ここに投稿する際に間違いを犯した場合は、私を禁止しないでください。何が間違っていたのかを丁寧に教えてください。
答え1
可能性はいろいろあります。1
) 更新されたライブラリのセットを準備します。それらを、たとえば /catbed に配置します。そして、
/catbed/ld-linux.so.3 --library-path=/catbed:/whatever-else /usr/bin/app
2) さらに良いのは、chroot
とを使うことですdebootstrap
。schroot
3) さらに良い方法として、アプリを実行するときに LD_LIBRARY_PATH をオーバーライドします。