disclaimer : I realize that by working on Solaris I am in fringe OS territory.
So here I am once again trying to build PHP 5.4.11 on a Solaris 10 server
with the following configure options :
./configure --with-apxs2=/usr/local/bin/apxs --with-mysql=/opt/mysql/mysql \
--with-libxml-dir=/usr/local --sysconfdir=/usr/local/etc \
--includedir=/usr/local/include --libdir=/usr/local/lib \
--libexecdir=/usr/local/libexec --localstatedir=/usr/local/var/php \
--mandir=/usr/local/share/man --infodir=/usr/local/share \
--cache-file=../php-5.4.11_SunOS5.10_sparcv9.001.cache --disable-debug \
--with-pic --with-bz2 --with-gettext --with-gmp --with-iconv --with-openssl \
--with-zlib --enable-ftp --enable-sockets --without-kerberos \
--enable-calendar --enable-xml --disable-json --with-curl=/usr/local \
--enable-posix --with-pdo-mysql --enable-mbstring --with-mysqli
This seemed to work well in the configure stage and once I fired off the compile
all looked well up until :
/bin/bash /usr/local/build/php-5.4.11_SunOS5.10_sparcv9.001/libtool --silent
--preserve-dup-deps --mode=compile /opt/solarisstudio12.3/bin/cc -Iext/curl/
-I/usr/local/build/php-5.4.11_SunOS5.10_sparcv9.001/ext/curl/ -DPHP_ATOM_INC
-I/usr/local/build/php-5.4.11_SunOS5.10_sparcv9.001/include
-I/usr/local/build/php-5.4.11_SunOS5.10_sparcv9.001/main
-I/usr/local/build/php-5.4.11_SunOS5.10_sparcv9.001
-I/usr/local/build/php-5.4.11_SunOS5.10_sparcv9.001/ext/date/lib
-I/usr/local/build/php-5.4.11_SunOS5.10_sparcv9.001/ext/ereg/regex
-I/usr/local/include/libxml2 -I/usr/local/include -I/usr/sfw/include
-I/usr/local/build/php-5.4.11_SunOS5.10_sparcv9.001/ext/mbstring/oniguruma
-I/usr/local/build/php-5.4.11_SunOS5.10_sparcv9.001/ext/mbstring/libmbfl
-I/usr/local/build/php-5.4.11_SunOS5.10_sparcv9.001/ext/mbstring/libmbfl/mbfl
-I/opt/mysql/mysql/include
-I/usr/local/build/php-5.4.11_SunOS5.10_sparcv9.001/ext/sqlite3/libsqlite
-I/usr/local/build/php-5.4.11_SunOS5.10_sparcv9.001/TSRM -I/
usr/local/build/php-5.4.11_SunOS5.10_sparcv9.001/Zend -I/usr/local/include
-I/usr/sfw/include -I/opt/mysql/mysql/include -D_POSIX_PTHREAD_SEMANTICS
-D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT -I/usr/local/include -errfmt=error
-erroff=%none -errshort=full -xstrconst -xildoff -m64 -xmemalign=8s -xnolibmil
-Xc -xcode=pic32 -xregs=no%appl -xlibmieee -mc -g -xs -ftrap=%none -Qy
-xbuiltin=%none -xdebugformat=dwarf -xunroll=1 -xtarget=ultraT2
-xcache=8/16/4:4096/64/16 -D_TS_ERRNO -D_POSIX_PTHREAD_SEMANTICS
-D_LARGEFILE64_SOURCE -xmemalign=8s -DZTS -c
/usr/local/build/php-5.4.11_SunOS5.10_sparcv9.001/ext/curl/interface.c -o
ext/curl/interface.lo
"/usr/local/build/php-5.4.11_SunOS5.10_sparcv9.001/Zend/zend_operators.h", line
597: warning: integer overflow detected: op "<<"
"/usr/local/build/php-5.4.11_SunOS5.10_sparcv9.001/Zend/zend_operators.h", line
597: warning: integer overflow detected: op "<<"
"/usr/local/build/php-5.4.11_SunOS5.10_sparcv9.001/Zend/zend_operators.h", line
597: warning: integer overflow detected: op "<<"
"/usr/local/build/php-5.4.11_SunOS5.10_sparcv9.001/Zend/zend_operators.h", line
597: warning: integer overflow detected: op "<<"
"/usr/local/build/php-5.4.11_SunOS5.10_sparcv9.001/Zend/zend_operators.h", line
680: warning: integer overflow detected: op "<<"
"/usr/local/build/php-5.4.11_SunOS5.10_sparcv9.001/Zend/zend_operators.h", line
680: warning: integer overflow detected: op "<<"
"/usr/local/build/php-5.4.11_SunOS5.10_sparcv9.001/Zend/zend_operators.h", line
680: warning: integer overflow detected: op "<<"
"/usr/local/build/php-5.4.11_SunOS5.10_sparcv9.001/Zend/zend_operators.h", line
680: warning: integer overflow detected: op "<<"
"/usr/local/build/php-5.4.11_SunOS5.10_sparcv9.001/ext/curl/interface.c", line
74: invalid directive
"/usr/local/build/php-5.4.11_SunOS5.10_sparcv9.001/ext/curl/interface.c", line
281: warning: initializer will be sign-extended: -1
"/usr/local/build/php-5.4.11_SunOS5.10_sparcv9.001/ext/curl/interface.c", line
285: warning: initializer will be sign-extended: -1
"/usr/local/build/php-5.4.11_SunOS5.10_sparcv9.001/ext/curl/interface.c", line
291: warning: initializer will be sign-extended: -1
"/usr/local/build/php-5.4.11_SunOS5.10_sparcv9.001/ext/curl/interface.c", line
296: warning: initializer will be sign-extended: -1
"/usr/local/build/php-5.4.11_SunOS5.10_sparcv9.001/ext/curl/interface.c", line
305: warning: initializer will be sign-extended: -1
"/usr/local/build/php-5.4.11_SunOS5.10_sparcv9.001/ext/curl/interface.c", line
309: warning: initializer will be sign-extended: -1
"/usr/local/build/php-5.4.11_SunOS5.10_sparcv9.001/ext/curl/interface.c", line
313: warning: initializer will be sign-extended: -1
"/usr/local/build/php-5.4.11_SunOS5.10_sparcv9.001/ext/curl/interface.c", line
317: warning: initializer will be sign-extended: -1
"/usr/local/build/php-5.4.11_SunOS5.10_sparcv9.001/ext/curl/interface.c", line
320: warning: initializer will be sign-extended: -1
"/usr/local/build/php-5.4.11_SunOS5.10_sparcv9.001/ext/curl/interface.c", line
325: warning: initializer will be sign-extended: -1
"/usr/local/build/php-5.4.11_SunOS5.10_sparcv9.001/ext/curl/interface.c", line
340: warning: initializer will be sign-extended: -1
"/usr/local/build/php-5.4.11_SunOS5.10_sparcv9.001/ext/curl/interface.c", line
349: warning: initializer will be sign-extended: -1
"/usr/local/build/php-5.4.11_SunOS5.10_sparcv9.001/ext/curl/interface.c", line
2101: warning: enum type mismatch: op "="
"/usr/local/build/php-5.4.11_SunOS5.10_sparcv9.001/ext/curl/interface.c", line
2115: warning: enum type mismatch: op "="
cc: acomp failed for
/usr/local/build/php-5.4.11_SunOS5.10_sparcv9.001/ext/curl/interface.c
gmake: *** [ext/curl/interface.lo] Error 1
I was curious what changes happened between PHP 5.4.10 and 5.4.11 and looked :
node002 $ diff ../php-5.4.10_SunOS5.10_sparcv9.001/ext/curl/interface.c
ext/curl/interface.c
5c5
< | Copyright (c) 1997-2012 The PHP Group |
---
> | Copyright (c) 1997-2013 The PHP Group |
979a980,988
> /* {{{ curl_write_nothing
> * Used as a work around. See _php_curl_close_ex
> */
> static size_t curl_write_nothing(char *data, size_t size, size_t nmemb, void
> *ctx)
> {
> return size * nmemb;
> }
> /* }}} */
>
1688,1689c1697,1704
< if(Z_TYPE_PP(zvalue)==IS_BOOL && Z_BVAL_PP(zvalue)) {
< php_error_docref(NULL TSRMLS_CC, E_NOTICE,
"CURLOPT_SSL_VERIFYHOST set to true which disables common name validation
(setting CURLOPT_SSL_VERIFYHOST to 2 enables common name validation)");
---
> if(Z_BVAL_PP(zvalue) == 1) {
> #if LIBCURL_VERSION_NUM <= 0x071c00 /* 7.28.0 */
> php_error_docref(NULL TSRMLS_CC, E_NOTICE,
> "CURLOPT_SSL_VERIFYHOST with value 1 is deprecated and will be removed as of
> libcurl 7.28.1. It is recommended to use value 2 instead");
> #else
> php_error_docref(NULL TSRMLS_CC, E_NOTICE,
> "CURLOPT_SSL_VERIFYHOST no longer accepts the value 1, value 2 will be used
> instead");
> error = curl_easy_setopt(ch->cp, option, 2);
> break;
> #endif
2118a2134,2136
> if (Z_REFCOUNT_P(ch->clone) <= 1) {
> zend_llist_clean(&ch->to_free->post);
> }
2644a2663,2677
>
> /*
> * Libcurl is doing connection caching. When easy handle is cleaned up,
> * if the handle was previously used by the curl_multi_api, the
> connection
> * remains open un the curl multi handle is cleaned up. Some protocols
> are
> * sending content like the FTP one, and libcurl try to use the
> * WRITEFUNCTION or the HEADERFUNCTION. Since structures used in those
> * callback are freed, we need to use an other callback to which avoid
> * segfaults.
> *
> * Libcurl commit d021f2e8a00 fix this issue and should be part of
> 7.28.2
> */
> curl_easy_setopt(ch->cp, CURLOPT_HEADERFUNCTION, curl_write_nothing);
> curl_easy_setopt(ch->cp, CURLOPT_WRITEFUNCTION, curl_write_nothing);
>
Now then, it looks like some changes occured to embrace Libcurl 7.28.2 and when
I check
my phpinfo() on my current Apache build with mod_php in there I see in the curl
section :
cURL support enabled
cURL Information 7.28.0
Age 3
Features
AsynchDNS No
Debug No
GSS-Negotiate No
IDN No
IPv6 Yes
Largefile Yes
NTLM Yes
SPNEGO No
SSL Yes
SSPI No
krb4 No
libz Yes
CharConv No
Protocols dict, file, ftp, ftps, gopher, http, https, imap, imaps, ldap,
ldaps, pop3, pop3s, rtsp, smtp, smtps, telnet, tftp
Host sparc-sun-solaris2.10
SSL Version OpenSSL/0.9.7d
ZLib Version 1.2.7
So I think that I should be okay. Do I need to upgrade to curl 7.28.2 and then
try building PHP 5.4.11 or am I sort of stuck here at 5.4.9 ?
Dennis
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php