보안서버구축시 아파치 컴파일 중 "can not be used when making a shared object; recompile with -fPIC" 에러
조회 수 22484 추천 수 0 2009.07.04 06:17:432. mod_ssl configure설정 ( ./configure --with-apache=/usr/local/src/apache-1.3.37 --with-ssl=/usr/local/ssl )
3. apache ./configure 설정 후 make 실행시 Bad Value라는 에러메시지와 함께 컴파일 중단
에러메세지
/usr/bin/ld: /usr/local/ssl/lib/libssl.a(s2_srvr.o): relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC
/usr/local/ssl/lib/libssl.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
make[4]: *** [libssl.so] 오류 1
make[3]: *** [all] 오류 1
make[2]: *** [subdirs] 오류 1
make[2]: Leaving directory `/usr/local/src/apache_1.3.37/src'
make[1]: *** [build-std] 오류 2
make[1]: Leaving directory `/usr/local/src/apache_1.3.37'
make: *** [build] 오류 2
해결방법
-> openssl 을 ./config 할때 -fPIC 옵션을 추가해주면 해결됩니다
./config -fPIC && make && make install
www.modssl.or.kr 에서는, -fPIC 옵션에 대해 다음과 같이 설명하고 있습니다.
=> " . /config -fPIC로 해, DSO판 작성시에 필요한 PIC(Position Independent Code) 옵션을 지정해 configure 한다. "