0

の前提条件を構築しようとしていgcc-4.7.2ます。

ppl-0.11との両方gmp-4.3.2が推奨バージョンです。<gcc_src>/gcc-4.7.2/gcc/doc/HTML/prerequisites.html

ビルドしてインストールgmp-4.3.2しました(--enable-cxxセット付き)

構成しようとするとppl-0.11失敗します。

configure: error: Cannot find GMP version 4.1.3 or higher.
GMP is the GNU Multi-Precision library:
see http://www.swox.com/gmp/ for more information.
When compiling the GMP library, do not forget to enable the C++ interface:
add --enable-cxx to the configuration options.

これは私の設定行です:

./configure \
    --prefix=$PREFIX \
    --with-gmp=$PREFIX \
    --with-gmp-prefix=$PREFIX \

指定したディレクトリを見るwith-gmpと、インストールされているgmpは次のとおりです。

$ grep MP_VERSION $PREFIX/include/gmp*

    $PREFIX/include/gmp.h:#define __GNU_MP_VERSION 4
    $PREFIX/include/gmp.h:#define __GNU_MP_VERSION_MINOR 3
    $PREFIX/include/gmp.h:#define __GNU_MP_VERSION_PATCHLEVEL 2

.

$ l $PREFIX/include/gmp*

    $PREFIX/include/gmp.h
    $PREFIX/include/gmpxx.h

.

$ l /$PREFIX/lib/libgmp*

    $PREFIX/lib/libgmp.a
    $PREFIX/lib/libgmp.la
    $PREFIX/lib/libgmp.so -> libgmp.so.3.5.2
    $PREFIX/lib/libgmp.so.3 -> libgmp.so.3.5.2
    $PREFIX/lib/libgmp.so.3.5.2
    $PREFIX/lib/libgmpxx.a
    $PREFIX/lib/libgmpxx.la
    $PREFIX/lib/libgmpxx.so -> libgmpxx.so.4.1.2
    $PREFIX/lib/libgmpxx.so.4 -> libgmpxx.so.4.1.2
    $PREFIX/lib/libgmpxx.so.4.1.2

何か不足していますか?

私が知る限り、GMP は利用可能で、必要なバージョンです

4

4 に答える 4

1

実行しているディストリビューションに応じて、gmp-devel パッケージをインストールしようとしましたか (つまり、Fedora/RedHat などで gmp-devel を yum でインストールします)?

于 2012-11-28T06:38:19.547 に答える
1

PPLはデフォルトでGMPのデフォルトの場所を使用しようとします。crosstool-ngを使用する場合は、クロスネイティブまたはカナディアン クロスビルドを行う必要があります。これを手動で行う場合は、PPLに と を付けて指定CXXFLAGSします。これにより、PPLはGMPの正しいバージョンを見つけることができます。 ./configure-I<path-to-gmp-header>-Wl,-L<path-to-gmp-libs> ./configure

どうやら、PPL構成で、

--prefix=$PREFIX \
--with-gmp=$PREFIX \
--with-gmp-prefix=$PREFIX \

十分ではありません。私はスクリプトを調べてcrosstool-ng./configureをハッキングしていたが、クロスコンパイラを構築していないことに気付く前に、ディストリビューションを使用していなかったときのカナディアンクロスを構築していましたが、 glibc共有ライブラリが低い別のホストコンパイラを使用していました。 . これは、コンパイラをより大きなクラスのマシンで実行したい場合に便利です。ビルド コンパイラのglibcバージョンが大きな影響を与える可能性は低いです。 gcc

crosstool-ngにパッチ120-ppl.shを適用する必要がありましたが、

do_ppl_for_build() {
...    
    ppl_cxxflags="${CT_CFLAGS_FOR_BUILD}"
+   ppl_cxxflags+=" -I${CT_BUILDTOOLS_PREFIX_DIR}/include "
+   ppl_cxxflags+=" -Wl,-L${CT_BUILDTOOLS_PREFIX_DIR}/lib "
    if [ "${CT_PPL_NEEDS_FPERMISSIVE}" = "y" ]; then
        ppl_cxxflags+=" -fpermissive"
    fi
于 2013-05-09T15:44:32.480 に答える
1

だから私も同じ問題に直面し、私がしたことは次のとおりです。

1) gmp-4.3.2 フォルダー
に移動 2) make distclean
3) ./configure --prefix=/home/sen/Documents/mingw/downloads/gmp_build --enable-cxx
4) make && make install
5) 中に移動ppl-0.11 フォルダー
6) ./configure --prefix=/home/sen/Documents/mingw/downloads/ppl_build --with-gmp-prefix=/home/sen/Documents/mingw/downloads/gmp_build --enable-cxx
7) メイク & メイク インストール

コンパイルに 10 ~ 20 分かかりましたが、問題はありませんでした。

ありがとう、
セン

于 2013-09-29T14:44:56.447 に答える