Hi, I have problems with the new PHP5 version on several servers.
1) This happens on a FC2 Linux System since PHP 5.0.x while linking the CLI binary: #! /bin/sh # # Created by configure './configure' \ '--with-pgsql=/usr' \ '--with-apxs2=/usr/sbin/apxs' \ '--prefix=/usr' \ '--with-mysql=/usr' \ '--with-mysqli=/usr/bin/mysql_config' \ '--without-sqlite' \ '--with-xsl=/usr' \ '--with-libxml-dir=/usr' \ '--enable-trans-sid' \ '--with-zlib=/usr' \ '--with-jpeg-dir=/usr' \ '--with-tiff-dir=/usr' \ '--with-png-dir=/usr' \ '--enable-versioning' \ '--with-zlib-dir=/usr' \ '--with-freetype-dir=/usr/include/freetype2' \ '--enable-ftp' \ "$@" [EMAIL PROTECTED] php-5.0.3]# make /bin/sh /usr/src/php-5.0.3/libtool --silent --preserve-dup-deps --mode=link gcc -export-dynamic -g -O2 -L/usr/lib/mysql -R /usr/lib/mysql ext/libxml/libxml.lo ext/zlib/zlib.lo ext/zlib/zlib_fopen_wrapper.lo ext/ctype/ctype.lo ext/dom/php_dom.lo ext/dom/attr.lo ext/dom/document.lo ext/dom/domerrorhandler.lo ext/dom/domstringlist.lo ext/dom/domexception.lo ext/dom/namelist.lo ext/dom/processinginstruction.lo ext/dom/cdatasection.lo ext/dom/documentfragment.lo ext/dom/domimplementation.lo ext/dom/element.lo ext/dom/node.lo ext/dom/string_extend.lo ext/dom/characterdata.lo ext/dom/documenttype.lo ext/dom/domimplementationlist.lo ext/dom/entity.lo ext/dom/nodelist.lo ext/dom/text.lo ext/dom/comment.lo ext/dom/domconfiguration.lo ext/dom/domimplementationsource.lo ext/dom/entityreference.lo ext/dom/notation.lo ext/dom/xpath.lo ext/dom/dom_iterators.lo ext/dom/typeinfo.lo ext/dom/domerror.lo ext/dom/domlocator.lo ext/dom/namednodemap.lo ext/dom/userdatahandler.lo ext/ftp/php_ftp.lo ext/ftp/ftp.lo ext/iconv/iconv.lo ext/mysql/php_mysql.lo ext/mysqli/mysqli.lo ext/mysqli/mysqli_api.lo ext/mysqli/mysqli_prop.lo ext/mysqli/mysqli_nonapi.lo ext/mysqli/mysqli_fe.lo ext/mysqli/mysqli_report.lo ext/mysqli/mysqli_repl.lo ext/pcre/pcrelib/maketables.lo ext/pcre/pcrelib/get.lo ext/pcre/pcrelib/study.lo ext/pcre/pcrelib/pcre.lo ext/pcre/php_pcre.lo ext/pgsql/pgsql.lo ext/posix/posix.lo ext/session/session.lo ext/session/mod_files.lo ext/session/mod_mm.lo ext/session/mod_user.lo ext/simplexml/simplexml.lo ext/spl/php_spl.lo ext/spl/spl_functions.lo ext/spl/spl_engine.lo ext/spl/spl_iterators.lo ext/spl/spl_array.lo ext/spl/spl_directory.lo ext/spl/spl_sxe.lo regex/regcomp.lo regex/regexec.lo regex/regerror.lo regex/regfree.lo ext/standard/array.lo ext/standard/base64.lo ext/standard/basic_functions.lo ext/standard/browscap.lo ext/standard/crc32.lo ext/standard/crypt.lo ext/standard/cyr_convert.lo ext/standard/datetime.lo ext/standard/dir.lo ext/standard/dl.lo ext/standard/dns.lo ext/standard/exec.lo ext/standard/file.lo ext/standard/filestat.lo ext/standard/flock_compat.lo ext/standard/formatted_print.lo ext/standard/fsock.lo ext/standard/head.lo ext/standard/html.lo ext/standard/image.lo ext/standard/info.lo ext/standard/iptc.lo ext/standard/lcg.lo ext/standard/link.lo ext/standard/mail.lo ext/standard/math.lo ext/standard/md5.lo ext/standard/metaphone.lo ext/standard/microtime.lo ext/standard/pack.lo ext/standard/pageinfo.lo ext/standard/parsedate.lo ext/standard/quot_print.lo ext/standard/rand.lo ext/standard/reg.lo ext/standard/soundex.lo ext/standard/string.lo ext/standard/scanf.lo ext/standard/syslog.lo ext/standard/type.lo ext/standard/uniqid.lo ext/standard/url.lo ext/standard/url_scanner.lo ext/standard/var.lo ext/standard/versioning.lo ext/standard/assert.lo ext/standard/strnatcmp.lo ext/standard/levenshtein.lo ext/standard/incomplete_class.lo ext/standard/url_scanner_ex.lo ext/standard/ftp_fopen_wrapper.lo ext/standard/http_fopen_wrapper.lo ext/standard/php_fopen_wrapper.lo ext/standard/credits.lo ext/standard/css.lo ext/standard/var_unserializer.lo ext/standard/ftok.lo ext/standard/sha1.lo ext/standard/user_filters.lo ext/standard/uuencode.lo ext/standard/filters.lo ext/standard/proc_open.lo ext/standard/sunfuncs.lo ext/standard/streamsfuncs.lo ext/standard/http.lo ext/tokenizer/tokenizer.lo ext/xml/xml.lo ext/xml/compat.lo ext/xsl/php_xsl.lo ext/xsl/xsltprocessor.lo TSRM/TSRM.lo TSRM/tsrm_strtok_r.lo TSRM/tsrm_virtual_cwd.lo main/main.lo main/snprintf.lo main/spprintf.lo main/php_sprintf.lo main/safe_mode.lo main/fopen_wrappers.lo main/alloca.lo main/php_scandir.lo main/php_ini.lo main/SAPI.lo main/rfc1867.lo main/php_content_types.lo main/strlcpy.lo main/strlcat.lo main/mergesort.lo main/reentrancy.lo main/php_variables.lo main/php_ticks.lo main/network.lo main/php_open_temporary_file.lo main/php_logos.lo main/output.lo main/streams/streams.lo main/streams/cast.lo main/streams/memory.lo main/streams/filter.lo main/streams/plain_wrapper.lo main/streams/userspace.lo main/streams/transports.lo main/streams/xp_socket.lo main/streams/mmap.lo Zend/zend_language_parser.lo Zend/zend_language_scanner.lo Zend/zend_ini_parser.lo Zend/zend_ini_scanner.lo Zend/zend_alloc.lo Zend/zend_compile.lo Zend/zend_constants.lo Zend/zend_dynamic_array.lo Zend/zend_execute_API.lo Zend/zend_highlight.lo Zend/zend_llist.lo Zend/zend_opcode.lo Zend/zend_operators.lo Zend/zend_ptr_stack.lo Zend/zend_stack.lo Zend/zend_variables.lo Zend/zend.lo Zend/zend_API.lo Zend/zend_extensions.lo Zend/zend_hash.lo Zend/zend_list.lo Zend/zend_indent.lo Zend/zend_builtin_functions.lo Zend/zend_sprintf.lo Zend/zend_ini.lo Zend/zend_qsort.lo Zend/zend_multibyte.lo Zend/zend_ts_hash.lo Zend/zend_stream.lo Zend/zend_iterators.lo Zend/zend_interfaces.lo Zend/zend_exceptions.lo Zend/zend_strtod.lo Zend/zend_objects.lo Zend/zend_object_handlers.lo Zend/zend_objects_API.lo Zend/zend_mm.lo Zend/zend_default_classes.lo Zend/zend_reflection_api.lo Zend/zend_execute.lo sapi/cli/php_cli.lo sapi/cli/getopt.lo main/internal_functions_cli.lo -lcrypt -lexslt -lcrypt -lpq -lz -lresolv -lm -ldl -lnsl -lxml2 -lz -lm -lxml2 -lz -lm -lmysqlclient -lcrypt -lnsl -lm -lz -lnss_files -lnss_dns -lresolv -lnss_files -lnss_dns -lresolv -lxml2 -lz -lm -lcrypt -lxml2 -lz -lm -lxslt -lxml2 -lz -lm -lcrypt -o sapi/cli/php /usr/bin/ld: cannot find -lgcrypt collect2: ld returned 1 exit status make: *** [sapi/cli/php] Fehler 1 wtf is -lgcrypt? ;-) 2) Another server, 5.0.2 compiled, 5.0.3 does not (same configure, of course): #! /bin/sh # # Created by configure './configure' \ '--with-mysql=/usr' \ '--enable-calendar' \ '--enable-trans-sid' \ '--enable-versioning' \ '--prefix=/usr' \ '--with-zlib=/usr' \ '--with-jpeg-dir=/usr' \ '--with-tiff-dir=/usr' \ '--with-png-dir=/usr' \ '--with-apxs=/usr/sbin/apxs' \ '--with-pgsql' \ '--enable-ftp' \ '--enable-dbase' \ '--with-gd=/usr' \ '--without-sqlite' \ '--with-xsl=/usr' \ '--with-libxml-dir=/usr' \ "$@" # make /bin/sh /usr/src/php-5.0.3/libtool --silent --preserve-dup-deps --mode=compile gcc -Iext/libxml/ -I/usr/src/php-5.0.3/ext/libxml/ -DPHP_ATOM_INC -I/usr/src/php-5.0.3/include -I/usr/src/php-5.0.3/main -I/usr/src/php-5.0.3 -I/usr/src/php-5.0.3/Zend -I/usr/include/libxml2 -I/usr/include/mysql -I/usr/src/php-5.0.3/TSRM -g -O2 -prefer-pic -c /usr/src/php-5.0.3/ext/libxml/libxml.c -o ext/libxml/libxml.lo In file included from /usr/src/php-5.0.3/main/php.h:167, from /usr/src/php-5.0.3/ext/libxml/libxml.c:28: /usr/include/unistd.h:247: warning: redefinition of `socklen_t' /usr/src/php-5.0.3/main/php.h:151: warning: `socklen_t' previously declared here In file included from /usr/src/php-5.0.3/main/php.h:420, from /usr/src/php-5.0.3/ext/libxml/libxml.c:28: /usr/src/php-5.0.3/TSRM/tsrm_virtual_cwd.h:155: parse error before `*' /usr/src/php-5.0.3/TSRM/tsrm_virtual_cwd.h:155: warning: data definition has no type or storage class In file included from /usr/src/php-5.0.3/main/php.h:429, from /usr/src/php-5.0.3/ext/libxml/libxml.c:28: /usr/src/php-5.0.3/main/php_reentrancy.h:57: parse error before `*' make: *** [ext/libxml/libxml.lo] Fehler 1 3) Another server, configure fails with MySQL, 5.0.1 compiled, 5.0.3 not: #! /bin/sh # # Created by configure './configure' \ '--prefix=/usr' \ '--with-mysql=/usr/' \ '--with-apxs2=/usr/sbin/apxs' \ '--enable-soap' \ "$@" [....] checking for fclose declaration... ok checking for dirent.h... yes checking for ApplicationServices/ApplicationServices.h... no checking for sys/param.h... yes checking for sys/types.h... 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 fcntl.h... yes checking for grp.h... yes checking for ieeefp.h... no checking for langinfo.h... yes checking for limits.h... yes checking for locale.h... yes checking for monetary.h... yes checking for mach-o/dyld.h... no 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... yes checking for string.h... yes checking for syslog.h... yes checking for sysexits.h... yes checking for sys/bitypes.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/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... no checking for sys/wait.h... yes checking for termios.h... yes checking for unistd.h... 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 inttypes.h... yes checking for fopencookie... yes checking for broken getcwd... no checking for broken libc stdio... yes checking whether struct tm is in sys/time.h or time.h... time.h checking for tm_zone in struct tm... yes checking for tm_gmtoff in struct tm... yes checking for struct flock... yes checking for socklen_t... yes checking size of intmax_t... 0 checking size of size_t... 4 checking size of ssize_t... 0 checking size of ptrdiff_t... 0 checking size of long long... 8 checking size of long long int... 8 checking size of long... 4 checking size of int... 4 checking for st_blksize in struct stat... yes checking for st_blocks in struct stat... yes checking for st_rdev in struct stat... yes checking for size_t... yes checking for uid_t in sys/types.h... yes checking for struct sockaddr_storage... yes checking for IPv6 support... yes checking for vprintf... 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... no checking for flock... yes checking for ftok... yes checking for funopen... no checking for gai_strerror... yes checking for gcvt... yes checking for getlogin... yes checking for getprotobyname... yes checking for getprotobynumber... yes checking for getservbyname... yes checking for getservbyport... yes checking for getrusage... yes checking for gettimeofday... yes checking for gmtime_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 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 regcomp... yes checking for res_search... (cached) yes checking for scandir... yes checking for setitimer... yes checking for setlocale... yes checking for localeconv... 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 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 nanosleep... yes checking for utime... yes checking for vsnprintf... yes checking for getaddrinfo... yes checking for strlcat... no checking for strlcpy... no checking for getopt... yes checking whether utime accepts a null argument... yes checking for working alloca.h... (cached) 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 General settings checking whether to include debugging symbols... no checking layout of installed files... PHP checking path to configuration file... DEFAULT checking directory to be scanned for configuration files... DEFAULT checking whether to enable safe mode by default... no checking for safe mode exec dir... /usr/local/php/bin checking whether to enable PHP's own SIGCHLD handler... no checking whether to enable magic quotes by default... no checking whether to enable runpaths... yes 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 how big to make fd sets... using system default checking whether to enable versioning... no Configuring extensions checking whether to enable LIBXML support... yes checking libxml2 install dir... no checking whether libxml build works... yes checking for OpenSSL support... no checking for ZLIB support... no checking if the location of ZLIB install directory is defined... no checking whether to enable bc style precision math functions... no checking for BZip2 support... no checking whether to enable calendar conversion support... no checking for cpdflib support... no checking whether to enable ctype functions... yes checking for CURL support... no checking if we should use CURL for url streams... no checking whether to enable DBA... no checking for QDBM support... no checking for GDBM support... no checking for NDBM support... no checking for Berkeley DB4 support... no checking for Berkeley DB3 support... no checking for Berkeley DB2 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 dbase support... no checking whether to enable dbx support... no checking whether to enable direct I/O support... no checking whether to enable DOM support... yes checking whether libxml build works... (cached) yes checking whether to enable EXIF (metadata from images) support... no checking for fam support... no checking for FrontBase SQL92 (fbsql) support... no checking for FDF support... no checking whether to enable the bundled filePro support... no checking whether to enable FTP support... no checking for GD support... no checking for the location of libjpeg... no checking for the location of libpng... no checking for the location of libXpm... no checking for FreeType 1.x support... no checking for FreeType 2... no 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 GNU gettext support... no checking for GNU MP support... no checking for hwapi support... no checking for iconv support... yes checking for iconv... yes checking if iconv is glibc's... yes checking if iconv supports errno... yes checking if your cpp allows macro usage in include lines... yes checking for IMAP support... no checking for Informix support... no checking for Ingres II support... no checking for InterBase support... no checking for IRCG support... no checking for LDAP support... no checking for LDAP Cyrus SASL support... no checking whether to enable multibyte string support... no checking whether to enable multibyte regex support... yes checking for external libmbfl... no checking for mcrypt support... no checking for MCVE support... no checking OpenSSL dir for MCVE... no checking for mhash support... no checking whether to include mime_magic support... no checking for MING support... no checking for mnoGoSearch support... no checking for msession support... no checking for mSQL 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 UNIX socket location... no checking for mysql_close in -lmysqlclient... no checking for mysql_errno in -lmysqlclient... no configure: error: Try adding --with-zlib-dir=<DIR>. Please check config.log for more information. config.log: configure:53830: checking for MySQL support configure:53876: checking for specified location of the MySQL UNIX socket configure:53933: checking for MySQL UNIX socket location configure:54089: checking for mysql_close in -lmysqlclient configure:54108: gcc -o conftest -g -O2 -Wl,-rpath,/usr//lib -L/usr//lib conftest.c -lmysqlclient -lresolv -lm -ldl -lnsl -lxml2 -lz -lm -lxml2 -lz -lm 1 /usr/bin/ld: cannot find -lmysqlclient collect2: ld returned 1 exit status configure: failed program was: #line 54097 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char mysql_close(); int main() { mysql_close() ; return 0; } configure:54470: checking for mysql_errno in -lmysqlclient configure:54489: gcc -o conftest -g -O2 -Wl,-rpath,/usr//lib -L/usr//lib conftest.c -lmysqlclient -lz -lresolv -lm -ldl -lnsl -lxml2 -lz -lm -lxml2 -lz - /usr/bin/ld: cannot find -lmysqlclient collect2: ld returned 1 exit status configure: failed program was: #line 54478 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char mysql_errno(); int main() { mysql_errno() ; return 0; } 4) When compiling PHP with both mysql+mysqli extensions, two entries of -lmysqlclient are written into the Makefile, that is not fixed in 5.0.3, too. Because of the the linker fails. This happens on *every* server. See: http://bugs.php.net/bug.php?id=29775 There are *NO* different mysql libs. Everything is from the MySQL 4.1.7 RPMs! -- soenke.