我正在尝试为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可用且必备版本
答案 0 :(得分:1)
根据您正在运行的发行版,您是否尝试安装gmp-devel软件包(即在Fedora / RedHat等上安装ymp install gmp-devel)?
答案 1 :(得分:1)
PPL 默认情况下会尝试使用 GMP 的默认位置。如果您使用 crosstool-ng ,则必须执行跨本机或加拿大交叉构建。如果您是手动执行此操作,请使用CXXFLAGS
和./configure
将-I<path-to-gmp-header>
指定为 PPL的 -Wl,-L<path-to-gmp-libs>
。这允许 PPL ./configure
找到 GMP 的正确版本。
显然是 PPL 配置,
--prefix=$PREFIX \
--with-gmp=$PREFIX \
--with-gmp-prefix=$PREFIX \
还不够。在我意识到我不再构建交叉编译器,而是之前,我在./configure
脚本中搞砸了并且正在攻击 crosstool-ng 当我不使用我的发行版 gcc
时,加拿大跨越,而另一个主编译器使用较低的< em> glibc 共享库。如果您希望编译器在更大类的计算机上运行,这将非常有用。 glibc 版本的构建编译器不太可能产生太大影响。
我仍然需要在 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
答案 2 :(得分:1)
所以我也面临同样的问题,我做的是:
1)进入gmp-4.3.2文件夹
2)使distclean
3)./configure --prefix = / home / sen / Documents / mingw / downloads / gmp_build --enable-cxx
4)制造&amp;&amp; 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)制造&amp; make install
花了大约10-20分钟编译,事情很好。
谢谢,
森
答案 3 :(得分:0)
多年来,这个问题已经陷入困境。解决方案首先是下载最新版本的gmp。然后,像照片一样复制路径。不要忘记./configure
与--enable-cxx
,这是非常重要的一点。 ./configure --enable-cxx
。现在是时间安装,./configure -help
表示--with-gmp=DIR search for libgmp/libgmpxx in DIR/include and DIR/lib
。所以写./configure --with-gmp=<<dir of gmp as shown in first picture, you may have a different path>>
我分别写了./configure --with-gmp=/usr/local/include
,make
,sudo make install
然后它就像一个魅力!