0

gcc 4.8.2 のポータブル バージョンをビルドしようとしています。(C/C++ 言語のみ) 最終的に、gcc が特定のアプリケーション ディレクトリ (/opt/gcc-4.8.2 など) にインストールされ、そのディレクトリをあるコンピューターから別のコンピューターにコピーできるようになります (すべてのコンピューターは intel corei5 またはまたは corei7、最近の Linux バージョン (Ubuntu 12、Suse 10/11、Centos 5 & 6 など) を実行している。

これまでのところ、 --prefix を使用して gcc 出力を単一のディレクトリに配置することで、gcc を正常にビルドできます (後で他のホストにコピーできます)。--disable-shared を持つように gcc の依存関係 (gmp、mpfr、mpc、isl) を構成およびビルドしたので、最終的な gcc が他のホストにコピーされたときに、ライブラリやシンボルの欠落について不平を言うことはありません。

クルーグに質問です。--with-cloog を使用して gcc を構成しました (他の gcc 依存関係と共にビルドした、ローカルにビルドされた cloog を取得するため)。ただし、gcc をコピーする各ホストに clog ライブラリとバイナリもコピーする必要があるかどうかはわかりません。

また、どうすれば gcc と cloog の相互作用をテストできますか? gcc が cloog をうまく利用しているかどうかをテストするために使用できる簡単な C ファイルの例や gcc コマンドラインはありますか?

さらに、他のホストで実行したい gcc を構築しようとするときに、他に考慮すべきことはありますか?

4

1 に答える 1

3

cloogが共有ライブラリとしてインストールされているlibcloog-isl.so.*か、静的ライブラリとしてインストールされているかによって異なりlibcloog.aます。使用する

ldd $(gcc-4.8 -print-file-name=cc1)

調べるために。もちろん、すべての共有ライブラリの依存関係をインストールする必要があります。上記のコマンドlibcloog*soの出力に表示される場合、それは共有ライブラリです。lddそれ以外の場合は静的なものです。

を設定するか、または(たとえばまたはetc...) をLD_LIBRARY_PATH含むディレクトリを(次に実行)に追加することができます。libcloog-isl.so.*/usr/local/lib//opt/lib//etc/ld.so.confldconfig

gccあなたのビルドがあなたが言及したすべてのプラットフォームで実行できるかどうかは完全にはわかりません. libc*依存関係がある可能性があります。これを参照してください。また、おそらくbinutils依存関係 (特にgcc-4.8 -fltoコンパイルの場合) も同様です。

テストするには、いくつかの重要なファイルを最適化gccしてコンパイルします(例: )。gcc-4.8 -Wall -O3

于 2013-12-28T08:26:27.930 に答える