2011-02-17 9 views
0

古いソラリス(libc.so SUNW_1.22.4)を持つシステムの新しいsolarisバージョン(libc.so SUNW_1.22.6)をコンパイル/リンクしたいと考えています。リンカ(新しいバージョンで)が古い(1.22.4)libc.soを使用するバイナリをビルドするように指定する方法を教えてください。特定のlibc.soバージョンに対するsolarisのスタジオリンク

答えて

0

SUNW_1.22.4以外の関数は呼び出しないでください。リンカーは、リンクされている関数に基づいて最小の依存関係を記録します。一般に

1

、UNIXシステムでは、下位互換性(古いシステム上に構築されたプログラムは、新しいシステム上で動作し続ける)ではなく、反対をサポートしています。新しいシステム上に構築されたプログラムは、古いシステム上で動作しない場合があります。

この理由から、サポートする予定の最も古いOSリリースでプログラムをビルドしてください。私は( 新しいバージョンの)リンカが使用するバイナリ を構築すべきであることを指定することができますどのように

古いあなたは「新しいSolarisが必要になります(1.22.4)

のlibc.so - >古いソーラーズ "クロスコンパイラ。このようなクロスコンパイルのためにGCCを構築することはできますが、これは簡単なことではありません。古いシステムで構築する方が、はるかに簡単なアプローチです。

関連する問題