I am trying to set up PHP 4.3.1 on my alpha. During final steps of make install I get segfault. Here is what I narrowed it down to: if I specify --disable-xml, it goes through. However in that case it's not very usefull, as PEAR requires xml. Specifying --enable-xml --with-expat-dir=/usr (To use system libexpat, instead of one bundled with Apache) doesn't help. As a side note, 4.2.3-r2 builds and installs, but there is some other problem, that I didn't have time to look at. alpha php-4.3.1 # emerge info Portage 2.0.47-r10 (default-alpha-1.4, gcc-3.2.2, glibc-2.3.2-r1) ================================================================= System uname: 2.4.20-pre9 alpha EV6 GENTOO_MIRRORS="http://gentoo.oregonstate.edu/ http://www.ibiblio.org/pub/Linux/distributions/gentoo" CONFIG_PROTECT="/etc /var/qmail/control /usr/share/config /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" PORTDIR="/usr/portage" DISTDIR="/usr/portage/distfiles" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR_OVERLAY="" USE="alpha crypt encode gif imlib jpeg libg++ mikmod motif ncurses oggvorbis oss pdflib png quicktime sdl spell truetype xmms xv zlib gdbm berkdb slang readline tetex mysql gpm tcpd pam libwww perl python -X -gtk -gnome -alsa -qt -kde -cups -opengl ssl postgres ldap ipv6 nls gnupg gssapi curl xml xml2 -apache2" COMPILER="gcc3" CHOST="alphaev6-unknown-linux-gnu" CFLAGS="-mcpu=ev6 -O3 -pipe " CXXFLAGS="-mcpu=ev6 -O3 -pipe " ACCEPT_KEYWORDS="alpha ~alpha" MAKEOPTS="-j2" AUTOCLEAN="yes" SYNC="rsync://rsync.gentoo.org/gentoo-portage" FEATURES="ccache"
You don't say if you are trying dev-php/mod_php or dev-php/php. Which one? An off-beat idea, based on something I saw before: try USE="-crypt" emerge php (I saw something about a mcrypt/xml integration problem) also try xml2 instead of xml and see if that helps you.
1. I am using mod_php 2. Interestingly enough, I figured that I need to get rid of crypt just yesterday (even though I would very much like to use it for horde). That didn't help unfortunately. At this moment I have both xml and xml2 (perhaps that's where the problem comes in?). I will try xml2 only later today. I actually run the instruction that failed (installing PEAR with cli) through gdb, and found that it is xml extension that fails, and tried different combinations of expat library usage. (I was doing that with regular php, not ebuild, and it was exhibiting same behaviour).
digging around some more, i think there is a problem with libmcrypt and alpha hardware. could you pass me some more information from your gdb results?
I tried with -crypt and -xml (but with xml2) and still it crashes somewhere when using horde (apache gets sig11), though it does install successfully now. One problem is that I don't get php cli with mod_php ebuild, so installing pear packages by hand doesn't work very well.
PHP cli is in the base dev-php/php build. dev-php/mod_php is ONLY the apache module. installing both is fairly common. Could you capture the output of the mod_php or php configure and attach it here please?
alpha php-4.3.1 # emerge php Calculating dependencies ...done! >>> emerge (1 of 1) dev-php/php-4.3.1-r1 to / >>> md5 ;-) php-4.3.1.tar.bz2 >>> Unpacking source... >>> Unpacking php-4.3.1.tar.bz2 to /var/tmp/portage/php-4.3.1-r1/work >>> Source unpacked. readline nls ssl curl gdbm berkdb mysql postgres truetype jpeg png spell Compiling imap with SSL support libwww xml2 creating cache ./config.cache checking for Cygwin environment... no checking for mingw32 environment... no checking for working sed... sed checking host system type... alphaev6-unknown-linux-gnu Updated php_version.h checking for gcc... gcc checking whether the C compiler (gcc -mcpu=ev6 -O3 -pipe ) works... yes checking whether the C compiler (gcc -mcpu=ev6 -O3 -pipe ) is a cross-compiler... no checking whether we are using GNU C... yes checking whether gcc accepts -g... yes checking whether gcc and cc understand -c and -o together... yes checking how to run the C preprocessor... gcc -E checking for AIX... no checking if compiler supports -R... no checking if compiler supports -Wl,-rpath,... yes checking for ranlib... ranlib checking whether ln -s works... yes checking for gawk... gawk checking for bison... bison -y checking bison version... 1.35 (ok) checking for flex... flex checking for yywrap in -lfl... yes checking lex output file root... lex.yy checking whether yytext is a pointer... yes checking for working const... yes checking flex version... 2.5.4 (ok) checking for pthreads_cflags... -pthread 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 for mod_charset compatibility option... no checking for Apache 2.0 module support via DSO through APXS... no checking for Caudium support... no checking for CLI build... yes checking for embedded SAPI library support... no checking for Zeus ISAPI support... no checking for NSAPI support... no checking for PHTTPD support... no checking for Pi3Web support... no checking for Roxen/Pike support... no checking for Servlet support... no checking for thttpd... no checking for TUX... no checking for webjames... no checking for CGI build... no checking for chosen SAPI module... cli Running system checks checking for missing declarations of reentrant functions... done checking for sendmail... /usr/sbin/sendmail checking whether system uses EBCDIC... no checking for socket... yes checking for htonl... yes checking for gethostname... yes checking for gethostbyaddr... yes checking for yp_get_default_domain... no checking for __yp_get_default_domain... no checking for yp_get_default_domain in -lnsl... yes checking for dlopen... no checking for __dlopen... no checking for dlopen in -ldl... yes checking for sin in -lm... yes checking for res_search... no checking for __res_search... no checking for res_search in -lresolv... yes checking for inet_aton... yes checking for dn_skipname... no checking for __dn_skipname... yes checking for ANSI C header files... yes checking for dirent.h that defines DIR... yes checking for opendir in -ldir... no checking for fclose declaration... ok checking for ApplicationServices/ApplicationServices.h... no 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/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 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 fopencookie... 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 long... 8 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 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 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 poll... 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 setitimer... yes checking for setlocale... yes checking for localeconv... 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 unsetenv... yes checking for usleep... 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 whether sprintf is broken... no checking whether snprintf is broken... no 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 whether to include debugging symbols... checking layout of installed files... checking path to configuration file... checking directory to be scanned for configuration files... checking whether to install PEAR, and where... checking whether to enable safe mode by default... checking for safe mode exec dir... /usr/local/php/bin checking whether to enable PHP's own SIGCHLD handler... checking whether to enable magic quotes by default... checking whether to enable runpaths... checking whether to explicitly link against libgcc... checking whether to enable short tags by default... checking whether to enable dmalloc... checking whether to enable IPv6 support... checking for OpenSSL support... yes checking for OpenSSL version... >= 0.9.5 checking for CRYPTO_free in -lcrypto... yes checking for SSL_CTX_set_ssl_version in -lssl... yes checking for crypt in -lcrypt... yes Configuring extensions checking for ZLIB support... yes checking if the location of ZLIB install directory is defined... yes checking for gzgets in -lz... yes checking whether to enable bc style precision math functions... yes checking for BZip2 support... yes checking for BZip2 in default path... found in /usr checking for BZ2_bzerror in -lbz2... yes checking whether to enable calendar conversion support... yes checking for cpdflib support... no checking for CRACKlib support... no checking whether to enable ctype functions... yes checking for CURL support... yes checking for CURL in default path... found in /usr checking for cURL 7.9.8 or greater... libcurl 7.10.3 checking for curl_easy_perform in -lcurl... yes checking for curl_version_info in -lcurl... yes checking for cyrus imap support... no checking for xDBM support... no checking whether to enable DBA... no checking for gdbm_open in -lgdbm... yes checking for GDBM support... yes checking for NDBM support... no checking for Berkeley DB2 support... no checking for db_create in -ldb-3.1... no checking for db_create in -ldb-3... yes checking for db_create in -ldb3... no checking for db_create in -ldb... yes checking for Berkeley DB3 support... yes checking for DBM support... no checking for CDB support... no checking for FlatFile support... no checking whether to enable DBA interface... yes checking whether to enable dbase support... yes checking whether to enable dbx support... no checking whether to enable direct I/O support... no checking for DOM support... yes checking for libxml version... >= 2.4.14 checking for DOM XSLT support... yes checking for DOM EXSLT support... yes checking whether to enable EXIF (metadata from images) support... no checking for FrontBase SQL92 (fbsql) support... no checking for FDF support... no checking whether to enable the bundled filePro support... no checking for FriBidi support... no checking whether to enable FTP support... yes checking for GD support... yes checking for the location of libjpeg... yes checking for the location of libpng... yes checking for the location of libXpm... yes checking for FreeType 1.x support... yes checking for FreeType 2... yes checking for T1lib support... yes checking whether to enable truetype string function in GD... yes checking for fabsf... yes checking for floorf... yes checking for jpeg_read_header in -ljpeg... yes checking for png_write_image in -lpng... yes If configure fails try --with-xpm-dir=<DIR> If configure fails try --with-freetype-dir=<DIR> checking for T1_LoadFont in -lt1... yes checking for GNU gettext support... yes checking for bindtextdomain in -lintl... no checking for bindtextdomain in -lc... yes checking for ngettext in -lc... yes checking for dngettext in -lc... yes checking for dcngettext in -lc... yes checking for bind_textdomain_codeset in -lc... yes checking for GNU MP support... no checking for hwapi support... no checking for Hyperwave support... no checking for iconv support... no checking for IMAP support... yes checking for pam_start in -lpam... yes checking for crypt in -lcrypt... (cached) yes checking whether SSL libraries are needed for c-client... /usr/lib checking whether IMAP works... yes checking for Informix support... no checking for Ingres II support... no checking for InterBase support... no checking for IRCG support... no checking for Java support... no checking for LDAP support... no checking whether to enable multibyte string support... no checking whether to enable multibyte regex support... no checking for MCAL support... no checking for mcrypt support... no checking for MCVE support... no checking for mhash support... no checking whether to enable 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... yes checking for MySQL UNIX socket location... no checking size of char... 1 checking size of int... (cached) 4 checking size of long... (cached) 8 checking size of long long... 8 checking for size_t... (cached) yes checking whether time.h and sys/time.h may both be included... yes checking for uid_t in sys/types.h... (cached) yes checking for type ulong... yes checking for type uchar... no checking for type uint... yes checking for type ushort... yes checking for int8... no checking base type of last arg to accept... socklen_t checking return type of qsort... void checking for mysql_close in -lmysqlclient... yes checking for ncurses support... no checking for Oracle-OCI8 support... no checking for Adabas support... no checking for SAP DB support... no checking for Solid support... no checking for IBM DB2 support... no checking for Empress support... no checking for Empress local access support... no checking for Birdstep support... no checking for a custom ODBC support... no checking for iODBC support... no checking for Easysoft ODBC-ODBC Bridge support... no checking for unixODBC support... no checking for OpenLink ODBC support... no checking for DBMaker support... no checking for Oracle-ORACLE support... no checking whether to enable user-space object overloading support... yes checking for Ovrimos SQL Server support... no checking whether to enable pcntl support... yes checking for fork... yes checking for waitpid... yes checking for sigaction... yes checking for PCRE support... yes checking for memmove... (cached) yes checking for PDFlib support... no checking for the location of libtiff... no checking for Verisign Payflow Pro support... no checking for PostgreSQL support... yes checking for PQescapeString in -lpq... yes checking for PQsetnonblocking in -lpq... yes checking for PQcmdTuples in -lpq... yes checking for PQoidValue in -lpq... yes checking for PQclientEncoding in -lpq... yes checking for pg_encoding_to_char in -lpq... yes checking whether to enable POSIX-like functions... yes checking for seteuid... yes checking for setegid... yes checking for setsid... yes checking for getsid... yes checking for setpgid... yes checking for getpgid... yes checking for ctermid... yes checking for mkfifo... yes checking for getrlimit... yes checking for PSPELL support... yes checking for QtDOM support... no checking for libedit readline replacement... no checking for readline support... yes checking for tgetent in -lncurses... yes checking for readline in -lreadline... yes checking for add_history in -lhistory... yes checking for recode support... no checking for strtol... yes checking for finite... yes checking for fpclass... no checking whether sprintf is broken... (cached) no checking for finite... (cached) yes checking for isfinite... no checking for isinf... yes checking for isnan... yes checking whether fp_except is defined... no checking whether dlsym() requires a leading underscore in symbol names... no checking whether to enable thread-safety... no checking whether to enable inline optimization for GCC... yes checking whether to enable a memory limit... no checking whether to enable Zend debugging... no checking whether to enable Zend multibyte... no checking for inline... inline Configuring TSRM checking for stdarg.h... (cached) yes Generating files checking for working mkdir -p... yes updating cache ./config.cache creating ./config.status creating php4.spec creating main/build-defs.h creating pear/scripts/phpize creating pear/scripts/php-config creating main/php_config.h creating number.c creating number.h creating main/internal_functions.c creating main/internal_functions_cli.c
Latest status update: problem got fixed by recompiling without -O3. Looks like compiler bug to me... :-( I'll compile php (not mod_php) with -mcpu=ev6 -O3 (my original CFLAGS) and -g and will try to find the problem.
alpha devs: based on the outcome of this, what would be the right filter-flags to put into the php stuff to downgrade to -O2 (if that works) instead of -O3
Spoken to Ilya about this on irc, if it still affects php-4.3.2, we will filter-flags on Alpha. please REOPEN if there you have any more info.