configure in php 5.4.12 seems to have some difficulty with libcurl 7.29.0 :
$ ./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.12_SunOS5.10_sparcv9+GD.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 --enable-posix \
--enable-mbstring --with-mysqli --with-jpeg-dir=/usr/local
--with-png-dir=/usr/local --with-zlib-dir=/usr/local
--with-xpm-dir=/usr/openwin/lib/sparcv9 --with-gd --with-curl
--with-freetype-dir=/usr/local
configure: creating cache ../php-5.4.12_SunOS5.10_sparcv9+GD.001.cache
.
.
.
checking for cURL support... yes
checking if we should use cURL for url streams... no
checking for cURL in default path... found in /usr/local
checking for cURL 7.10.5 or greater... libcurl 7.29.0
checking for SSL support in libcurl... yes
checking how to run the C preprocessor... /opt/solarisstudio12.3/bin/cc -E
checking for openssl support in libcurl... no
checking for gnutls support in libcurl... no
checking for curl_easy_perform in -lcurl... no
configure: error: There is something wrong. Please check config.log for more information.
$
Strange because :
$ curl --version
curl 7.29.0 (sparc-sun-solaris2.10) libcurl/7.29.0 OpenSSL/1.0.1e zlib/1.2.7 libidn/1.26 libssh2/1.4.3
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp scp sftp smtp smtps telnet tftp
Features: IDN IPv6 Largefile NTLM NTLM_WB SSL libz TLS-SRP
Looking into config.log I see :
configure:28199: checking for cURL support
configure:28235: result: yes
configure:28244: checking if we should use cURL for url streams
configure:28259: result: no
configure:28289: checking for cURL 7.10.5 or greater
configure:28303: result: libcurl 7.29.0
configure:28528: checking for SSL support in libcurl
configure:28532: result: yes
looks fine.
However later I see this :
configure:28678: checking for openssl support in libcurl
configure:28705: /opt/solarisstudio12.3/bin/cc -o conftest -I/usr/local/include
-I/usr/local/include -I/usr/local/ssl/include -I/opt/mysql/mysql/include -D_TS_E
RRNO -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE -D_POSIX_PTHREAD_SEMANTICS
-D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT -R/usr/ucblib -L/usr/ucblib -R/usr/loc
al/lib -L/usr/local/lib -R/usr/local/ssl/lib -L/usr/local/ssl/lib conftest.c -lc
url -lbz2 -lz -lrt -lm -lnsl -lsocket -lxml2 -lz -liconv -lm -lsocket -lnsl -ls
sl -lcrypto -lcurl -lidn -lssl -lcrypto -lssl -lcrypto -lldap -lz -lrt -lsocket
-lnsl >&5
"/usr/local/include/curl/curlrules.h", line 143: zero or negative subscript
"/usr/local/include/curl/curlrules.h", line 153: zero or negative subscript
"conftest.c", line 249: warning: implicit function declaration: strncasecmp
cc: acomp failed for conftest.c
configure:28705: $? = 2
configure: program exited with status 2
configure: failed program was:
| /* confdefs.h /
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE_URL ""
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define EXTENSIONS 1
| #define _ALL_SOURCE 1
| #define _GNU_SOURCE 1
| #define _POSIX_PTHREAD_SEMANTICS 1
| #define _TANDEM_SOURCE 1
| #define HAVE_DEV_URANDOM 1
| #define HAVE_SOCKLEN_T 1
| #define USE_LOCKING 1
| #define WORDS_BIGENDIAN //
| #define PHP_WRITE_STDOUT 1
| #define HAVE_SOCKET 1
| #define HAVE_LIBSOCKET 1
| #define HAVE_SOCKETPAIR 1
| #define HAVE_HTONL 1
| #define HAVE_GETHOSTNAME 1
| #define HAVE_GETHOSTBYADDR 1
| #define HAVE_LIBNSL 1
| #define HAVE_YP_GET_DEFAULT_DOMAIN 1
| #define HAVE_DLOPEN 1
| #define HAVE_LIBDL 1
| #define HAVE_LIBM 1
| #define HAVE_INET_ATON 1
| #define STDC_HEADERS 1
| #define HAVE_DIRENT_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_DIRENT_H 1
| #define HAVE_SYS_PARAM_H 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_TIME_H 1
| #define HAVE_NETINET_IN_H 1
| #define HAVE_ALLOCA_H 1
| #define HAVE_ARPA_INET_H 1
| #define HAVE_ARPA_NAMESER_H 1
| #define HAVE_ASSERT_H 1
| #define HAVE_CRYPT_H 1
| #define HAVE_FCNTL_H 1
| #define HAVE_GRP_H 1
| #define HAVE_IEEEFP_H 1
| #define HAVE_LANGINFO_H 1
| #define HAVE_LIMITS_H 1
| #define HAVE_LOCALE_H 1
| #define HAVE_MONETARY_H 1
| #define HAVE_NETDB_H 1
| #define HAVE_PWD_H 1
| #define HAVE_RESOLV_H 1
| #define HAVE_SIGNAL_H 1
| #define HAVE_STDARG_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_SYSLOG_H 1
| #define HAVE_SYSEXITS_H 1
| #define HAVE_SYS_IOCTL_H 1
| #define HAVE_SYS_FILE_H 1
| #define HAVE_SYS_MMAN_H 1
| #define HAVE_SYS_MOUNT_H 1
| #define HAVE_SYS_POLL_H 1
| #define HAVE_SYS_RESOURCE_H 1
| #define HAVE_SYS_SELECT_H 1
| #define HAVE_SYS_SOCKET_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_SYS_STATFS_H 1
| #define HAVE_SYS_STATVFS_H 1
| #define HAVE_SYS_VFS_H 1
| #define HAVE_SYS_VARARGS_H 1
| #define HAVE_SYS_WAIT_H 1
| #define HAVE_SYS_LOADAVG_H 1
| #define HAVE_TERMIOS_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_UTIME_H 1
| #define HAVE_SYS_UTSNAME_H 1
| #define HAVE_SYS_IPC_H 1
| #define HAVE_DLFCN_H 1
| #define HAVE_ASSERT_H 1
| #define HAVE_BROKEN_GETCWD 1
| #define HAVE_BROKEN_GLIBC_FOPEN_APPEND 1
| #define HAVE_DECL_TZNAME 1
| #define HAVE_TZNAME 1
| #define MISSING_FCLOSE_DECL 0
| #define HAVE_STRUCT_FLOCK 1
| #define HAVE_SOCKLEN_T 1
| #define SIZEOF_SIZE_T 8
| #define SIZEOF_LONG_LONG 8
| #define SIZEOF_LONG_LONG_INT 8
| #define SIZEOF_LONG 8
| #define SIZEOF_INT 4
| #define SIZEOF_INTMAX_T 8
| #define HAVE_INTMAX_T 1
| #define SIZEOF_SSIZE_T 8
| #define HAVE_SSIZE_T 1
| #define SIZEOF_PTRDIFF_T 8
| #define HAVE_PTRDIFF_T 1
| #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
| #define HAVE_ST_BLKSIZE 1
| #define HAVE_STRUCT_STAT_ST_BLOCKS 1
| #define HAVE_ST_BLOCKS 1
| #define HAVE_STRUCT_STAT_ST_RDEV 1
| #define HAVE_ST_RDEV 1
| #define HAVE_SOCKADDR_STORAGE 1
| #define HAVE_VPRINTF 1
| #define HAVE_DOPRNT 1
| #define HAVE_ALPHASORT 1
| #define HAVE_ASCTIME_R 1
| #define HAVE_CHROOT 1
| #define HAVE_CTIME_R 1
| #define HAVE_CUSERID 1
| #define HAVE_CRYPT 1
| #define HAVE_FTOK 1
| #define HAVE_GAI_STRERROR 1
| #define HAVE_GCVT 1
| #define HAVE_GETLOADAVG 1
| #define HAVE_GETLOGIN 1
| #define HAVE_GETPROTOBYNAME 1
| #define HAVE_GETPROTOBYNUMBER 1
| #define HAVE_GETSERVBYNAME 1
| #define HAVE_GETSERVBYPORT 1
| #define HAVE_GETHOSTNAME 1
| #define HAVE_GETRUSAGE 1
| #define HAVE_GETTIMEOFDAY 1
| #define HAVE_GMTIME_R 1
| #define HAVE_GETPWNAM_R 1
| #define HAVE_GETGRNAM_R 1
| #define HAVE_GETPWUID_R 1
| #define HAVE_GRANTPT 1
| #define HAVE_INET_NTOA 1
| #define HAVE_INET_NTOP 1
| #define HAVE_INET_PTON 1
| #define HAVE_ISASCII 1
| #define HAVE_LINK 1
| #define HAVE_LOCALTIME_R 1
| #define HAVE_LOCKF 1
| #define HAVE_LCHOWN 1
| #define HAVE_LRAND48 1
| #define HAVE_MEMCPY 1
| #define HAVE_MEMMOVE 1
| #define HAVE_MKSTEMP 1
| #define HAVE_MMAP 1
| #define HAVE_NL_LANGINFO 1
| #define HAVE_PERROR 1
| #define HAVE_POLL 1
| #define HAVE_PTSNAME 1
| #define HAVE_PUTENV 1
| #define HAVE_REALPATH 1
| #define HAVE_RANDOM 1
| #define HAVE_RAND_R 1
| #define HAVE_SCANDIR 1
| #define HAVE_SETITIMER 1
| #define HAVE_SETLOCALE 1
| #define HAVE_LOCALECONV 1
| #define HAVE_SETENV 1
| #define HAVE_SETPGID 1
| #define HAVE_SETSOCKOPT 1
| #define HAVE_SETVBUF 1
| #define HAVE_SHUTDOWN 1
| #define HAVE_SIN 1
| #define HAVE_SNPRINTF 1
| #define HAVE_SRAND48 1
| #define HAVE_SRANDOM 1
| #define HAVE_STATFS 1
| #define HAVE_STATVFS 1
| #define HAVE_STRCASECMP 1
| #define HAVE_STRCOLL 1
| #define HAVE_STRDUP 1
| #define HAVE_STRERROR 1
| #define HAVE_STRFTIME 1
| #define HAVE_STRPTIME 1
| #define HAVE_STRSTR 1
| #define HAVE_STRTOK_R 1
| #define HAVE_SYMLINK 1
| #define HAVE_TEMPNAM 1
| #define HAVE_TZSET 1
| #define HAVE_UNLOCKPT 1
| #define HAVE_UNSETENV 1
| #define HAVE_USLEEP 1
| #define HAVE_UTIME 1
| #define HAVE_VSNPRINTF 1
| #define HAVE_VASPRINTF 1
| #define HAVE_ASPRINTF 1
| #define HAVE_NANOSLEEP 1
| #define HAVE_LIBRT 1
| #define HAVE_GETADDRINFO 1
| #define HAVE_STRLCAT 1
| #define HAVE_STRLCPY 1
| #define HAVE_GETOPT 1
| #define HAVE_UTIME_H 1
| #define HAVE_UTIME_NULL 1
| #define HAVE_ALLOCA_H 1
| #define HAVE_ALLOCA 1
| #define HAVE_DECLARED_TIMEZONE 1
| #define HAVE_POSIX_READDIR_R 1
| #define PHP_SIGCHILD 0
| #define DEFAULT_SHORT_OPEN_TAG "1"
| #define HAVE_IPV6 1
| #define SIZEOF_LONG 8
| #define SIZEOF_INT 4
| #define HAVE_INT32_T 1
| #define HAVE_UINT32_T 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_STRING_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRTOLL 1
| #define HAVE_ATOLL 1
| #define HAVE_STRFTIME 1
| #define HAVE_REGEX_T_RE_MAGIC 1
| #define HSREGEX 1
| #define REGEX 1
| #define HAVE_LIBXML 1
| #define HAVE_LIBXML 1
| #define HAVE_DSA_DEFAULT_METHOD 1
| #define HAVE_OPENSSL_EXT 1
| #define HAVE_BUNDLED_PCRE 1
| #define HAVE_SQLITE3 1
| #define HAVE_ZLIB 1
| #define HAVE_BZ2 1
| #define HAVE_CALENDAR 1
| #define HAVE_CTYPE 1
| #define HAVE_CURL_SSL 1
| / end confdefs.h. */
|
| #include <curl/curl.h>
|
| int main(int argc, char *argv[])
| {
| curl_version_info_data *data = curl_version_info(CURLVERSION_NOW);
|
| if (data && data->ssl_version && *data->ssl_version) {
| const char *ptr = data->ssl_version;
|
| while(*ptr == ' ') ++ptr;
| return strncasecmp(ptr, "OpenSSL", sizeof("OpenSSL")-1);
| }
| return 1;
| }
|
configure:28728: result: no
Well that is just plain wrong ... proof :
$ cat hack.c
#include <curl/curl.h>
int main(int argc, char *argv[])
{
curl_version_info_data *data = curl_version_info(CURLVERSION_NOW);
if (data && data->ssl_version && *data->ssl_version) {
const char *ptr = data->ssl_version;
while(*ptr == ' ') ++ptr;
printf ( "ptr says : %s\n", ptr );
/* return strncasecmp(ptr, "OpenSSL", sizeof("OpenSSL")-1); */
}
return 1;
}
$
$ /opt/solarisstudio12.3/bin/c99 $CFLAGS -I/usr/local/include -c -o hack.o hack.c
$ /opt/solarisstudio12.3/bin/c99 $CFLAGS -R/usr/local/lib -L/usr/local/lib -o hack hack.o -lcurl -lssh2
$ ./hack
ptr says : OpenSSL/1.0.1e
$
so that is a bit of an issue in the configure stage with most recent libcurl and openssl.
Dennis
Hi,
"/usr/local/include/curl/curlrules.h", line 143: zero or negative
subscript
"/usr/local/include/curl/curlrules.h", line 153: zero or negative
subscript
"conftest.c", line 249: warning: implicit function declaration:
strncasecmp
cc: acomp failed for conftest.c
looking at my version of curlrules.h I read
#define CurlchkszEQ(t, s) sizeof(t) == s ? 1 : -1
#define CurlchkszGE(t1, t2) sizeof(t1) >= sizeof(t2) ? 1 : -1
/*
* Verify that the size previously defined and expected for long
* is the same as the one reported by `sizeof()` at compile time.
*/
typedef char
__curl_rule_01__
[CurlchkszEQ(long, CURL_SIZEOF_LONG)]; // <-- Line 143
So this is a fancy check for statically checking that sizeof(long) ==
CURL_SIZEOF_LONG.
So my guess would be that there is some mix between 32 and 64 bit mode,
try compiling with setting CFLAGS="-m64" (or CFLAGS="-m32") for
configure.
johannes
Hi,
"/usr/local/include/curl/curlrules.h", line 143: zero or negative
subscript
"/usr/local/include/curl/curlrules.h", line 153: zero or negative
subscript
"conftest.c", line 249: warning: implicit function declaration:
strncasecmp
cc: acomp failed for conftest.clooking at my version of curlrules.h I read
#define CurlchkszEQ(t, s) sizeof(t) == s ? 1 : -1 #define CurlchkszGE(t1, t2) sizeof(t1) >= sizeof(t2) ? 1 : -1 /* * Verify that the size previously defined and expected for long * is the same as the one reported by `sizeof()` at compile time. */ typedef char __curl_rule_01__ [CurlchkszEQ(long, CURL_SIZEOF_LONG)]; // <-- Line 143
So this is a fancy check for statically checking that sizeof(long) ==
CURL_SIZEOF_LONG.
Yep. I looked at that too. Thought it was obscure but okay, workable I guess.
So my guess would be that there is some mix between 32 and 64 bit mode,
try compiling with setting CFLAGS="-m64" (or CFLAGS="-m32") for
configure.
Everything here is -m64 and -xtarget=ultraT2 so not sure where else to look.
dc
So my guess would be that there is some mix between 32 and 64 bit
mode,
try compiling with setting CFLAGS="-m64" (or CFLAGS="-m32") for
configure.Everything here is -m64 and -xtarget=ultraT2 so not sure where else to
look.
How did you compile curl? - Do you have the following in curlbuild.h or
is that some configure created stuff?
/* ===================================== */
/* Sun Studio Compilers */
/* ===================================== */
#elif defined(__SUNPRO_C) || defined(__SUNPRO_CC)
#include <stdint.h>
#include <sys/types.h>
#include <sys/socket.h>
# define CURL_TYPEOF_CURL_OFF_T off_t
# define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t
# define CURL_SIZEOF_CURL_SOCKLEN_T 4
# if defined(__amd64) || defined(__sparcv9)
# define CURL_SIZEOF_CURL_OFF_T 8
# define CURL_SIZEOF_LONG 8
[...]
# else
# define CURL_SIZEOF_LONG 4
[...]
# endif
Without looking deeper this looks fine ...
johannes
----- Original Message -----
From: Johannes Schlüter johannes@schlueters.de
Date: Monday, February 25, 2013 9:17 am
Subject: Re: [PHP-DEV] PHP 5.4.12 and libcurl 7.29.0 configure problem
To: Dennis Clarke dclarke@blastwave.org
Cc: internals@lists.php.net, christopher.jones@oracle.com
So my guess would be that there is some mix between 32 and 64 bit
mode,
try compiling with setting CFLAGS="-m64" (or CFLAGS="-m32") for
configure.Everything here is -m64 and -xtarget=ultraT2 so not sure where else
to
look.How did you compile curl?
Let's see .. :
$ head curl-7.29.0_SunOS5.10_sparcv9.002/config.log
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by curl configure -, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ ./configure --enable-shared --enable-static --with-libidn=/usr/local --enable-tls-srp --with-ssl
Had no issues with curl. Worked great and :
$ which curl
/usr/local/bin/curl
$ file /usr/local/bin/curl
/usr/local/bin/curl: ELF 64-bit MSB executable SPARCV9 Version 1, UltraSPARC3 Extensions Required, dynamically linked, stripped
$ elfdump -e /usr/local/bin/curl
ELF Header
ei_magic: { 0x7f, E, L, F }
ei_class: ELFCLASS64 ei_data: ELFDATA2MSB
ei_osabi: ELFOSABI_SOLARIS ei_abiversion: EAV_SUNW_CURRENT
e_machine: EM_SPARCV9 e_version: EV_CURRENT
e_type: ET_EXEC
e_flags: [ EF_SPARCV9_TSO EF_SPARC_SUN_US1 EF_SPARC_SUN_US3 ]
e_entry: 0x100003260 e_ehsize: 64 e_shstrndx: 22
e_shoff: 0x29888 e_shentsize: 64 e_shnum: 23
e_phoff: 0x40 e_phentsize: 56 e_phnum: 5
$ curl --version
curl 7.29.0 (sparc-sun-solaris2.10) libcurl/7.29.0 OpenSSL/1.0.1e zlib/1.2.7 libidn/1.26 libssh2/1.4.3
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp scp sftp smtp smtps telnet tftp
Features: IDN IPv6 Largefile NTLM NTLM_WB SSL libz TLS-SRP
$ curl-config --cc
/opt/solarisstudio12.3/bin/cc
$ curl-config --configure
'--enable-shared' '--enable-static' '--with-libidn=/usr/local' '--enable-tls-srp' '--with-ssl' 'CC=/opt/solarisstudio12.3/bin/cc' 'CFLAGS=-errfmt=error -erroff=%none -errshort=full -xstrconst -xildoff -m64 -xmemalign=8s -xnolibmil -Xa -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' 'CPPFLAGS=-I/usr/local/include -I/usr/local/ssl/include -I/opt/mysql/mysql/include -D_TS_ERRNO -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE'
$ elfdump -dev /usr/local/bin/curl | grep NEEDED
[0] NEEDED 0x946 libcurl.so.4
[1] NEEDED 0x953 libidn.so.11
[2] NEEDED 0x960 libintl.so.8
[3] NEEDED 0x928 libc.so.1
[4] NEEDED 0x96d libiconv.so.2
[5] NEEDED 0x97b libssh2.so.1
[6] NEEDED 0x988 libssl.so.1.0.0
[7] NEEDED 0x998 libcrypto.so.1.0.0
[8] NEEDED 0x9ab libldap.so.5
[9] NEEDED 0x9b8 libz.so.1
[10] NEEDED 0x93b librt.so.1
[11] NEEDED 0x9c2 libsocket.so.1
[12] NEEDED 0x9d1 libnsl.so.1
No issues there.
Also :
$ cat hack.c
/*********************************************************************
- The Open Group Base Specifications Issue 6
- IEEE Std 1003.1, 2004 Edition
- An XSI-conforming application should ensure that the feature
- test macro _XOPEN_SOURCE is defined with the value 600 before
- inclusion of any header. This is needed to enable the
- functionality described in The _POSIX_C_SOURCE Feature Test
- Macro and in addition to enable the XSI extension.
*********************************************************************/
#define _XOPEN_SOURCE 600
#include <stdio.h>
#include <stdlib.h>
#include <curl/curl.h>
int main(int argc, char *argv[]) {
curl_version_info_data *data = curl_version_info(CURLVERSION_NOW);
if (data && data->ssl_version && *data->ssl_version) {
const char *ptr = data->ssl_version;
while(*ptr == ' ') ++ptr;
printf ( "ptr says : %s\n", ptr );
/* return strncasecmp(ptr, "OpenSSL", sizeof("OpenSSL")-1); */
} else {
printf ( "error with *data\n" );
exit ( EXIT_FAILURE );
}
exit ( EXIT_SUCCESS );
}
$ ldd hack
libcurl.so.4 => /usr/local/lib/libcurl.so.4
libssh2.so.1 => /usr/local/lib/libssh2.so.1
libc.so.1 => /lib/64/libc.so.1
libidn.so.11 => /usr/local/lib/libidn.so.11
libssl.so.1.0.0 => /usr/local/ssl/lib/libssl.so.1.0.0
libcrypto.so.1.0.0 => /usr/local/ssl/lib/libcrypto.so.1.0.0
libldap.so.5 => /usr/lib/64/libldap.so.5
libz.so.1 => /usr/local/lib/libz.so.1
librt.so.1 => /lib/64/librt.so.1
libsocket.so.1 => /lib/64/libsocket.so.1
libnsl.so.1 => /lib/64/libnsl.so.1
libintl.so.8 => /usr/local/lib/libintl.so.8
libiconv.so.2 => /usr/local/lib/libiconv.so.2
libdl.so.1 => /lib/64/libdl.so.1
libsasl.so.1 => /usr/lib/64/libsasl.so.1
libmd.so.1 => /lib/64/libmd.so.1
libnspr4.so => /usr/lib/mps/64/libnspr4.so
libplc4.so => /usr/lib/mps/64/libplc4.so
libnss3.so => /usr/lib/mps/64/libnss3.so
libssl3.so => /usr/lib/mps/64/libssl3.so
libaio.so.1 => /lib/64/libaio.so.1
libmp.so.2 => /lib/64/libmp.so.2
libscf.so.1 => /lib/64/libscf.so.1
libpthread.so.1 => /lib/64/libpthread.so.1
libnssutil3.so => /usr/lib/mps/sparcv9/libnssutil3.so
libplds4.so => /usr/lib/mps/sparcv9/libplds4.so
libthread.so.1 => /lib/64/libthread.so.1
libdoor.so.1 => /lib/64/libdoor.so.1
libuutil.so.1 => /lib/64/libuutil.so.1
libgen.so.1 => /lib/64/libgen.so.1
libm.so.2 => /lib/64/libm.so.2
/platform/SUNW,T5240/lib/sparcv9/libc_psr.so.1
/platform/SUNW,T5240/lib/sparcv9/libmd_psr.so.1
$ ./hack
ptr says : OpenSSL/1.0.1e
looks like a good curl to me
- Do you have the following in curlbuild.h or
is that some configure created stuff?
/* =================3D==================== */ /* Sun Studio Compilers */ /* ===================================== */ #elif defined(__SUNPRO_C) || defined(__SUNPRO_CC) #include <stdint.h> #include <sys/types.h> #include <sys/socket.h> # define CURL_TYPEOF_CURL_OFF_T off_t # define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t # define CURL_SIZEOF_CURL_SOCKLEN_T 4 # if defined(__amd64) || defined(__sparcv9) # define CURL_SIZEOF_CURL_OFF_T 8 # define CURL_SIZEOF_LONG 8 [...] # else # define CURL_SIZEOF_LONG 4 [...] # endif
Without looking deeper this looks fine ...
Nope .. I don't have that!
This is what I see :
$ cat ./include/curl/curlbuild.h
/* include/curl/curlbuild.h. Generated from curlbuild.h.in by configure. /
#ifndef __CURL_CURLBUILD_H
#define __CURL_CURLBUILD_H
/**************************************************************************
-
_ _ ____ _
- Project ___| | | | _ | |
-
/ __| | | | |_) | |
-
| (__| |_| | _ <| |___
-
\___|\___/|_| \_\_____|
- Copyright (C) 1998 - 2012, Daniel Stenberg, daniel@haxx.se, et al.
- This software is licensed as described in the file COPYING, which
- you should have received as part of this distribution. The terms
- are also available at http://curl.haxx.se/docs/copyright.html.
- You may opt to use, copy, modify, merge, publish, distribute and/or sell
- copies of the Software, and permit persons to whom the Software is
- furnished to do so, under the terms of the COPYING file.
- This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
- KIND, either express or implied.
***************************************************************************/
/* ================================================================ /
/ NOTES FOR CONFIGURE CAPABLE SYSTEMS /
/ ================================================================ */
/*
-
NOTE 1:
-
-
Nothing in this file is intended to be modified or adjusted by the
-
curl library user nor by the curl library builder.
-
If you think that something actually needs to be changed, adjusted
-
or fixed in this file, then, report it on the libcurl development
-
mailing list: http://cool.haxx.se/mailman/listinfo/curl-library/
-
This header file shall only export symbols which are 'curl' or 'CURL'
-
prefixed, otherwise public name space would be polluted.
-
NOTE 2:
-
-
Right now you might be staring at file include/curl/curlbuild.h.in or
-
at file include/curl/curlbuild.h, this is due to the following reason:
-
On systems capable of running the configure script, the configure process
-
will overwrite the distributed include/curl/curlbuild.h file with one that
-
is suitable and specific to the library being configured and built, which
-
is generated from the include/curl/curlbuild.h.in template file.
*/
/* ================================================================ /
/ DEFINITION OF THESE SYMBOLS SHALL NOT TAKE PLACE ANYWHERE ELSE /
/ ================================================================ */
#ifdef CURL_SIZEOF_LONG
#error "CURL_SIZEOF_LONG shall not be defined except in curlbuild.h"
Error Compilation_aborted_CURL_SIZEOF_LONG_already_defined
#endif
#ifdef CURL_TYPEOF_CURL_SOCKLEN_T
#error "CURL_TYPEOF_CURL_SOCKLEN_T shall not be defined except in curlbuild.h"
Error Compilation_aborted_CURL_TYPEOF_CURL_SOCKLEN_T_already_defined
#endif
#ifdef CURL_SIZEOF_CURL_SOCKLEN_T
#error "CURL_SIZEOF_CURL_SOCKLEN_T shall not be defined except in curlbuild.h"
Error Compilation_aborted_CURL_SIZEOF_CURL_SOCKLEN_T_already_defined
#endif
#ifdef CURL_TYPEOF_CURL_OFF_T
#error "CURL_TYPEOF_CURL_OFF_T shall not be defined except in curlbuild.h"
Error Compilation_aborted_CURL_TYPEOF_CURL_OFF_T_already_defined
#endif
#ifdef CURL_FORMAT_CURL_OFF_T
#error "CURL_FORMAT_CURL_OFF_T shall not be defined except in curlbuild.h"
Error Compilation_aborted_CURL_FORMAT_CURL_OFF_T_already_defined
#endif
#ifdef CURL_FORMAT_CURL_OFF_TU
#error "CURL_FORMAT_CURL_OFF_TU shall not be defined except in curlbuild.h"
Error Compilation_aborted_CURL_FORMAT_CURL_OFF_TU_already_defined
#endif
#ifdef CURL_FORMAT_OFF_T
#error "CURL_FORMAT_OFF_T shall not be defined except in curlbuild.h"
Error Compilation_aborted_CURL_FORMAT_OFF_T_already_defined
#endif
#ifdef CURL_SIZEOF_CURL_OFF_T
#error "CURL_SIZEOF_CURL_OFF_T shall not be defined except in curlbuild.h"
Error Compilation_aborted_CURL_SIZEOF_CURL_OFF_T_already_defined
#endif
#ifdef CURL_SUFFIX_CURL_OFF_T
#error "CURL_SUFFIX_CURL_OFF_T shall not be defined except in curlbuild.h"
Error Compilation_aborted_CURL_SUFFIX_CURL_OFF_T_already_defined
#endif
#ifdef CURL_SUFFIX_CURL_OFF_TU
#error "CURL_SUFFIX_CURL_OFF_TU shall not be defined except in curlbuild.h"
Error Compilation_aborted_CURL_SUFFIX_CURL_OFF_TU_already_defined
#endif
/* ================================================================ /
/ EXTERNAL INTERFACE SETTINGS FOR CONFIGURE CAPABLE SYSTEMS ONLY /
/ ================================================================ */
/* Configure process defines this to 1 when it finds out that system /
/ header file ws2tcpip.h must be included by the external interface. /
/ #undef CURL_PULL_WS2TCPIP_H */
#ifdef CURL_PULL_WS2TCPIP_H
ifndef WIN32_LEAN_AND_MEAN
define WIN32_LEAN_AND_MEAN
endif
include <windows.h>
include <winsock2.h>
include <ws2tcpip.h>
#endif
/* Configure process defines this to 1 when it finds out that system /
/ header file sys/types.h must be included by the external interface. */
#define CURL_PULL_SYS_TYPES_H 1
#ifdef CURL_PULL_SYS_TYPES_H
include <sys/types.h>
#endif
/* Configure process defines this to 1 when it finds out that system /
/ header file stdint.h must be included by the external interface. /
/ #undef CURL_PULL_STDINT_H */
#ifdef CURL_PULL_STDINT_H
include <stdint.h>
#endif
/* Configure process defines this to 1 when it finds out that system /
/ header file inttypes.h must be included by the external interface. /
/ #undef CURL_PULL_INTTYPES_H */
#ifdef CURL_PULL_INTTYPES_H
include <inttypes.h>
#endif
/* Configure process defines this to 1 when it finds out that system /
/ header file sys/socket.h must be included by the external interface. */
#define CURL_PULL_SYS_SOCKET_H 1
#ifdef CURL_PULL_SYS_SOCKET_H
include <sys/socket.h>
#endif
/* Configure process defines this to 1 when it finds out that system /
/ header file sys/poll.h must be included by the external interface. /
/ #undef CURL_PULL_SYS_POLL_H */
#ifdef CURL_PULL_SYS_POLL_H
include <sys/poll.h>
#endif
/* The size of `long', as computed by sizeof. */
#define CURL_SIZEOF_LONG 8
/* Integral data type used for curl_socklen_t. */
#define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t
/* The size of `curl_socklen_t', as computed by sizeof. */
#define CURL_SIZEOF_CURL_SOCKLEN_T 4
/* Data type definition of curl_socklen_t. */
typedef CURL_TYPEOF_CURL_SOCKLEN_T curl_socklen_t;
/* Signed integral data type used for curl_off_t. */
#define CURL_TYPEOF_CURL_OFF_T long
/* Data type definition of curl_off_t. */
typedef CURL_TYPEOF_CURL_OFF_T curl_off_t;
/* curl_off_t formatting string directive without "%" conversion specifier. */
#define CURL_FORMAT_CURL_OFF_T "ld"
/* unsigned curl_off_t formatting string without "%" conversion specifier. */
#define CURL_FORMAT_CURL_OFF_TU "lu"
/* curl_off_t formatting string directive with "%" conversion specifier. */
#define CURL_FORMAT_OFF_T "%ld"
/* The size of `curl_off_t', as computed by sizeof. */
#define CURL_SIZEOF_CURL_OFF_T 8
/* curl_off_t constant suffix. */
#define CURL_SUFFIX_CURL_OFF_T L
/* unsigned curl_off_t constant suffix. */
#define CURL_SUFFIX_CURL_OFF_TU UL
#endif /* __CURL_CURLBUILD_H */
So that is not the same .. however, again, I don't see a problem with curl/libcurl here.
Also, I am using the Oracle Studio 12.3 compilers which are pretty much the very
latest from the guys like daryl Gove and team at Oracle. Works very well with
just about everything I build, other than gmp of course. That was always a special
case and the gmp team are digging into that all last week.
I will go and have another look at my php configure but I have not changed that
since 5.4.11 which is running well.
Dennis
/* The size of `long', as computed by sizeof. */
#define CURL_SIZEOF_LONG 8
This is correct with -m64. Now in your config log there is this compiler
call (quoting your first mail from this thread)
| configure:28678: checking for openssl support in libcurl
| configure:28705: /opt/solarisstudio12.3/bin/cc -o conftest -I/usr/local/include
| -I/usr/local/include -I/usr/local/ssl/include -I/opt/mysql/mysql/include -D_TS_E
| RRNO -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE -D_POSIX_PTHREAD_SEMANTICS
| -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT -R/usr/ucblib -L/usr/ucblib -R/usr/loc
| al/lib -L/usr/local/lib -R/usr/local/ssl/lib -L/usr/local/ssl/lib conftest.c -lc
| url -lbz2 -lz -lrt -lm -lnsl -lsocket -lxml2 -lz -liconv -lm -lsocket -lnsl -ls
| sl -lcrypto -lcurl -lidn -lssl -lcrypto -lssl -lcrypto -lldap -lz -lrt -lsocket
| -lnsl >&5
So the -m64 is lost. Looking at extg/curl/config.m4, again I see
save_CFLAGS="$CFLAGS"
CFLAGS="`$CURL_CONFIG --cflags`"
So running curl-config --cflags
apparently doesn't contain the -m64
flag on your setup. In my opinion curl-config should return this, so
there is a curl issue. I don't know whether there is a good work-around
from PHP-side.
johannes
So the -m64 is lost. Looking at extg/curl/config.m4, again I see
save_CFLAGS="$CFLAGS" CFLAGS="`$CURL_CONFIG --cflags`"
So running
curl-config --cflags
apparently doesn't contain the -m64
flag on your setup. In my opinion curl-config should return this, so
there is a curl issue. I don't know whether there is a good work-around
from PHP-side.
good catch !
Let me test that here :
$ which curl-config
/usr/local/bin/curl-config
$ curl-config --cflags
-I/usr/local/include
Well that is broken beyond belief.
yet this looks fine :
$ curl-config --configure
'--enable-shared' '--enable-static' '--with-libidn=/usr/local' '--enable-tls-srp' '--with-ssl' 'CC=/opt/solarisstudio12.3/bin/cc' 'CFLAGS=-errfmt=error -erroff=%none -errshort=full -xstrconst -xildoff -m64 -xmemalign=8s -xnolibmil -Xa -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' 'CPPFLAGS=-I/usr/local/include -I/usr/local/ssl/include -I/opt/mysql/mysql/include -D_TS_ERRNO -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE'
odd ... I must go take this up with the curl folks.
I'll keep you posted if I see a good result.
Thank you for the awesome catch there.
Dennis
/* The size of `long', as computed by sizeof. */
#define CURL_SIZEOF_LONG 8This is correct with -m64. Now in your config log there is this compiler
call (quoting your first mail from this thread)| configure:28678: checking for openssl support in libcurl
| configure:28705: /opt/solarisstudio12.3/bin/cc -o conftest -I/usr/local/include
| -I/usr/local/include -I/usr/local/ssl/include
-I/opt/mysql/mysql/include -D_TS_E
| RRNO -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE -D_POSIX_PTHREAD_SEMANTICS
| -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT -R/usr/ucblib
-L/usr/ucblib -R/usr/loc
| al/lib -L/usr/local/lib -R/usr/local/ssl/lib -L/usr/local/ssl/lib
conftest.c -lc
| url -lbz2 -lz -lrt -lm -lnsl -lsocket -lxml2 -lz -liconv -lm
-lsocket -lnsl -ls
| sl -lcrypto -lcurl -lidn -lssl -lcrypto -lssl -lcrypto -lldap -lz
-lrt -lsocket
| -lnsl >&5So the -m64 is lost. Looking at extg/curl/config.m4, again I see
save_CFLAGS="$CFLAGS" CFLAGS="`$CURL_CONFIG --cflags`"
So running
curl-config --cflags
apparently doesn't contain the -m64
flag on your setup. In my opinion curl-config should return this, so
there is a curl issue. I don't know whether there is a good work-around
from PHP-side.
OKay, due to your keen eye I simply edited the curl-config script to do what it should :
$ diff /usr/local/bin/curl-config.backup /usr/local/bin/curl-config
140c140
< echo "${CPPFLAG_CURL_STATICLIB}-I${prefix}/include"
echo "${CPPFLAG_CURL_STATICLIB}-I${prefix}/include -errfmt=error -erroff=%none -errshort=full -xstrconst -xildoff -m64 -xmemalign=8s -xnolibmil -Xa -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"
$
$ curl-config --cflags
-I/usr/local/include -errfmt=error -erroff=%none -errshort=full -xstrconst -xildoff -m64 -xmemalign=8s -xnolibmil -Xa -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
$
Then went back to php 5.4.12 and now configure runs fine :
[ a few CR+LF's inserted by me for clarity on the affected extensions ]
$ rm ../php-5.4.12_SunOS5.10_sparcv9+GD.001.cache
$ ./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.12_SunOS5.10_sparcv9+GD.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
--enable-posix --enable-mbstring --with-mysqli --with-jpeg-dir=/usr/local
--with-png-dir=/usr/local --with-zlib-dir=/usr/local
--with-xpm-dir=/usr/openwin/lib/sparcv9 --with-gd --with-curl
--with-freetype-dir=/usr/local
configure: creating cache ../php-5.4.12_SunOS5.10_sparcv9+GD.001.cache
checking for grep that handles long lines and -e... /usr/xpg4/bin/grep
checking for egrep... /usr/xpg4/bin/grep -E
checking for a sed that does not truncate output... /usr/local/bin/sed
checking build system type... sparc-sun-solaris2.10
checking host system type... sparc-sun-solaris2.10
checking target system type... sparc-sun-solaris2.10
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... no
checking whether /opt/solarisstudio12.3/bin/cc accepts -g... yes
checking for /opt/solarisstudio12.3/bin/cc option to accept ISO C89... none needed
checking how to run the C preprocessor... /opt/solarisstudio12.3/bin/cc -E
checking for icc... no
checking for suncc... yes
checking whether /opt/solarisstudio12.3/bin/cc and cc understand -c and -o together... yes
checking how to run the C preprocessor... /opt/solarisstudio12.3/bin/cc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether it is safe to define EXTENSIONS... yes
checking whether ln -s works... yes
checking for system library directory... lib
checking whether to enable runpaths... yes
checking if compiler supports -R... yes
checking for gawk... gawk
checking for bison... bison -y
checking for bison version... invalid
configure: WARNING: bison versions supported for regeneration of the Zend/PHP parsers: 1.28 1.35 1.75 1.875 2.0 2.1 2.2 2.3 2.4 2.4.1 2.4.2 2.4.3 2.5 2.5.1 2.6 2.6.1 2.6.2 (found: 2.6.5).
checking for re2c... re2c
checking for re2c version... 0.13.5 (ok)
checking whether to enable computed goto gcc extension with re2c... no
checking whether to force non-PIC code in shared modules... no
checking whether /dev/urandom exists... yes
checking for pthreads_cflags...
checking for pthreads_lib...
Configuring SAPI modules
checking for AOLserver support... no
checking for Apache 1.x module support via DSO through APXS... no
checking for Apache 1.x module support... no
checking whether to enable Apache charset compatibility option... no
checking for Apache 2.0 filter-module support via DSO through APXS... no
checking for Apache 2.0 handler-module support via DSO through APXS... yes
checking for Apache 1.x (hooks) module support via DSO through APXS... no
checking for Apache 1.x (hooks) module support... no
checking whether to enable Apache charset compatibility option... no
checking for Caudium support... no
checking for CLI build... yes
checking for Continuity support... no
checking for embedded SAPI library support... no
checking for FPM build... no
checking for Zeus ISAPI support... no
checking for LiteSpeed support... no
checking for Milter support... no
checking for NSAPI support... no
checking for PHTTPD support... no
checking for Pi3Web support... no
checking whether Roxen module is build using ZTS... no
checking for Roxen/Pike support...
checking for thttpd... no
checking for TUX... no
checking for webjames... no
checking for CGI build... yes
checking for socklen_t in sys/socket.h... yes
checking for sun_len in sys/un.h... no
checking whether cross-process locking is required by accept()... yes
checking for chosen SAPI module... apache2handler
checking for executable SAPI binaries... cli cgi
Running system checks
checking for sendmail... /usr/sbin/sendmail
checking whether system uses EBCDIC... no
checking whether byte ordering is bigendian... yes
checking whether writing to stdout works... This is the test message -- yes
checking for socket... no
checking for __socket... no
checking for socket in -lsocket... yes
checking for socketpair... yes
checking for htonl... yes
checking for gethostname... yes
checking for gethostbyaddr... no
checking for __gethostbyaddr... no
checking for gethostbyaddr in -lnsl... yes
checking for yp_get_default_domain... yes
checking for dlopen... yes
checking for sin in -lm... yes
checking for inet_aton... yes
checking for ANSI C header files... (cached) yes
checking for dirent.h that defines DIR... yes
checking for library containing opendir... none required
checking for inttypes.h... (cached) yes
checking for stdint.h... (cached) yes
checking for dirent.h... yes
checking for ApplicationServices/ApplicationServices.h... no
checking for sys/param.h... yes
checking for sys/types.h... (cached) yes
checking for sys/time.h... yes
checking for netinet/in.h... yes
checking for alloca.h... yes
checking for arpa/inet.h... yes
checking for arpa/nameser.h... yes
checking for assert.h... yes
checking for crypt.h... yes
checking for dns.h... no
checking for fcntl.h... yes
checking for grp.h... yes
checking for ieeefp.h... yes
checking for langinfo.h... yes
checking for limits.h... yes
checking for locale.h... yes
checking for monetary.h... yes
checking for netdb.h... yes
checking for pwd.h... yes
checking for resolv.h... yes
checking for signal.h... yes
checking for stdarg.h... yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking for syslog.h... yes
checking for sysexits.h... yes
checking for sys/ioctl.h... yes
checking for sys/file.h... yes
checking for sys/mman.h... yes
checking for sys/mount.h... yes
checking for sys/poll.h... yes
checking for sys/resource.h... yes
checking for sys/select.h... yes
checking for sys/socket.h... yes
checking for sys/stat.h... (cached) yes
checking for sys/statfs.h... yes
checking for sys/statvfs.h... yes
checking for sys/vfs.h... yes
checking for sys/sysexits.h... no
checking for sys/varargs.h... yes
checking for sys/wait.h... yes
checking for sys/loadavg.h... yes
checking for termios.h... yes
checking for unistd.h... (cached) yes
checking for unix.h... no
checking for utime.h... yes
checking for sys/utsname.h... yes
checking for sys/ipc.h... yes
checking for dlfcn.h... yes
checking for assert.h... (cached) yes
checking for fopencookie... no
checking for broken getcwd... yes
checking for broken libc stdio... yes
checking whether struct tm is in sys/time.h or time.h... time.h
checking for struct tm.tm_zone... no
checking whether tzname is declared... yes
checking for tzname... yes
checking for missing declarations of reentrant functions... done
checking for fclose declaration... ok
checking for tm_gmtoff in struct tm... no
checking for struct flock... yes
checking for socklen_t... yes
checking size of size_t... 8
checking size of long long... 8
checking size of long long int... 8
checking size of long... 8
checking size of int... 4
checking size of intmax_t... 8
checking size of ssize_t... 8
checking size of ptrdiff_t... 8
checking for struct stat.st_blksize... yes
checking for struct stat.st_blocks... yes
checking for struct stat.st_rdev... yes
checking for size_t... yes
checking for uid_t in sys/types.h... yes
checking for struct sockaddr_storage... yes
checking for field sa_len in struct sockaddr... no
checking for IPv6 support... yes
checking for vprintf... yes
checking for _doprnt... yes
checking for alphasort... yes
checking for asctime_r... yes
checking for chroot... yes
checking for ctime_r... yes
checking for cuserid... yes
checking for crypt... yes
checking for flock... no
checking for ftok... yes
checking for funopen... no
checking for gai_strerror... yes
checking for gcvt... yes
checking for getloadavg... yes
checking for getlogin... yes
checking for getprotobyname... yes
checking for getprotobynumber... yes
checking for getservbyname... yes
checking for getservbyport... yes
checking for gethostname... (cached) yes
checking for getrusage... yes
checking for gettimeofday... yes
checking for gmtime_r... yes
checking for getpwnam_r... yes
checking for getgrnam_r... yes
checking for getpwuid_r... yes
checking for grantpt... yes
checking for inet_ntoa... yes
checking for inet_ntop... yes
checking for inet_pton... yes
checking for isascii... yes
checking for link... yes
checking for localtime_r... yes
checking for lockf... yes
checking for lchown... yes
checking for lrand48... yes
checking for memcpy... yes
checking for memmove... yes
checking for mkstemp... yes
checking for mmap... yes
checking for nl_langinfo... yes
checking for perror... yes
checking for poll... yes
checking for ptsname... yes
checking for putenv... yes
checking for realpath... yes
checking for random... yes
checking for rand_r... yes
checking for scandir... yes
checking for setitimer... yes
checking for setlocale... yes
checking for localeconv... yes
checking for setenv... yes
checking for setpgid... yes
checking for setsockopt... yes
checking for setvbuf... yes
checking for shutdown... yes
checking for sin... yes
checking for snprintf... yes
checking for srand48... yes
checking for srandom... yes
checking for statfs... yes
checking for statvfs... yes
checking for std_syslog... no
checking for strcasecmp... yes
checking for strcoll... yes
checking for strdup... yes
checking for strerror... yes
checking for strftime... yes
checking for strnlen... no
checking for strptime... yes
checking for strstr... yes
checking for strtok_r... yes
checking for symlink... yes
checking for tempnam... yes
checking for tzset... yes
checking for unlockpt... yes
checking for unsetenv... yes
checking for usleep... yes
checking for utime... yes
checking for vsnprintf... yes
checking for vasprintf... yes
checking for asprintf... yes
checking for nanosleep... no
checking for nanosleep in -lrt... yes
checking for getaddrinfo... yes
checking for __sync_fetch_and_add... no
checking for strlcat... yes
checking for strlcpy... yes
checking for getopt... yes
checking for utime.h... (cached) yes
checking whether utime accepts a null argument... yes
checking for working alloca.h... yes
checking for alloca... yes
checking for declared timezone... yes
checking for type of reentrant time-related functions... POSIX
checking for readdir_r... yes
checking for type of readdir_r... POSIX
checking for in_addr_t... yes
checking for crypt_r... no
General settings
checking whether to include gcov symbols... no
checking whether to include debugging symbols... no
checking layout of installed files... PHP
checking path to configuration file... DEFAULT
checking where to scan for configuration files...
checking whether to enable PHP's own SIGCHLD
handler... no
checking whether to explicitly link against libgcc... no
checking whether to enable short tags by default... yes
checking whether to enable dmalloc... no
checking whether to enable IPv6 support... yes
checking whether to enable DTrace support... no
checking how big to make fd sets... using system default
Configuring extensions
checking size of long... (cached) 8
checking size of int... (cached) 4
checking for int32_t... yes
checking for uint32_t... yes
checking for sys/types.h... (cached) yes
checking for inttypes.h... (cached) yes
checking for stdint.h... (cached) yes
checking for string.h... (cached) yes
checking for stdlib.h... (cached) yes
checking for strtoll... yes
checking for atoll... yes
checking for strftime... (cached) yes
checking which regex library to use... php
checking whether to enable LIBXML support... yes
checking libxml2 install dir... /usr/local
checking for xml2-config path... /usr/local/bin/xml2-config
checking whether libxml build works... yes
checking for OpenSSL support... yes
checking for Kerberos support... no
checking for DSA_get_default_method in -lssl... no
checking for X509_free in -lcrypto... yes
checking for pkg-config... /usr/bin/pkg-config
checking for PCRE library to use... bundled
checking whether to enable the SQLite3 extension... yes
checking bundled sqlite3 library... yes
checking for ZLIB support... yes
checking if the location of ZLIB install directory is defined... /usr/local
checking for zlib version >= 1.2.0.4... 1.2.7
checking for gzgets in -lz... yes
checking whether to enable bc style precision math functions... no
checking for BZip2 support... yes
checking for BZip2 in default path... found in /usr/local
checking for BZ2_bzerror in -lbz2... yes
checking whether to enable calendar conversion support... yes
checking whether to enable ctype functions... yes
checking for cURL support... yes
checking if we should use cURL for url streams... no
checking for cURL in default path... found in /usr/local
checking for cURL 7.10.5 or greater... libcurl 7.29.0
checking for SSL support in libcurl... yes
checking how to run the C preprocessor... /opt/solarisstudio12.3/bin/cc -E
checking for openssl support in libcurl... yes
checking openssl/crypto.h usability... yes
checking openssl/crypto.h presence... yes
checking for openssl/crypto.h... yes
checking for gnutls support in libcurl... no
checking for curl_easy_perform in -lcurl... yes
checking for curl_version_info in -lcurl... yes
checking for curl_easy_strerror in -lcurl... yes
checking for curl_multi_strerror in -lcurl... yes
checking for QDBM support... no
checking for GDBM support... no
checking for NDBM support... no
checking for TCADB support... no
checking for Berkeley DB4 support... no
checking for Berkeley DB3 support... no
checking for Berkeley DB2 support... no
checking for DB1 support... no
checking for DBM support... no
checking for CDB support... no
checking for INI File support... no
checking for FlatFile support... no
checking whether to enable DBA interface... no
checking whether to enable DOM support... yes
checking for xml2-config path... (cached) /usr/local/bin/xml2-config
checking whether libxml build works... (cached) yes
checking for ENCHANT support... no
checking whether to enable EXIF (metadata from images) support... no
checking for fileinfo support... yes
checking for utimes... yes
checking for strndup... no
checking whether to enable input filter support... yes
checking pcre install prefix... no
checking whether to enable FTP support... yes
checking OpenSSL dir for FTP... no
checking for GD support... yes
checking for the location of libvpx... no
checking for the location of libjpeg... /usr/local
checking for the location of libpng... /usr/local
checking for the location of libXpm... /usr/openwin/lib/sparcv9
checking for FreeType 2... /usr/local
checking for T1lib support... no
checking whether to enable truetype string function in GD... no
checking whether to enable JIS-mapped Japanese font support in GD... no
checking for fabsf... yes
checking for floorf... yes
checking for jpeg_read_header in -ljpeg... yes
If configure fails try --with-vpx-dir=<DIR>
checking for png_write_image in -lpng... yes
checking for XpmFreeXpmImage in -lXpm... yes
checking for FT_New_Face in -lfreetype... yes
checking for GNU gettext support... yes
checking for bindtextdomain in -lintl... yes
checking for ngettext in -lintl... yes
checking for dngettext in -lintl... yes
checking for dcngettext in -lintl... yes
checking for bind_textdomain_codeset in -lintl... yes
checking for GNU MP support... yes
checking for __gmp_randinit_lc_2exp_size in -lgmp... yes
checking for mhash support... no
checking whether to enable hash support... yes
checking whether byte ordering is bigendian... (cached) yes
checking size of short... 2
checking size of int... (cached) 4
checking size of long... (cached) 8
checking size of long long... (cached) 8
checking for iconv support... yes
checking for iconv... yes
checking if iconv is glibc's... no
checking if using GNU libiconv... 270yes
checking if iconv supports errno... yes
checking if your cpp allows macro usage in include lines... yes
checking for IMAP support... no
checking for IMAP Kerberos support... no
checking for IMAP SSL support... no
checking for InterBase support... no
checking whether to enable internationalization support... no
checking whether to enable JavaScript Object Serialization support... no
checking for LDAP support... no
checking for LDAP Cyrus SASL support... no
checking whether to enable multibyte string support... yes
checking whether to enable multibyte regex support... yes
checking whether to check multibyte regex backtrack... yes
checking for external libmbfl... no
checking for external oniguruma... no
checking for variable length prototypes and stdarg.h... yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking for strings.h... (cached) yes
checking for unistd.h... (cached) yes
checking for sys/time.h... (cached) yes
checking sys/times.h usability... yes
checking sys/times.h presence... yes
checking for sys/times.h... yes
checking for stdarg.h... (cached) yes
checking size of int... (cached) 4
checking size of short... (cached) 2
checking size of long... (cached) 8
checking for an ANSI C-conforming const... yes
checking whether time.h and sys/time.h may both be included... yes
checking for working alloca.h... (cached) yes
checking for alloca... (cached) yes
checking for working memcmp... yes
checking for stdarg.h... (cached) yes
checking for mcrypt support... no
checking for MSSQL support via FreeTDS... no
checking for MySQL support... yes
checking for specified location of the MySQL UNIX socket... no
checking for mysql_close in -lmysqlclient_r... yes
checking for MySQL UNIX socket location... no
checking for MySQLi support... yes
checking whether to enable embedded MySQLi support... no
checking for Oracle Database OCI8 support... no
checking whether to enable pcntl support... no
checking whether to enable PDO support... yes
checking for PDO_DBLIB support via FreeTDS... no
checking for Firebird support for PDO... no
checking for MySQL support for PDO... no
checking Oracle OCI support for PDO... no
checking for ODBC v3 support for PDO... no
checking for PostgreSQL support for PDO... no
checking for sqlite 3 support for PDO... yes
checking for PDO includes... checking for PDO includes... /usr/local/build/php-5.4.12_SunOS5.10_sparcv9+GD.001/ext
checking for usleep... (cached) yes
checking for nanosleep... (cached) yes
checking time.h usability... yes
checking time.h presence... yes
checking for time.h... yes
checking for fdatasync in -lrt... yes
checking for PostgreSQL support... no
checking for phar archive support... yes
checking for phar openssl support... yes
checking whether to enable POSIX-like functions... yes
checking sys/mkdev.h usability... yes
checking sys/mkdev.h presence... yes
checking for sys/mkdev.h... yes
checking for seteuid... yes
checking for setegid... yes
checking for setsid... yes
checking for getsid... yes
checking for setpgid... (cached) yes
checking for getpgid... yes
checking for ctermid... yes
checking for mkfifo... yes
checking for mknod... yes
checking for getrlimit... yes
checking for getlogin... (cached) yes
checking for getgroups... yes
checking for makedev... no
checking for initgroups... yes
checking for getpwuid_r... (cached) yes
checking for getgrgid_r... yes
checking for working ttyname_r() implementation... no, posix_ttyname()
will be thread-unsafe
checking for utsname.domainname... no
checking for PSPELL support... no
checking for libedit readline replacement... no
checking for readline support... no
checking for recode support... no
checking whether to enable PHP sessions... yes
checking for mm support... no
checking whether pwrite works... yes
checking whether pread works... yes
checking whether to enable shmop support... no
checking whether to enable SimpleXML support... yes
checking for xml2-config path... (cached) /usr/local/bin/xml2-config
checking whether libxml build works... (cached) yes
checking for SNMP support... no
checking OpenSSL dir for SNMP... no
checking whether to enable SOAP support... no
checking whether to enable sockets support... yes
checking for struct cmsghdr... yes
checking for hstrerror... no
checking for socketpair... (cached) yes
checking for if_nametoindex... yes
checking for if_indextoname... yes
checking for netdb.h... (cached) yes
checking netinet/tcp.h usability... yes
checking netinet/tcp.h presence... yes
checking for netinet/tcp.h... yes
checking sys/un.h usability... yes
checking sys/un.h presence... yes
checking for sys/un.h... yes
checking sys/sockio.h usability... yes
checking sys/sockio.h presence... yes
checking for sys/sockio.h... yes
checking errno.h usability... yes
checking errno.h presence... yes
checking for errno.h... yes
checking for field ss_family in struct sockaddr_storage... yes
checking whether zend_object_value is packed... no
checking whether flush should be called explicitly after a buffered io... yes
checking for standard DES crypt... yes
checking for extended DES crypt... no
checking for MD5 crypt... yes
checking for Blowfish crypt... yes
checking for SHA512 crypt... no
checking for SHA256 crypt... no
checking whether the compiler supports alignof... yes
checking whether the compiler supports aligned attribute... yes
checking for getcwd... yes
checking for getwd... yes
checking for asinh... yes
checking for acosh... yes
checking for atanh... yes
checking for log1p... yes
checking for hypot... yes
checking for glob... yes
checking for strfmon... yes
checking for nice... yes
checking for fpclass... yes
checking for isinf... no
checking for isnan... yes
checking for mempcpy... no
checking for strpncpy... no
checking for working POSIX fnmatch... yes
checking for fork... yes
checking if your OS can spawn processes with inherited handles... yes
checking for res_nsearch... no
checking for __res_nsearch... no
checking for res_nsearch in -lresolv... yes
checking for dns_search... no
checking for __dns_search... no
checking for dns_search in -lresolv... no
checking for __dns_search in -lresolv... no
checking for dns_search in -lbind... no
checking for __dns_search in -lbind... no
checking for dns_search in -lsocket... no
checking for __dns_search in -lsocket... no
checking for dn_expand... yes
checking for dn_skipname... yes
checking for res_search... yes
checking whether atof() accepts NAN... yes
checking whether atof() accepts INF... no
checking whether HUGE_VAL == INF... yes
checking whether HUGE_VAL + -HUGEVAL == NAN... yes
checking whether strptime()
declaration fails... yes
checking wchar.h usability... yes
checking wchar.h presence... yes
checking for wchar.h... yes
checking for mblen... yes
checking for mbrlen... yes
checking for mbsinit... yes
checking for mbstate_t... no
checking atomic.h usability... yes
checking atomic.h presence... yes
checking for atomic.h... yes
checking for Sybase-CT support... no
checking whether to enable System V IPC support... no
checking whether to enable System V semaphore support... no
checking whether to enable System V shared memory support... no
checking for TIDY support... no
checking whether to enable tokenizer support... yes
checking whether to enable WDDX support... no
checking libexpat dir for WDDX... no
checking whether to enable XML support... yes
checking libexpat install dir... no
checking for xml2-config path... (cached) /usr/local/bin/xml2-config
checking whether libxml build works... (cached) yes
checking whether to enable XMLReader support... yes
checking for xml2-config path... (cached) /usr/local/bin/xml2-config
checking whether libxml build works... (cached) yes
checking for XMLRPC-EPI support... no
checking libexpat dir for XMLRPC-EPI... no
checking iconv dir for XMLRPC-EPI... no
checking whether to enable XMLWriter support... yes
checking for xml2-config path... (cached) /usr/local/bin/xml2-config
checking whether libxml build works... (cached) yes
checking for XSL support... no
checking for zip archive read/writesupport... no
checking pcre install prefix... no
checking whether to enable mysqlnd... no
checking whether to disable compressed protocol support in mysqlnd... yes
checking whether int8 exists... no
checking whether uint8 exists... no
checking whether int16 exists... no
checking whether uint16 exists... no
checking whether int32 exists... no
checking whether uint32 exists... no
checking whether uchar exists... no
checking whether ulong exists... yes
checking whether int8_t exists... yes
checking whether uint8_t exists... yes
checking whether int16_t exists... yes
checking whether uint16_t exists... yes
checking whether int32_t exists... yes
checking whether uint32_t exists... yes
checking whether int64_t exists... yes
checking whether uint64_t exists... yes
Configuring PEAR
checking whether to install PEAR... yes
Configuring Zend
checking for bison version... (cached) invalid
configure: WARNING: bison versions supported for regeneration of the Zend/PHP parsers: 1.28 1.35 1.75 1.875 2.0 2.1 2.2 2.3 2.4 2.4.1 2.4.2 2.4.3 2.5 2.5.1 2.6 2.6.1 2.6.2 (found: none).
checking for inttypes.h... (cached) yes
checking for stdint.h... (cached) yes
checking for limits.h... (cached) yes
checking malloc.h usability... yes
checking malloc.h presence... yes
checking for malloc.h... yes
checking for string.h... (cached) yes
checking for unistd.h... (cached) yes
checking for stdarg.h... (cached) yes
checking for sys/types.h... (cached) yes
checking for sys/time.h... (cached) yes
checking for signal.h... (cached) yes
checking for unix.h... (cached) no
checking for stdlib.h... (cached) yes
checking for dlfcn.h... (cached) yes
checking for size_t... (cached) yes
checking return type of signal handlers... void
checking for uint... yes
checking for ulong... yes
checking for int32_t... yes
checking for uint32_t... yes
checking for vprintf... (cached) yes
checking for _doprnt... (cached) yes
checking for working memcmp... (cached) yes
checking for working alloca.h... (cached) yes
checking for alloca... (cached) yes
checking for memcpy... (cached) yes
checking for strdup... (cached) yes
checking for getpid... yes
checking for kill... yes
checking for strtod... yes
checking for strtol... yes
checking for finite... yes
checking for fpclass... (cached) yes
checking for sigsetjmp... yes
checking whether sprintf is broken... no
checking for finite... (cached) yes
checking for isfinite... no
checking for isinf... (cached) no
checking for isnan... (cached) yes
checking whether fp_except is defined... no
checking for usable _FPU_SETCW... no
checking for usable fpsetprec... no
checking for usable _controlfp... no
checking for usable _controlfp_s... no
checking whether FPU control word can be manipulated by inline assembler... no
checking whether double cast to long preserves least significant bits... no
checking for dlfcn.h... (cached) yes
checking whether dlsym() requires a leading underscore in symbol names... no
checking virtual machine dispatch method... CALL
checking whether to enable thread-safety... yes
checking whether to enable inline optimization for GCC... yes
checking whether to enable Zend debugging... no
checking for inline... inline
checking target system is Darwin... no
checking for MM alignment and log values... done
checking for memory allocation using mmap(MAP_ANON)... yes
checking for memory allocation using mmap("/dev/zero")... yes
checking for mremap... no
checking for sigaction... yes
checking whether to enable zend signal handling... no
Configuring TSRM
checking for stdarg.h... (cached) yes
checking for sigprocmask... yes
checking for pthreads_cflags... (cached)
checking for pthreads_lib... (cached)
checking for POSIX threads... yes
Configuring libtool
checking for non-GNU ld... /usr/ccs/bin/sparcv9/ld
checking if the linker (/usr/ccs/bin/sparcv9/ld) is GNU ld... no
checking for /usr/ccs/bin/sparcv9/ld option to reload object files... -r
checking for BSD-compatible nm... /usr/ccs/bin/sparcv9/nm -p
checking how to recognize dependent libraries... pass_all
checking how to run the C++ preprocessor... /opt/solarisstudio12.3/bin/CC -E
checking the maximum length of command line arguments... 786240
checking command to parse /usr/ccs/bin/sparcv9/nm -p output from /opt/solarisstudio12.3/bin/cc object... ok
checking for objdir... .libs
checking for ar... /usr/ccs/bin/ar
checking for ranlib... ranlib
checking for strip... strip
checking for /opt/solarisstudio12.3/bin/cc option to produce PIC... -KPIC
checking if /opt/solarisstudio12.3/bin/cc PIC flag -KPIC works... yes
checking if /opt/solarisstudio12.3/bin/cc static flag -Bstatic works... yes
checking if /opt/solarisstudio12.3/bin/cc supports -c -o file.o... yes
checking whether the /opt/solarisstudio12.3/bin/cc linker (/usr/ccs/bin/sparcv9/ld -64) supports shared libraries... yes
checking dynamic linker characteristics... solaris2.10 ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... no
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
creating libtool
appending configuration tag "CXX" to libtool
checking whether the /opt/solarisstudio12.3/bin/CC linker (/usr/ccs/bin/sparcv9/ld -64) supports shared libraries... yes
checking for /opt/solarisstudio12.3/bin/CC option to produce PIC... -KPIC
checking if /opt/solarisstudio12.3/bin/CC PIC flag -KPIC works... yes
checking if /opt/solarisstudio12.3/bin/CC static flag -Bstatic works... yes
checking if /opt/solarisstudio12.3/bin/CC supports -c -o file.o... yes
checking whether the /opt/solarisstudio12.3/bin/CC linker (/usr/ccs/bin/sparcv9/ld -64) supports shared libraries... yes
checking dynamic linker characteristics... solaris2.10 ld.so
(cached) (cached) checking how to hardcode library paths into programs... immediate
Generating files
configure: updating cache ../php-5.4.12_SunOS5.10_sparcv9+GD.001.cache
configure: creating ./config.status
creating main/internal_functions.c
creating main/internal_functions_cli.c
+--------------------------------------------------------------------+
| License: |
| This software is subject to the PHP License, available in this |
| distribution in the file LICENSE. By continuing this installation |
| process, you are bound by the terms of this license agreement. |
| If you do not agree with the terms of this license, you must abort |
| the installation process at this point. |
+--------------------------------------------------------------------+
Thank you for using PHP.
config.status: creating php5.spec
config.status: creating main/build-defs.h
config.status: creating scripts/phpize
config.status: creating scripts/man1/phpize.1
config.status: creating scripts/php-config
config.status: creating scripts/man1/php-config.1
config.status: creating sapi/cli/php.1
config.status: creating main/php_config.h
config.status: main/php_config.h is unchanged
config.status: executing default commands
$
I already have a mail into the curl folks on this :
http://curl.haxx.se/mail/lib-2013-02/0358.html
So I will now go back and see if I need to rebuild curl/libcurl and perhaps patch something there and then come back to php.
dc
hi,
configure in php 5.4.12 seems to have some difficulty with libcurl 7.29.0 :
$ ./configure --with-apxs2=/usr/local/bin/apxs --with-mysql=/opt/mysql/mysql \
Also we had no issue to build against 7.29.0 on windows and linux.
However one should wait for the next release, there is 2 BC breaks in
this version, if you rely on the multi interface and non default
backed for DNS resolutions.
Cheers,
Pierre
@pierrejoye
hi,
On Mon, Feb 25, 2013 at 7:58 AM, Dennis Clarke dclarke@blastwave.org
wrote:configure in php 5.4.12 seems to have some difficulty with libcurl
7.29.0 :$ ./configure --with-apxs2=/usr/local/bin/apxs
--with-mysql=/opt/mysql/mysql \Also we had no issue to build against 7.29.0 on windows and linux.
I had not yet tried either. Was going to get to a RHEL6 server but just got
hung up in Solaris.
However one should wait for the next release, there is 2 BC breaks in
this version, if you rely on the multi interface and non default
backed for DNS resolutions.
- sigh *
There always seems to be another release around the corner. Not sure what those
2 BC breaks are ... either of them related to curl-config ?
dc
hi,
However one should wait for the next release, there is 2 BC breaks in
this version, if you rely on the multi interface and non default
backed for DNS resolutions.
- sigh *
There always seems to be another release around the corner.
They do monthly or bi monthly releases, good practice :)
Not sure what those
2 BC breaks are ... either of them related to curl-config ?
quoting myself:
" there is 2 BC breaks in this version, if you rely on the multi
interface and non default
backed for DNS resolutions."
So no, but to runtime code if you use curl_multi or c-ares&co as DNS
resolutions backend.
Cheers,
Pierre
@pierrejoye | http://blog.thepimp.net | http://www.libgd.org