Ubuntu 14.04 PHP 5.6.3 をコンパイルするときにエラーが発生する

Ubuntu 14.04 PHP 5.6.3 をコンパイルするときにエラーが発生する

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”

しかし、この解決策にはどのような欠点があるのか​​分かりません。

関連情報