【发布时间】:2014-03-01 12:34:22
【问题描述】:
我正在尝试按照https://code.google.com/p/gmpy/wiki/InstallingGmpy2 中的说明在 ubuntu 12.04 LTS 下安装 gmp2。
因此我需要编译 GMP、MPFR 和 MPC。
要编译GMP,根据上面的说明,我需要:
$ cd ~/src/gmp-5.1.0
$ ./configure --prefix=/home/case/local
$ make
$ make check
$ make install
./configure 步骤运行良好,但我必须在命令前加上 /bin/bash >.
当我调用 make 命令时,我遇到了涉及 libtool 的错误:
/bin/sh ../libtool --tag=CC --mode=compile gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -D__GMP_WITHIN_GMP -I.. -DOPERATION_
echo fib_table | sed 's/_$//'-m32 -O2 -pedantic -fomit-frame-pointer -mtune=core2 -march=core2 -c -o fib_table.lo fib_table.c
../libtool: 1581: ../libtool: preserve_args+= --tag CC: 未找到
../libtool: 1: eval: base_compile+= gcc: 未找到
../libtool: 1: eval: base_compile+= -std=gnu99: 未找到
../libtool: 1: eval: base_compile+= -DHAVE_CONFIG_H: 未找到
../libtool: 1: eval: base_compile+= -I.: 未找到
../libtool: 1: eval: base_compile+= -I..: 未找到
../libtool: 1: eval: base_compile+= -D__GMP_WITHIN_GMP: 未找到
../libtool: 1: eval: base_compile+= -I..: 未找到
../libtool: 1: eval: base_compile+= -DOPERATION_fib_table: 未找到
../libtool: 1: eval: base_compile+= -m32: 未找到
../libtool: 1: eval: base_compile+= -O2: 未找到
../libtool: 1: eval: base_compile+= -pedantic: 未找到
../libtool: 1: eval: base_compile+= -fomit-frame-pointer: 未找到
../libtool: 1: eval: base_compile+= -mtune=core2: 未找到
../libtool: 1: eval: base_compile+= -march=core2: 未找到
../libtool: 1: eval: base_compile+= -c: 未找到
libtool: compile: 必须指定编译命令
libtool:编译:尝试“libtool --help --mode=compile”以获取更多信息。 make[2]: *** [fib_table.lo] 错误 1
make[2]: 离开目录 '/home/nicolas/Dropbox/crypto/gcc-lib/gmp-5.1.3/mpn'
make[1]: *** [全递归] 错误 1
make[1]: 离开目录 '/home/nicolas/Dropbox/crypto/gcc-lib/gmp-5.1.3'
make: *** [all] 错误 2
我怀疑以 /bin/sh 为前缀的 libtool 调用是错误的,但我不知道如何更改它:
- 在MakeFile中,我把SHELL=/bin/sh改成了SHELL=/bin/bash:没区别
- 当我“printenv SHELL”时,我得到 /bin/bash
知道如何完成 GMP 的编译吗?
【问题讨论】:
-
你试过了吗:
sudo apt-get install libmpc-dev? -
您为什么要安装 5.1.0 版而不是 5.1.3(当前最新)?
标签: bash gcc makefile gmp libtool