2014-03-01 2 views
2

우분투 12.04 LTS하에 https://code.google.com/p/gmpy/wiki/InstallingGmpy2에서 설명한대로 gmp2를 설치하려고합니다.GMP를 컴파일하는 중 LIBTOOL이 실패합니다

따라서 GMP, MPFR 및 MPC를 컴파일해야합니다.

위의 지침에 따라, GMP를 컴파일하려면, 내가 필요 : 나는 /빈/bash는으로 명령을 접두사로 있었더라도

$ cd ~/src/gmp-5.1.0 
$ ./configure --prefix=/home/case/local 
$ make 
$ make check 
$ make install 

./configure를 단계는 괜찮 았는데.

나는 명령을 호출 할 때, 나는 관련이 오류로 실행 libtool이 :

/빈/SH ../libtool --tag = CC --mode = 컴파일의 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 : 1,581 : ../libtool : preserve_args + = --tag의 CC :없는
../libtool : 1 : 평가 : base_compile가 + = GCC :없는
../libtool : 1 : 평가 : base_compile + = -std = gnu99 :없는
../libtool : 1 : 평가 : base_compile + = -DHAVE_CONFIG_H :없는
../libtool : 1 : 평가 : base_compile + = -I :없는
../libtool : 1 : 평가 : base_compile + = - I .. : 찾을 수 없음
../libtool : 1 : eval : base_compile + = -D__GMP_WITHIN_GMP : not founder D
../libtool : 1 : 평가 : base_compile + = -I ... :없는
../libtool : 1 : 평가 : base_compile + = -DOPERATION_fib_table :없는
../libtool : 1 : 평가 : base_compile + = -m32 :없는
../libtool : 1 : 평가 : base_compile + = -O2 :없는
../libtool : 1 : 평가 : base_compile + = -pedantic :
../libtool을 찾을 수 없습니다 1 : 평가 : base_compile + = -fomit 프레임 포인터 :없는
../libtool : 1 : 평가 : base_compile + = -mtune = 코어 2 :없는
../libtool : 1 : 평가 : base_compile + = -march = core2 : 찾을 수 없음
../libtool : 1 : eval : base_compile + = -c : 찾을 수 없음
libtool : 컴파일 : 컴파일 명령을 지정해야합니다
libtool : 컴파일 : 자세한 정보는 'libtool --help --mode = compile'시도하십시오. . *** [fib_table.lo] 오류 1
메이크업 [2] : : 출발 디렉토리 '/home/nicolas/Dropbox/crypto/gcc-lib/gmp-5.1.3/mpn'
메이크업 [2] 메이크업 [1] : *** [all-recursive] 오류 1
make [1] : '/home/nicolas/Dropbox/crypto/gcc-lib/gmp-5.1'디렉토리를 벗어납니다.3 '
메이크업 : *** [모든] 오류 2

은 내가 libtool이 호출이 접두사 의심 /빈/SH은 잘못하지만 난 그것을 변경하는 방법을 알아낼 수 없습니다 :

를 메이크에서
  • , 나는 SHELL =/빈/bash는에 SHELL =/빈/쉬 변경되지 : 차이를
  • I "의 printenv SHELL은"나는/빈/bash는
을 얻을 때

GMP 컴파일을 완료하는 방법을 알고 싶습니까? (POSIX의 기능을하지 임) += 구문을 구현하지 않습니다 : (dash 내 추측) 당신이 말하는 것처럼 libtool에 대한 호출이 /bin/sh하고 /bin/sh 구현 접두어 얻을 때문에

+1

시도해 보셨습니까 :'sudo apt-get install libmpc-dev'? –

+0

5.1.3이 아닌 5.1.3 (현재 최신 버전)을 설치하려고하는 이유는 무엇입니까? –

답변

2

이 발생합니다. libtool 자체는 hashbang으로 /bin/bash입니다.

당신의 SHELL 접두사의 모든 occurrances 변경하여 libtool 자체를 "해결"할 수 있습니다 어디에서 오는지 당신은 알아낼 수없는 경우 : 이것은을 것을

base_compile+=" ${foo}" 

base_compile="${base_compile} ${foo}" 

로를 빠른 해킹 및 오히려 함께 libtool 호출하는 기본 문제를 해결해야합니다.

은 (내가 apr-util을 구축 할 때 인해 셸 쇼크에 bash에서 dash에 기본 쉘을 전환 한 후 동일한 문제로 실행했습니다.)

+1

와우, 다른 것들을 컴파일 할 때 많은 오류를 수정했습니다. – Dschoni

0

apr가 일반적으로 사용하는 것과 다른 /usr/share/apr-1/libtool 아래 내부 libtool이를 호출합니다. 에 관계없이 환경이나 호출 방법이 문제를 해결 할 mv arp-1/libtoolln -sv /usr/bin/libtool/usr/share/apr-1/libtool-apr-1/libtool.bak과 :

는 아마도 환경 문제와 아이러니하게도 만드는 컴파일러 문제를 방지 할 수 있습니다.

마찬가지로, libtool이 호출되고 있는지 확인하십시오. 많은 소스 패키지가 시스템과 호환되지 않는 내부 바이너리로 빌드됩니다.

관련 문제