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 -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php