質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

1回答

5200閲覧

PHP7.2.7のソースがmakeでエラーになってしまう。

h-yonemu

総合スコア11

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

4クリップ

投稿2018/09/13 09:39

PHP7.2.7のソースをダウンロードし、コンパイルしたものをApacheに組み込む作業を実施していますが、コンパイル(make)をするとエラーが発生しています。解決策を教えて頂きたいです。

構築環境は
RHEL5.9
Apache2.4
PHP7.2.7

作業手順は以下の通りです。
1.PHPインストールを実施する前に事前に以下のインストールを実施しています。

text

1 ①iconv(libiconv-1.13.1)のインストール(インストールディレクトリ:/DA/libiconv-1.13.1) 2 ②autoconf(autoconf-2.64)のインストール(インストールディレクトリ:/DA/autoconf-2.64) 3 ③GMP(gmp-5.1.3)のインストール(インストールディレクトリ:/DA/gmp-5.1.3) 4 ④MPFR(mpfr-3.1.6)のインストール(インストールディレクトリ:/DA/mpfr-3.1.6) 5 ⑤MPC(mpc-1.0.3)のインストール(インストールディレクトリ:/DA/mpc-1.0.3) 6 ⑥GCC(gcc-4.9.4)のインストール(インストールディレクトリ:/DA/gcc-4.9.4)

2.PHPのインストール

text

1 ①cd /DA/wk/php-7.2.7 2 ②make distclean 3 ③rm -f configure 4 ④./buildconf --force 5 ⑤export LD_LIBRARY_PATH=/DA/mpc-1.0.3/lib:/DA/mpfr-3.1.6/lib:/DA/gmp-5.1.3/lib:/DA/libiconv-1.13.1/lib:/DA/gcc-4.9.4/lib64:/DA/gcc-4.9.4/lib:/usr/lib64:/lib64:/usr/lib:/lib 6 ⑥export PATH=/DA/gcc-4.9.4/bin:/DA/libiconv-1.13.1/bin:$PATH 7 ⑦./configure --prefix=/DA/php-7.2.7 --with-apxs2=/DA/apache2/bin/apxs --with-iconv=/DA/libiconv-1.13.1 --with-gmp=/DA/gmp-5.1.3 --with-openssl=/DA/openssl-1.0.2p 8 ⑧make 9 エラー内容 10  ・・・ 11  ext/standard/.libs/var.o: In function `php_var_export_ex': 12  /DA/fj/php-7.2.7/ext/standard/var.c:473: undefined reference to `isfinite' 13  main/.libs/php_variables.o: In function `zend_dval_to_lval': 14  /DA/fj/php-7.2.7/Zend/zend_operators.h:114: undefined reference to `isfinite' 15  Zend/.libs/zend_operators.o: In function `zendi_smart_strcmp': 16  /DA/fj/php-7.2.7/Zend/zend_operators.c:2794: undefined reference to `isfinite' 17  Zend/.libs/zend_operators.o: In function `zend_dval_to_lval': 18  /DA/fj/php-7.2.7/Zend/zend_operators.h:114: undefined reference to `isfinite' 19  /DA/fj/php-7.2.7/Zend/zend_operators.h:114: undefined reference to `isfinite' 20  Zend/.libs/zend_operators.o:/DA/fj/php-7.2.7/Zend/zend_operators.h:114: more undefined references to `isfinite' follow 21  collect2: ld returned 1 exit status 22  make: *** [sapi/cli/php] エラー 1

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ockeghem

2018/09/13 12:03

上記ビルドを実施するにあたり、参考にした記事などを示してください
guest

回答1

0

ベストアンサー

以下のバグ報告にある現象かと思いますが…

https://bugs.php.net/bug.php?id=74507

この記事の末尾にあるように、configure ファイル中の ac_have_decl=1 をすべて ac_have_decl=0 に修正(6箇所)するとビルドできるようになりました。CentOS 5.11で確認しました。

configure

1if test "x$ac_cv_have_decl_arc4random_buf" = xyes; then : 2 ac_have_decl=0 3else 4 ac_have_decl=0 5fi 6## 上記の他5箇所

投稿2018/09/13 12:51

ockeghem

総合スコア11701

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

h-yonemu

2018/09/18 11:52

回答ありがとうございます。 記載して頂いた内容で上手くビルドができました。 ちなみに、ac_have_declはどのような意味合いを持っているのでしょうか?
ockeghem

2018/09/18 12:08

ビルドできたようでよかったです。 ac_have_decl は isfinite 関数などが用意されているかを示し、用意されていない場合は PHP側で同等のものを実装するというフラグです。今回、 isfinite 関数などが見つからないという現象ですので、強制的に「ない」ことを示したものです。
h-yonemu

2018/09/19 06:27

ありがとうございました。 内容も理解できました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問