# php5 compile problem

- Thread: https://externals.io/message/2302
- Original archive: https://news-web.php.net/php.internals/2302
- Started by walt boring on 2003-06-12T23:15:43+00:00
- Messages: 7
- Reply by email to internals@lists.php.net
- More for agents: search with https://externals.io/search.md?q={query} · JSON API at https://externals.io/api · documentation at https://externals.io/llms.txt

---

## #2302 — walt boring — 2003-06-12T23:15:43+00:00

URL: https://externals.io/message/2302#2302

I am trying to compile the latest PHP5 from CVS w/ openssl support, and 
it bails looking for krb.h.  I have
a RedHat9 box.  Below is the output.  I have this same issue with 
compiling php 4.3.2.  I usually have to hack the
Makefile to add the include path where the krb.h include is.

[root@hemna php5]# make
/bin/sh /usr/local/src/php5/libtool --silent --preserve-dup-deps 
--mode=compile gcc  -Iext/openssl/ -I/usr/local/src/php5/ext/openssl/ 
-DPHP_ATOM_INC -I/usr/local/src/php5/include -I/usr/local/src/php5/main 
-I/usr/local/src/php5 -I/usr/local/src/php5/Zend -I/usr/include/libxml2 
-I/usr/local/include -I/usr/include/mysql 
-I/u01/app/oracle/product/8.1.7/rdbms/public 
-I/u01/app/oracle/product/8.1.7/rdbms/demo  -I/usr/local/src/php5/TSRM  
-g -O2  -prefer-pic -c /usr/local/src/php5/ext/openssl/xp_ssl.c -o 
ext/openssl/xp_ssl.lo
In file included from /usr/include/openssl/ssl.h:179,
                 from /usr/local/src/php5/ext/openssl/xp_ssl.c:26:
/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 /usr/local/src/php5/ext/openssl/xp_ssl.c:26:
/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 /usr/local/src/php5/ext/openssl/xp_ssl.c:26:
/usr/include/openssl/ssl.h:909: parse error before "KSSL_CTX"
/usr/include/openssl/ssl.h:931: parse error before '}' token
make: *** [ext/openssl/xp_ssl.lo] Error 1

[root@hemna php5]# locate krb5.h
/usr/kerberos/include/gssapi/gssapi_krb5.h
/usr/kerberos/include/krb5.h

[root@hemna php5]# rpm -qf /usr/kerberos/include/krb5.h
krb5-devel-1.2.7-14

Walt

---

## #2303 — Vlad Krupin — 2003-06-13T00:00:34+00:00

URL: https://externals.io/message/2302#2303 · In reply to: #2302

That's a known problem on redhat9 - kerberos include files are in 
/usr/kerberos/include, which is not in your include path. You have to 
tweak it by hand to make PHP compile with openssl on redhat9.

PHP is not alone - any application that needs to be compiled against 
openssl on a redhat9 box will fail like that (unless it is aware that 
kerberos is installed in /usr/kerberos).

:(

Vlad

walt boring wrote:

> I am trying to compile the latest PHP5 from CVS w/ openssl support, 
> and it bails looking for krb.h.  I have
> a RedHat9 box.  Below is the output.  I have this same issue with 
> compiling php 4.3.2.  I usually have to hack the
> Makefile to add the include path where the krb.h include is.
>
> [root@hemna php5]# make
> /bin/sh /usr/local/src/php5/libtool --silent --preserve-dup-deps 
> --mode=compile gcc  -Iext/openssl/ -I/usr/local/src/php5/ext/openssl/ 
> -DPHP_ATOM_INC -I/usr/local/src/php5/include 
> -I/usr/local/src/php5/main -I/usr/local/src/php5 
> -I/usr/local/src/php5/Zend -I/usr/include/libxml2 -I/usr/local/include 
> -I/usr/include/mysql -I/u01/app/oracle/product/8.1.7/rdbms/public 
> -I/u01/app/oracle/product/8.1.7/rdbms/demo  
> -I/usr/local/src/php5/TSRM  -g -O2  -prefer-pic -c 
> /usr/local/src/php5/ext/openssl/xp_ssl.c -o ext/openssl/xp_ssl.lo
> In file included from /usr/include/openssl/ssl.h:179,
>                 from /usr/local/src/php5/ext/openssl/xp_ssl.c:26:
> /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 /usr/local/src/php5/ext/openssl/xp_ssl.c:26:
> /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 /usr/local/src/php5/ext/openssl/xp_ssl.c:26:
> /usr/include/openssl/ssl.h:909: parse error before "KSSL_CTX"
> /usr/include/openssl/ssl.h:931: parse error before '}' token
> make: *** [ext/openssl/xp_ssl.lo] Error 1
>
> [root@hemna php5]# locate krb5.h
> /usr/kerberos/include/gssapi/gssapi_krb5.h
> /usr/kerberos/include/krb5.h
>
> [root@hemna php5]# rpm -qf /usr/kerberos/include/krb5.h
> krb5-devel-1.2.7-14
>
> Walt

---

## #2305 — Vlad Krupin — 2003-06-13T01:32:55+00:00

URL: https://externals.io/message/2302#2305 · In reply to: #2304

Kevin Waterson wrote:

>This one time, at band camp, walt boring <waboring@3gstech.com> wrote:
>
>  
>
> > […]
>
>I use redhat 9 and 5.0, be sure to configure
>
>--with-kerberos=/usr/kerberos
>
It was my understanding that this option was for IMAP, not openssl. By 
sheer luck you must've been also configuring PHP to have IMAP support, 
so '--with-kerberos' added a necessary '-I/usr/kerberos/include' for 
you. If you do not configure PHP to use IMAP, you won't be able to use 
openssl. At least that's what I experienced.

Vlad

>
>Kevin

---

## #2304 — Kevin Waterson — 2003-06-13T02:10:19+00:00

URL: https://externals.io/message/2302#2304 · In reply to: #2302

This one time, at band camp, walt boring <waboring@3gstech.com> wrote:

> I am trying to compile the latest PHP5 from CVS w/ openssl support, and 
> it bails looking for krb.h.  I have
> a RedHat9 box.  Below is the output.  I have this same issue with 
> compiling php 4.3.2.  I usually have to hack the
> Makefile to add the include path where the krb.h include is.

I use redhat 9 and 5.0, be sure to configure

--with-kerberos=/usr/kerberos

Kevin
-- 
 ______                              
(_____ \                             
 _____) )  ____   ____   ____   ____ 
|  ____/  / _  ) / _  | / ___) / _  )
| |      ( (/ / ( ( | |( (___ ( (/ / 
|_|       \____) \_||_| \____) \____)
Kevin Waterson
Port Macquarie, Australia

---

## #2306 — Kevin Waterson — 2003-06-13T03:42:32+00:00

URL: https://externals.io/message/2302#2306 · In reply to: #2305

This one time, at band camp, Vlad Krupin <vlad@php.net> wrote:

> It was my understanding that this option was for IMAP, not openssl. By 
> sheer luck you must've been also configuring PHP to have IMAP support, 
> so '--with-kerberos' added a necessary '-I/usr/kerberos/include' for 
> you. If you do not configure PHP to use IMAP, you won't be able to use 
> openssl. At least that's what I experienced.

This is my configure line.. from `phpinfo()`;

'./configure' '--host=i386-redhat-linux' '--build=i386-redhat-linux' '--target=i386-redhat-linux-gnu' '--program-prefix=' '--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' '--cache-file=../config.cache' '--with-config-file-path=/etc' '--with-config-file-scan-dir=/etc/php.d' '--with-apxs2=/usr/local/apache2/bin/apxs' '--enable-debug' '--enable-pic' '--disable-rpath' '--enable-inline-optimization' '--prefix=/usr/local/apache2/php' '--with-config-file-path=/usr/local/apache2/php' '--enable-track-vars' '--enable-force-cgi-redirect' '--disable-cgi' '--with-gettext' '--with-bz2' '--with-curl' '--with-exec-dir=/usr/bin' '--with-freetype-dir=/usr' '--with-gd' '--enable-gd-native-ttf' '--enable-gd-jis-conv' '--with-ttf' '--with-gettext' '--with-gmp' '!
--with-iconv' '--with-jpeg-dir=/usr' '--enable-bcmath' '--enable-exif' '--enable-ftp' '--enable-magic-quotes' '--enable-safe-mode' '--enable-sockets' '--enable-sysvsem' '--enable-sysvshm' '--enable-discard-path' '--enable-trans-sid' '--enable-yp' '--enable-wddx' '--without-oci8' '--with-pear=/usr/share/pear' '--with-ldap=shared' '--with-mysql=shared,/usr' '--with-pgsql=shared' '--enable-memory-limit' '--enable-shmop' '--enable-versioning' '--enable-calendar' '--enable-dio' '--enable-mcal' '--with-pspell' '--with-png' '--with-png-dir=/usr' '--with-dom5' '--with-dom-xslt' '--with-dom=/usr' '--with-qtdom' '--with-zlib' '--enable-xslt' '--with-xslt-sablot=/usr' '--with-sablot-js=/usr' '--with-expat-dir=/usr' '--with-gdbm' '--enable-dbx' '--with-imap=shared' '--with-imap-ssl' '--with-openssl' '--with-kerberos=/usr/kerberos' '--with-layout=GNU' '--with-tiff=/usr' '--with-curlwrappers' '--with-filepro' '--with-xpm-dir=/usr' '--with-libxml-dir=/usr' '--with-xmlrpc'

Kevin

-- 
 ______                              
(_____ \                             
 _____) )  ____   ____   ____   ____ 
|  ____/  / _  ) / _  | / ___) / _  )
| |      ( (/ / ( ( | |( (___ ( (/ / 
|_|       \____) \_||_| \____) \____)
Kevin Waterson
Port Macquarie, Australia

---

## #2318 — walt boring — 2003-06-13T21:26:25+00:00

URL: https://externals.io/message/2302#2318 · In reply to: #2304

Kevin Waterson wrote:

>This one time, at band camp, walt boring <waboring@3gstech.com> wrote:
>
>  
>
> > […]
>
>I use redhat 9 and 5.0, be sure to configure
>
>--with-kerberos=/usr/kerberos
>
>Kevin
>  
>
I just tried this after doing a cvsclean and ./buildconf and ./configure
same problem.  My configure line is

./configure \
--with-oci8=/u01/app/oracle/product/8.1.7 \
--enable-sigchild \
--with-mcrypt \
--with-gd \
--with-png-dir=/usr \
--with-jpeg-dir=/usr \
--with-zlib-dir=/usr \
--enable-sysvsem \
--enable-sysvshm \
--enable-shmop \
--enable-trackvars \
--with-xml \
--with-zlib \
--with-gdbm \
--with-dom \
--with-mysql=/usr \
--enable-memory-limit \
--enable-mbstring \
--with-gettext \
--enable-tokenizer \
--enable-sockets \
--with-kerberos=/usr/kerberos \
--with-openssl \
--with-apxs=/usr/local/apache/bin/apxs \
--enable-mbstr-enc-trans

---

## #2322 — Vlad Krupin — 2003-06-13T23:06:10+00:00

URL: https://externals.io/message/2302#2322 · In reply to: #2318

[snip]

> > […]
> I just tried this after doing a cvsclean and ./buildconf and ./configure
> same problem.  My configure line is 

As far as I know, --with-kerberos does not have any effect if you do not 
compile PHP with imap support, so it won't work for your configure line.

Vlad

>
>
> ./configure \
> --with-oci8=/u01/app/oracle/product/8.1.7 \
> --enable-sigchild \
> --with-mcrypt \
> --with-gd \
> --with-png-dir=/usr \
> --with-jpeg-dir=/usr \
> --with-zlib-dir=/usr \
> --enable-sysvsem \
> --enable-sysvshm \
> --enable-shmop \
> --enable-trackvars \
> --with-xml \
> --with-zlib \
> --with-gdbm \
> --with-dom \
> --with-mysql=/usr \
> --enable-memory-limit \
> --enable-mbstring \
> --with-gettext \
> --enable-tokenizer \
> --enable-sockets \
> --with-kerberos=/usr/kerberos \
> --with-openssl \
> --with-apxs=/usr/local/apache/bin/apxs \
> --enable-mbstr-enc-trans
