php5 compile fails

php.internals

Kevin Waterson

23 years ago
This from the latest snap php5-200304270530 seems to have an issue with kerberos Kevin /bin/sh /home/kevin/html/php/dev/php5/php5-200304270530/libtool --silent --preserve-dup-deps --mode=compile gcc -Iext/ftp/ -I/home/kevin/html/php/dev/php5/php5-200304270530/ext/ftp/ -DPHP_ATOM_INC -I/home/kevin/html/php/dev/php5/php5-200304270530/include -I/home/kevin/html/php/dev/php5/php5-200304270530/main -I/home/kevin/html/php/dev/php5/php5-200304270530 -I/usr/include/httpd -I/home/kevin/html/php/dev/php5/php5-200304270530/Zend -I/usr/include/libxml2 -I/usr/include/freetype2 -I/usr/include/mysql -I/home/kevin/html/php/dev/php5/php5-200304270530/TSRM -g -O2 -prefer-pic -c /home/kevin/html/php/dev/php5/php5-200304270530/ext/ftp/php_ftp.c -o ext/ftp/php_ftp.lo In file included from /usr/include/openssl/ssl.h:179, from /home/kevin/html/php/dev/php5/php5-200304270530/ext/ftp/php_ftp.c:39: /usr/include/openssl/kssl.h:72:18: krb5.h: No such file or directory In file included from /usr/include/openssl/ssl.h:179, from /home/kevin/html/php/dev/php5/php5-200304270530/ext/ftp/php_ftp.c:39: /usr/include/openssl/kssl.h:132: parse error before "krb5_enctype" /usr/include/openssl/kssl.h:134: parse error before "FAR" /usr/include/openssl/kssl.h:135: parse error before '}' token /usr/include/openssl/kssl.h:147: parse error before "kssl_ctx_setstring" /usr/include/openssl/kssl.h:147: parse error before '*' token /usr/include/openssl/kssl.h:148: parse error before '*' token /usr/include/openssl/kssl.h:149: parse error before '*' token /usr/include/openssl/kssl.h:150: parse error before '*' token /usr/include/openssl/kssl.h:151: parse error before "kssl_ctx_setprinc" /usr/include/openssl/kssl.h:151: parse error before '*' token /usr/include/openssl/kssl.h:153: parse error before "kssl_cget_tkt" /usr/include/openssl/kssl.h:153: parse error before '*' token /usr/include/openssl/kssl.h:155: parse error before "kssl_sget_tkt" /usr/include/openssl/kssl.h:155: parse error before '*' token /usr/include/openssl/kssl.h:157: parse error before "kssl_ctx_setkey" /usr/include/openssl/kssl.h:157: parse error before '*' token /usr/include/openssl/kssl.h:159: parse error before "context" /usr/include/openssl/kssl.h:160: parse error before "kssl_build_principal_2" /usr/include/openssl/kssl.h:160: parse error before "context" /usr/include/openssl/kssl.h:163: parse error before "kssl_validate_times" /usr/include/openssl/kssl.h:163: parse error before "atime" /usr/include/openssl/kssl.h:165: parse error before "kssl_check_authent" /usr/include/openssl/kssl.h:165: parse error before '*' token /usr/include/openssl/kssl.h:167: parse error before "enctype" In file included from /home/kevin/html/php/dev/php5/php5-200304270530/ext/ftp/php_ftp.c:39: /usr/include/openssl/ssl.h:909: parse error before "KSSL_CTX" /usr/include/openssl/ssl.h:931: parse error before '}' token make: *** [ext/ftp/php_ftp.lo] Error 1
-- ______ (_____ \ _____) ) ____ ____ ____ ____ | ____/ / _ ) / _ | / ___) / _ ) | | ( (/ / ( ( | |( (___ ( (/ / |_| \____) \_||_| \____) \____) Kevin Waterson Port Macquarie, Australia

Kevin Waterson

23 years ago
Ok, my config line is ./configure --host=i686-pc-linux-gnu --build=i686-pc-linux-gnu --enable-imap --target=i386-redhat-linux-gnu --program-prefix= --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib --libexecdir=/usr/libexec --localstatedir=/var --sharedstatedir=/usr/com --mandir=/usr/share/man --infodir=/usr/share/info --prefix=/usr --with-config-file-path=/etc --enable-force-cgi-redirect --disable-debug --enable-pic --disable-rpath --enable-inline-optimization --with-dom=/usr --with-exec-dir=/usr/bin --with-freetype-dir=/usr --with-png-dir=/usr --with-gd --enable-gd-native-ttf --with-ttf --with-gdbm --with-gettext --with-ncurses --with-gmp --with-iconv --with-jpeg-dir=/usr --with-openssl --with-png --with-regex=system --with-xml --with-domxml --with-expat-dir=/usr --with-zlib --with-layout=GNU --enable-bcmath --enable-exif --enable-ftp --enable-magic-quotes --enable-safe-mode --enable-sockets! --enable-sysvsem --enable-sysvshm --enable-discard-path --enable-track-vars --enable-trans-sid --enable-yp --enable-wddx --without-oci8 --with-kerberos=/usr/kerberos --with-ldap=shared --with-mysql=/usr --enable-memory-limit --enable-bcmath --enable-shmop --enable-versioning --enable-calendar --enable-dbx --enable-dio --enable-mcal --with-apxs2=/usr/sbin/apxs --enable-xslt --with-xslt-sablot=/usr --with-sablot-js=/usr and the error is /bin/sh /home/kevin/html/php/dev/php5/php5-200304270530/libtool --silent --preserve-dup-deps --mode=compile gcc -Iext/ftp/ -I/home/kevin/html/php/dev/php5/php5-200304270530/ext/ftp/ -DPHP_ATOM_INC -I/home/kevin/html/php/dev/php5/php5-200304270530/include -I/home/kevin/html/php/dev/php5/php5-200304270530/main -I/home/kevin/html/php/dev/php5/php5-200304270530 -I/usr/include/httpd -I/home/kevin/html/php/dev/php5/php5-200304270530/Zend -I/usr/include/libxml2 -I/usr/include/freetype2 -I/usr/include/mysql -I/home/kevin/html/php/dev/php5/php5-200304270530/TSRM -g -O2 -prefer-pic -c /home/kevin/html/php/dev/php5/php5-200304270530/ext/ftp/php_ftp.c -o ext/ftp/php_ftp.lo In file included from /usr/include/openssl/ssl.h:179, from /home/kevin/html/php/dev/php5/php5-200304270530/ext/ftp/php_ftp.c:39: /usr/include/openssl/kssl.h:72:18: krb5.h: No such file or directory In file included from /usr/include/openssl/ssl.h:179, from /home/kevin/html/php/dev/php5/php5-200304270530/ext/ftp/php_ftp.c:39: /usr/include/openssl/kssl.h:132: parse error before "krb5_enctype" /usr/include/openssl/kssl.h:134: parse error before "FAR" /usr/include/openssl/kssl.h:135: parse error before '}' token /usr/include/openssl/kssl.h:147: parse error before "kssl_ctx_setstring" /usr/include/openssl/kssl.h:147: parse error before '*' token /usr/include/openssl/kssl.h:148: parse error before '*' token /usr/include/openssl/kssl.h:149: parse error before '*' token /usr/include/openssl/kssl.h:149: parse error before '*' token /usr/include/openssl/kssl.h:150: parse error before '*' token /usr/include/openssl/kssl.h:151: parse error before "kssl_ctx_setprinc" /usr/include/openssl/kssl.h:151: parse error before '*' token /usr/include/openssl/kssl.h:153: parse error before "kssl_cget_tkt" /usr/include/openssl/kssl.h:153: parse error before '*' token /usr/include/openssl/kssl.h:155: parse error before "kssl_sget_tkt" /usr/include/openssl/kssl.h:155: parse error before '*' token /usr/include/openssl/kssl.h:157: parse error before "kssl_ctx_setkey" /usr/include/openssl/kssl.h:157: parse error before '*' token /usr/include/openssl/kssl.h:159: parse error before "context" /usr/include/openssl/kssl.h:160: parse error before "kssl_build_principal_2" /usr/include/openssl/kssl.h:160: parse error before "context" /usr/include/openssl/kssl.h:163: parse error before "kssl_validate_times" /usr/include/openssl/kssl.h:163: parse error before "atime" /usr/include/openssl/kssl.h:165: parse error before "kssl_check_authent" /usr/include/openssl/kssl.h:165: parse error before '*' token /usr/include/openssl/kssl.h:167: parse error before "enctype" In file included from /home/kevin/html/php/dev/php5/php5-200304270530/ext/ftp/php_ftp.c:39: /usr/include/openssl/ssl.h:909: parse error before "KSSL_CTX" /usr/include/openssl/ssl.h:931: parse error before '}' token make: *** [ext/ftp/php_ftp.lo] Error 1 Kevin
-- ______ (_____ \ _____) ) ____ ____ ____ ____ | ____/ / _ ) / _ | / ___) / _ ) | | ( (/ / ( ( | |( (___ ( (/ / |_| \____) \_||_| \____) \____) Kevin Waterson Port Macquarie, Australia

Vlad Krupin

23 years ago
it's a known problem with redhat9 (and maybe some others). the missing include files are in /usr/kerberos/include, which is not in your include path :( #include <openssl.h> int main(){} should result in the same error. Vlad Kevin Waterson wrote:

Jani Taskinen

23 years ago
There was some bug report about this too..so is the answer to these "Not PHP bug, blame RH9" ? :) --Jani On Mon, 28 Apr 2003, Vlad Krupin wrote:
>it's a known problem with redhat9 (and maybe some others). >the missing include files are in /usr/kerberos/include, which is not in >your include path :( > >#include <openssl.h> >int main(){} > >should result in the same error. > >Vlad > >Kevin Waterson wrote: > >>Ok, my config line is >>./configure --host=i686-pc-linux-gnu --build=i686-pc-linux-gnu --enable-imap --target=i386-redhat-linux-gnu --program-prefix= --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib --libexecdir=/usr/libexec --localstatedir=/var --sharedstatedir=/usr/com --mandir=/usr/share/man --infodir=/usr/share/info --prefix=/usr --with-config-file-path=/etc --enable-force-cgi-redirect --disable-debug --enable-pic --disable-rpath --enable-inline-optimization --with-dom=/usr --with-exec-dir=/usr/bin --with-freetype-dir=/usr --with-png-dir=/usr --with-gd --enable-gd-native-ttf --with-ttf --with-gdbm --with-gettext --with-ncurses --with-gmp --with-iconv --with-jpeg-dir=/usr --with-openssl --with-png --with-regex=system --with-xml --with-domxml --with-expat-dir=/usr --with-zlib --with-layout=GNU --enable-bcmath --enable-exif --enable-ftp --enable-magic-quotes --enable-safe-mode --enable-socke!
ts!
>> --enable-sysvsem --enable-sysvshm --enable-discard-path --enable-track-vars --enable-trans-sid --enable-yp --enable-wddx --without-oci8 --with-kerberos=/usr/kerberos --with-ldap=shared --with-mysql=/usr --enable-memory-limit --enable-bcmath --enable-shmop --enable-versioning --enable-calendar --enable-dbx --enable-dio --enable-mcal --with-apxs2=/usr/sbin/apxs --enable-xslt --with-xslt-sablot=/usr --with-sablot-js=/usr >> >>and the error is >> >>/bin/sh /home/kevin/html/php/dev/php5/php5-200304270530/libtool --silent --preserve-dup-deps --mode=compile gcc -Iext/ftp/ -I/home/kevin/html/php/dev/php5/php5-200304270530/ext/ftp/ -DPHP_ATOM_INC -I/home/kevin/html/php/dev/php5/php5-200304270530/include -I/home/kevin/html/php/dev/php5/php5-200304270530/main -I/home/kevin/html/php/dev/php5/php5-200304270530 -I/usr/include/httpd -I/home/kevin/html/php/dev/php5/php5-200304270530/Zend -I/usr/include/libxml2 -I/usr/include/freetype2 -I/usr/include/mysql -I/home/kevin/html/php/dev/php5/php5-200304270530/TSRM -g -O2 -prefer-pic -c /home/kevin/html/php/dev/php5/php5-200304270530/ext/ftp/php_ftp.c -o ext/ftp/php_ftp.lo >>In file included from /usr/include/openssl/ssl.h:179, >> from /home/kevin/html/php/dev/php5/php5-200304270530/ext/ftp/php_ftp.c:39: >>/usr/include/openssl/kssl.h:72:18: krb5.h: No such file or directory >>In file included from /usr/include/openssl/ssl.h:179, >> from /home/kevin/html/php/dev/php5/php5-200304270530/ext/ftp/php_ftp.c:39: >>/usr/include/openssl/kssl.h:132: parse error before "krb5_enctype" >>/usr/include/openssl/kssl.h:134: parse error before "FAR" >>/usr/include/openssl/kssl.h:135: parse error before '}' token >>/usr/include/openssl/kssl.h:147: parse error before "kssl_ctx_setstring" >>/usr/include/openssl/kssl.h:147: parse error before '*' token >>/usr/include/openssl/kssl.h:148: parse error before '*' token >>/usr/include/openssl/kssl.h:149: parse error before '*' token >>/usr/include/openssl/kssl.h:149: parse error before '*' token >>/usr/include/openssl/kssl.h:150: parse error before '*' token >>/usr/include/openssl/kssl.h:151: parse error before "kssl_ctx_setprinc" >>/usr/include/openssl/kssl.h:151: parse error before '*' token >>/usr/include/openssl/kssl.h:153: parse error before "kssl_cget_tkt" >>/usr/include/openssl/kssl.h:153: parse error before '*' token >>/usr/include/openssl/kssl.h:155: parse error before "kssl_sget_tkt" >>/usr/include/openssl/kssl.h:155: parse error before '*' token >>/usr/include/openssl/kssl.h:157: parse error before "kssl_ctx_setkey" >>/usr/include/openssl/kssl.h:157: parse error before '*' token >>/usr/include/openssl/kssl.h:159: parse error before "context" >>/usr/include/openssl/kssl.h:160: parse error before "kssl_build_principal_2" >>/usr/include/openssl/kssl.h:160: parse error before "context" >>/usr/include/openssl/kssl.h:163: parse error before "kssl_validate_times" >>/usr/include/openssl/kssl.h:163: parse error before "atime" >>/usr/include/openssl/kssl.h:165: parse error before "kssl_check_authent" >>/usr/include/openssl/kssl.h:165: parse error before '*' token >>/usr/include/openssl/kssl.h:167: parse error before "enctype" >>In file included from /home/kevin/html/php/dev/php5/php5-200304270530/ext/ftp/php_ftp.c:39: >>/usr/include/openssl/ssl.h:909: parse error before "KSSL_CTX" >>/usr/include/openssl/ssl.h:931: parse error before '}' token >>make: *** [ext/ftp/php_ftp.lo] Error 1 >> >>Kevin >> >> >> >> >> > > > >
-- <- For Sale! ->

Vlad Krupin

23 years ago
Jani Taskinen wrote:
> There was some bug report about this too..so is the > answer to these "Not PHP bug, blame RH9" ? :) >
I do not know. It depends... Redhat9 comes with openssl that is compiled without OPENSSL_NO_KRB5. Hence, krb5.h is required, but it's located in /usr/kerberos/include. They keep closing bugreports about that saying "won't fix" - they say that your make file is responsible for making sure it knows where to find kerberos include files. I respectfully disagree, because a file like: #include <openssl/ssl.h> int main(){} should compile, and it doesn't. As a quick fix, I just ripped some code off imap/config.m4, modified it a bit and added to openssl/config.m4 (see patch). This fixes the problem. However, it is kinda silly to require --with-kerberos parameter if people are using older openssl and do not have/use kerberos. The right way to do this is to find out whether openssl was compiled with OPENSSL_NO_KRB5. If not, then we need to search for kerberos, like the patch does. If it is defined, no intervention is required. I am not quite sure what's the best way to do that, so could someone look at the patch and fix it to check for OPENSSL_NO_KRB5 ? (I don't have time to figure that out right this moment) Vlad P.S. This also affects 4.3.2 and will frustrate the heck out of everyone trying to install it on a redhat9 system.

Jani Taskinen

23 years ago
I'm not willing to add such hacks (no more!) just because some new system has an obvious bug in it. --Jani On Mon, 28 Apr 2003, Vlad Krupin wrote:
>Jani Taskinen wrote: > >> There was some bug report about this too..so is the >> answer to these "Not PHP bug, blame RH9" ? :) >> >I do not know. It depends... > >Redhat9 comes with openssl that is compiled without OPENSSL_NO_KRB5. >Hence, krb5.h is required, but it's located in /usr/kerberos/include. >They keep closing bugreports about that saying "won't fix" - they say >that your make file is responsible for making sure it knows where to >find kerberos include files. I respectfully disagree, because a file like: > >#include <openssl/ssl.h> >int main(){} > >should compile, and it doesn't. > > >As a quick fix, I just ripped some code off imap/config.m4, modified it >a bit and added to openssl/config.m4 (see patch). This fixes the problem. >However, it is kinda silly to require --with-kerberos parameter if >people are using older openssl and do not have/use kerberos. The right >way to do this is to find out whether openssl was compiled with >OPENSSL_NO_KRB5. If not, then we need to search for kerberos, like the >patch does. If it is defined, no intervention is required. I am not >quite sure what's the best way to do that, so could someone look at the >patch and fix it to check for OPENSSL_NO_KRB5 ? (I don't have time to >figure that out right this moment) > >Vlad > >P.S. This also affects 4.3.2 and will frustrate the heck out of everyone >trying to install it on a redhat9 system. >
-- <- For Sale! ->

Vlad Krupin

23 years ago
Then either always search for kerberos or close bug as "Won't Fix" and hope Redhat 9.1 doesn't have that problem. Judging by their attitude, they are not keen on changing that though:( As it is stands right now, PHP will not compile on such a system. Hope that helped, Vlad Jani Taskinen wrote:

George Schlossnagle

23 years ago
Isn't the whole point of an autoconf-based system to provide support for any random system? On Monday, April 28, 2003, at 07:08 PM, Jani Taskinen wrote:

Derick Rethans

23 years ago
On Mon, 28 Apr 2003, George Schlossnagle wrote:
> Isn't the whole point of an autoconf-based system to provide support > for any random system?
Not if some system intentionaly comes with mispackaged libraries and they don't give a shit :-) Derick
-- "my other box is your windows PC" ------------------------------------------------------------------------- Derick Rethans http://derickrethans.nl/ PHP Magazine - PHP Magazine for Professionals http://php-mag.net/ -------------------------------------------------------------------------

Jani Taskinen

23 years ago
Yeah, basically, but we can't add workarounds for one version of one distribution. It's not only us who is having this problem, anyone who compiles anything that links with openssl is gonna have the same problem. Should all they fix their stuff because RH 9 is broken? I don't think so.. --Jani On Mon, 28 Apr 2003, George Schlossnagle wrote:
>Isn't the whole point of an autoconf-based system to provide support >for any random system? > >On Monday, April 28, 2003, at 07:08 PM, Jani Taskinen wrote: > >> >> I'm not willing to add such hacks (no more!) just >> because some new system has an obvious bug in it. >> >> --Jani >> >
-- <- For Sale! ->