PHP 5.6.3을 컴파일할 때 Ubuntu 14.04 오류 발생

PHP 5.6.3을 컴파일할 때 Ubuntu 14.04 오류 발생

나는 Apache2와 PHP에 대한 모든 종속성을 설치하여 모든 작업을 올바르게 수행했다고 생각합니다.

먼저 모든 실제 업데이트가 포함된 깨끗한 Ubuntu 14.04를 설치했습니다. 그런 다음 "apt-get build-dep php5 apache2"를 사용하여 필요한 종속성을 설치했습니다.

그 후 나는 다음 단계를 수행했습니다.

마지막 종속성의 경우:

apt-get install apache2 mysql-client mysql-server php5 libapache2-mod-php5 libxml2-dev libcurl4-openssl-dev libbz2-dev libjpeg-dev libpng-dev libfreetype6-dev libtidy-dev libxslt-dev libmcrypt-dev php5-gd php5-curl libc-client2007e-dev

ln -s /usr/lib/libc-client.a /usr/lib/x86_64-linux-gnu/libc-client.a 

(컴파일 프로세스에서 libc-client.a 파일을 찾습니다)

마지막으로 php-5.6.3 디렉토리에서 컴파일 프로세스를 시작했습니다.

./configure --with-config-file-path=/etc/php5/apache2 --with-pear=/usr/share/php --with-gd --with-mysql --with-mysqli --with-pdo-mysql=/usr --with-curl --disable-debug --with-mhash --with-jpeg-dir=/usr --with-freetype-dir=/usr --with-zlib --with-gettext --with-bz2 --with-mcrypt --with-iconv --enable-soap --with-openssl --enable-mbstring --with-libdir=/lib/x86_64-linux-gnu --enable-ftp --enable-bcmath --with-imap --with-xsl --with-imap-ssl --enable-zip --with-tidy --with-kerberos --enable-calendar --enable-sockets --with-libxml-dir=/usr --with-apxs2

make install

그러다가 다음과 같은 오류가 발생했습니다.

/usr/bin/ld: /usr/lib/x86_64-linux-gnu/libc-client.a(osdep.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/lib/x86_64-linux-gnu/libc-client.a: error adding symbols: Bad value
collect2: error: ld returned 1 exit status
make: *** [libphp5.la] Fehler 1

실제로 이런 일이 일어나서는 안 되기 때문에 이 문제를 어떻게 해결해야 할지 모르겠습니다. 모든 것이 새로 설치되지 않았으며 Google도 도움이 될만한 내용을 알려주지 않습니다....

여기 누군가가 나를 도울 수 있다면 좋을 것입니다 :D

답변1

오류 메시지는 -fPIC 컴파일러 플래그를 추가할 수 있음을 알려줍니다.

http://jaytaylor.com/blog/2010/10/06/howto-fix-fpic-errors/

이 페이지에서는 대략적인 해결책을 찾을 수 있습니다. 즉, 전체 PHP에 PIC를 활성화하는 것입니다.

export CC=”gcc -fPIC”
export CXX=”g++ -fPIC”

하지만 이 솔루션에는 어떤 단점이 있는지 모르겠습니다.

관련 정보