

php(5.3.29)とapacheをソースからインストールしています。

phpのconfigureを行ったあとのmakeでエラーがでて困っています。

コンパイラが新しいため、エラーが出るのでしょうか？  
エラーの対処方法／アドバイス等、ご指摘、を頂きたいです。

・`gcc --vesion`  
`gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28)`

・OS  
CentOS7

・以下PHPのconifgureオプション

[code]

     PHP_AUTOCONF=autoconf './configure' '--build=x86_64-redhat-linux-gnu' '--host=x86_64-redhat-linux-gnu' '--target=x86_64-redhat-linux-gnu' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib64' '--libexecdir=/usr/libexec' '--localstatedir=/var' '--sharedstatedir=/usr/com' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--prefix=/usr' '--with-config-file-path=/etc' '--disable-debug' '--disable-rpath' '--enable-inline-optimization' '--with-bz2' '--with-exec-dir=/usr/bin' '--with-freetype-dir=/usr' '--with-png-dir=/usr' '--with-gd' '--enable-gd-native-ttf' '--with-gdbm' '--with-gettext' '--with-gmp' '--with-iconv' '--with-jpeg-dir=/usr' '--with-openssl' '--without-pspell' '--with-regex=system' '--with-zlib' '--with-layout=GNU' '--enable-bcmath' '--enable-exif' '--enable-ftp' '--enable-magic-quotes' '--enable-safe-mode' '--enable-sysvsem' '--enable-sysvshm' '--enable-wddx' '--with-kerberos=/usr/kerberos' '--with-mysql' '--with-snmp=shared,/usr' '--enable-ucd-snmp-hack' '--enable-bcmath' '--enable-shmop' '--enable-calendar' '--enable-mbregex' '--enable-zend-multibyte' '--with-libdir=lib64' '--with-apxs2' '--disable-force-cgi-redirect' '--enable-mbstring' '--enable-sockets' '--enable-sqlite-utf8' '--with-pdo-mysql' '--enable-mysqlnd' '--with-mysqli=mysqlnd' '--enable-zip' '--with-curl' '--with-xmlrpc' '--enable-soap' '--with-xsl' '--with-mcrypt=/usr/lib64' '--enable-dynamic-loading'
    
[/code]

・以下make時のエラー

[code]

    In file included from /home/tomonorimatsukawa/place/php-5.3.29/ext/zlib/zlib.c:50:0:
    /home/tomonorimatsukawa/place/php-5.3.29/ext/zlib/php_zlib.h:30:2: エラー: 不明な型名 ‘z_stream’ です
      z_stream stream;
      ^
    /home/tomonorimatsukawa/place/php-5.3.29/ext/zlib/php_zlib.h:31:2: エラー: 不明な型名 ‘uLong’ です
      uLong crc;
      ^
    /home/tomonorimatsukawa/place/php-5.3.29/ext/zlib/zlib.c:249:1: エラー: 不明な型名 ‘voidpf’ です
     static voidpf php_zlib_alloc(voidpf opaque, uInt items, uInt size)
     ^
    /home/tomonorimatsukawa/place/php-5.3.29/ext/zlib/zlib.c:249:30: エラー: 不明な型名 ‘voidpf’ です
    ・
    ・
    ・・
    In file included from /home/tomonorimatsukawa/place/php-5.3.29/main/php.h:38:0,
                     from /home/tomonorimatsukawa/place/php-5.3.29/ext/zlib/zlib.c:28:
    /home/tomonorimatsukawa/place/php-5.3.29/ext/zlib/zlib.c:948:28: エラー: 構造体または共用体ではない何かのメンバ ‘total_out’ の要求です
       RETURN_STRINGL(s2, stream.total_out + GZIP_HEADER_LENGTH + (coding == CODING_GZIP ? GZIP_FOOTER_LENGTH : 0), 0);
    
    make: *** [ext/zlib/zlib.lo] エラー 1
    
[/code]


CC BY-SA 4.0
2018-06-15T05:18:44.527
44776
2018-06-16T12:07:53.407
2018-06-15T07:04:02.543
28920
question
php centos apache gcc
phpインストール時のmakeのときのエラー


`z_stream` も `uLong` も `zlib` のヘッダファイル中に書かれている型です。が、これが未定義ということは `zlib`
関係のインクルードファイルが見つかっていないということになりそうです。 `#include` する相手が見つからないというエラーがないのはなぜだろう？

`--with-zlib` を指定した以上は `zlib` バイナリだけあってもダメで `zlib-devel`
が必要なのですが、そうなっていないと推定されます。 `zlib-devel` を `rpm` で追加インストールするか `zlib`
自体を野良ビルド＋インストールしてください。

`--with-*****` を手で指定したのであれば `*****-devel` パッケージも必要になります。例えば `--with-openssl`
としたなら `openssl-devel` 等も必要になります。何を追加インストールしないといけないか、要調査。

`zlib-devel` がインストール済みであるなら `zlib.h` と `zconf.h` がどこかにあるはずです。標準では
`/usr/include` にありそうですので確認してみてください。標準でないディレクトリにインストールしてあるのなら `--with-z=DIR`
オプションを追加する必要があるかもしれないです。

<http://www.atmarkit.co.jp/ait/articles/1107/22/news142.html>

offtopic  
客先にて使っているバージョンの再現ですか・・・ `php` `httpd`
以外もバージョンをそろえないと意味がないかもしれません。いろいろと難しいというかめんどくさそう・・・


CC BY-SA 4.0
2018-06-15T05:47:01.597
44778
2018-06-15T06:18:53.620
2018-06-15T06:18:53.620
8589
8589
44776
answer


質問主です。  
zlib-develを再インストールすると成功しました。  
ありがとうございました。


CC BY-SA 4.0
2018-06-16T12:07:53.407
44808
2018-06-16T12:07:53.407
28920
44776
answer