私はこの質問を続けています。
私たちが一般的に推進するソリューションの種類は次のとおりです。
これが本当に私たちができる最善ですか?このようなディレクトリに解凍して/opt/myglibc
設定したり、$LD_LIBRARY_PATH
問題なく望むアプリケーションを実行できるGLIBCのバイナリバージョンはありますか?
最新バージョンのChrome(28+)などのアプリケーションにはGLIBC 2.14が必要です。
メモ:この投稿のタイトルは次のとおりです。Google Chrome 29 リリース – RHEL/CentOS 6 および Fedora 19/15 にインストールついにこれについて考えました。
引用する
ベストアンサー1
glibc以外のライブラリであれば...簡単な方法はないようです。 glibcはすべてが「ハードコード」されているところだからです。 glibcはカーネルバージョンに適しており、そのローダーは実際にはLD_LIBRARY_PATH
。
おそらく正しい方法は次のとおりです。
LD_LIBRARY_PATH="/opt/myglibc/;..." /opt/myglibc/ld-linux.so.2 the_program`
しかし、これがうまくいくかどうかはわかりません。
とにかく代替glibcを使用するには、まだ実装されていないフレームワークが必要だと思います。検索パスが時々接続されており、glibcは常にOS /カーネルに適している必要があるため、ユニバーサルバイナリを持つことはできません。 IMO。 Debian の複数のアーキテクチャは、これは些細なことではありませんが、まだ実行できることを示しています。ターゲットアーキテクチャに加えてライブラリを識別する別の方法がある場合。
このサイトは私に別の関連トピックを提供しました。
そこで許可されている回答には、次のプログラムへのリンクが含まれます。RTDI、glibcの問題を解決しているようです。 2004年版なので、もはやリンカーで直接実行されるわけではありませんが、見てみる価値があります。ソースはGPLv2です。
エホバ,エホバ
私の友人が共有ライブラリの実際の使用が過大評価されているという考えを提起したことがあります。彼はポイントを持っています。共有ライブラリは優れており、コンピュータメモリを重複エントリで埋めることはありませんが、単一のアプリケーションインスタンスを考慮するとわずか数MBです。
独自のglibcの提供など、私たちの側での対策を必要とするアプリケーションはほんのわずかです。長い分析を保存するためにそれ自体で役に立ち、タスクを完了する「インスタントアプリ」と呼びます。たとえば、Webブラウザ、メールユーザーエージェント、Officeスイート、ミュージックプレーヤーを使用すると、ユーザーごとにいくつかのインスタンスで必要なものを取得できます。一方、システムサービス、ウィンドウマネージャ、デスクトップ全体の環境も重要ですが、単にサポート的であり、人々が自分自身のglibcを喜んで提供するのに十分なほど重要ではありません。
「インスタントアプリ」の数は確かにユーザーごとにかなり少なく、今日生産されている「基本」オペレーティングシステムやデスクトップ環境と比較して比較的少ないです。 Chrome、Firefoxなどの直接アプリケーションを静的にコンパイルする場合、平均システムの追加メモリ要件は数百MBです。この主張は、今日多くのGBシステムではあまり意味がないため、直接アプリケーションの静的接続がオプションである可能性があります。
また、非常に高速なスワップイン/アウトを可能にし、増加したメモリ要件を処理するのに役立つスワップスペースとSSDの概念もあります。
ここで説明したglibcの問題は実際に静的リンクでは解決されませんが、Webブラウザなどのアプリケーションでは、Xプロトコル、一部のサウンドデーモン、およびいくつかのカーネルメソッドを唯一のインターフェースとして使用して、自己完結型の配布フォーマットを考えることができます。利点は、ライブラリのバージョンが互換性がない場合が少ないことです。