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

Reply via email to