2012-04-27 3 views
1

Ubuntu 12.04 (64 비트)에서 cpabe-0.11 toolkit/library을 "만들려고 할 때 다음 오류가 발생합니다. libgmp를 포함하여 필요한 모든 라이브러리가 시스템에 올바르게 설치됩니다.libgmp와 암호문 - 정책 속성 기반 암호화 툴킷 "make"오류

/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/4.6.1/../../../../lib/libpbc.so: undefined reference to symbol '__gmpz_clear' 
/usr/bin/ld: note: '__gmpz_clear' is defined in DSO /usr/lib/libgmp.so.3 so try adding it to the linker command line 
/usr/lib/libgmp.so.3: could not read symbols: Invalid operation 
collect2: ld returned 1 exit status 
make: *** [cpabe-setup] Error 1 

답변

2

그래서 나는 이것을 마침내 해결했습니다. 기본적으로 libgmp가 make에서 링크되지 않은 몇 가지 이유로 bcz 오류가 발생했습니다 (오류가 말하는 것입니다). 나는 ./configure를 실행에 의해 생성 된 Makefile을 점검 할 때, 그것은 말했다 : -

...blah blah blah ... 
LDFLAGS = -O3 -Wall \ 
     -lglib-2.0 \ 
     -Wl,-rpath /usr/local/lib -lgmp \ 
     -Wl,-rpath /usr/local/lib -lpbc \ 
     -lbswabe \ 
     -lcrypto -lcrypto 
... blah blah blah ... 

당신이 볼 수 있듯이, libgmp가 LDFLAGS에 언급되어있다. 그렇게 많은 혼란이 계속되었습니다. 단지 충동에 잠시 후에는 메이크 파일에 다음 수정을 시도 : -

LDFLAGS = -O3 -Wall \ 
     -lglib-2.0 \ 
     -Wl,-rpath /usr/local/lib -lgmp \ 
     -Wl,-rpath /usr/local/lib -lpbc \ 
     -lbswabe \ 
     -lcrypto -lcrypto \ 
     -lgmp 

을 그래서 지금, 그것은 잘 컴파일 이상한 이유.