2

gcc 4.4.0 でコンパイルされたバイナリがあり、gcc 4.4.0 がない古いシステムで実行しようとしています。うまくいきません。エラーは、シンボルが見つからないということではなく、正しく実行されずにハングするだけです。システム間の違いは、CentOS 5.5 と 5.2、および gcc 4.4.0 と 3.4.6 です。

gcc 4.4.0 をインストールせずにそのシステムで実行するにはどうすればよいですか? それに置くことができるランタイムライブラリはありますか? 依存関係を単にコピーしてライブラリ パスを設定するだけでは機能しないようです。

バイナリには gcc 4.4.0 の機能が必要です。

4

2 に答える 2

1

私は最近これをしなければならない状況に遭遇しました。私の解決策は、実行可能ファイルを静的にリンクされたアプリケーションとしてコンパイルすることでした。これにより、アプリケーションと必要なライブラリとの互換性に問題はありませんでした。

于 2010-09-10T20:02:51.633 に答える
1

コンパイルする場合は、古い GLIBC ライブラリを搭載したマシンで実行してください。VirtualBox で Debian をセットアップしました。これは、Apache、MySQL、および PHP をコンパイルするときに問題なく動作します。

于 2010-09-10T19:58:24.780 に答える