php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #2024 Compile fails in MySQL section.
Submitted: 1999-08-10 11:20 UTC Modified: 1999-11-24 18:26 UTC
From: jason at psp dot pair dot com Assigned:
Status: Closed Package: Compile Failure
PHP Version: 4.0 Beta 3 OS: FreeBSD 2.2.7
Private report: No CVE-ID: None
 [1999-08-10 11:20 UTC] jason at psp dot pair dot com
I'm having problems with php4 betas 1 and 2 failing to compile at pair networks.  I've included my do-conf file, and what I think may be relevant portions of the make output.

Configuration:
FreeBSD 2.2.7-STABLE (PAIRj) #0: Tue Dec 22 15:27:52 EST 1998
gcc --version = 2.7.2.1

psp% cat do-conf
./configure --with-mysql --with-config-file-path=/usr/home/psp/.phpbeta --with-exec-dir=/usr/home/psp/bin --enable-force-cgi-redirect=yes --bindir=/usr/home/psp/bin

Making all in standard
gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../../libzend -I../../TSRM   -I/usr/local/include/mysql   -I../.. -I../../libzend    -g -O2 -g -O2 -c base64.c

[snip error-free lines]

ranlib libphpext_standard.a
top_srcdir=.. ../scripts/mkextlib libphpext.a db mysql pcre session standard
+ ../scripts/armerge libphpext.a db/libphpext_db.a mysql/libphpext_mysql.a pcre/libphpext_pcre.a session/libphpext_session.a standard/libphpext_standard.a
ar: creating archive out.a
mv: libphpext.a: set owner/group (was: 3127/7): Operation not permitted
*** Error code 1 (ignored)
gcc -g -O2 -g -O2   -I. -I. -I./libzend -I./TSRM -I./libzend -I./TSRM   -I/usr/local/include/mysql -g   -c main.c -o main.o

[snip error-free lines]

gcc -g -O2 -g -O2   -I. -I. -I./libzend -I./TSRM -I./libzend -I./TSRM   -I/usr/local/include/mysql -g   -c dlist.c -o dlist.o
In file included from dlist.c:67:
/usr/include/malloc.h:2: warning: #warning "this file includes <malloc.h> which is deprecated, use <stdlib.h> instead"
(cd regex; make lib)
gcc -I. -I. -DPOSIX_MISTAKE -g -O2 -g -O2 -c regcomp.c
gcc -I. -I. -DPOSIX_MISTAKE -g -O2 -g -O2 -c regexec.c
gcc -I. -I. -DPOSIX_MISTAKE -g -O2 -g -O2 -c regerror.c
gcc -I. -I. -DPOSIX_MISTAKE -g -O2 -g -O2 -c regfree.c
rm -f libregex.a
ar cr libregex.a regcomp.o regexec.o regerror.o regfree.o
ranlib libregex.a
gcc -g -O2 -g -O2   -I. -I. -I./libzend -I./TSRM -I./libzend -I./TSRM   -I/usr/local/include/mysql -g   -o php -L/usr/local/lib/mysql    -L./libzend main.o internal_functions.o snprintf.o php3_sprintf.o  configuration-parser.o configuration-scanner.o request_info.o  safe_mode.o fopen-wrappers.o php3_realpath.o alloca.o output.o  php_ini.o SAPI.o cgi_main.o rfc1867.o dlist.o -Llibzend -lzend -Lext -lphpext -L/usr/home/psp/src/php-4.0b2/ext/pcre/pcrelib -lpcre -L/usr/home/psp/src/php-4.0b2/regex -lregex  -L/usr/local/lib/mysql -lmysqlclient -lm -lcrypt  -lresolv
ld: ext/libphpext.a(db___.SYMDEF): bad magic
*** Error code 1

Stop.

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [1999-08-23 15:50 UTC] sas at cvs dot php dot net
Looks like scripts/armerge does not want to work.

mv: libphpext.a: set owner/group (was: 3127/7): Operation not permitted

Are you sure that there are no permission problems?
 [1999-08-23 18:19 UTC] jason at psp dot pair dot com
Strange...

The entire source directory has correct user writing permissions.
I can't figure out what the problem is.  User 3127 is me (psp)
and group 7 is bin.  Assuming that the mv error occurs during the
move from the system tmp directory, I tried changing the temp
directory path in armerge to an account-local directory
(/home/psp/tmp) that is chmod 1777.  The mv warning went away,
but I still get:

ar: creating archive out.a
*** Error code 1 (ignored)

and everything else still dies the same.  I'm thinking about
adding echo's all over armerge to see exactly where it's dying.
Any tips?

 [1999-08-23 19:00 UTC] sas at cvs dot php dot net
armerge seems to be working. The ignored error is caused by the line

-@test "`uname -s`" = "Rhapsody" && $(RANLIB) $@

I don't know what the message from FreeBSD's linker means. I only have -current running here.
 [1999-11-10 13:46 UTC] sas at cvs dot php dot net
Please test the new build framework in beta3.
 [1999-11-10 14:58 UTC] jason at psp dot pair dot com
OK,

This is a long one.  I've included both my configure output and my (minimal) make output.

The make is dying with a fatal signal 9, whatever that is.

Jason


cat do-conf
./configure --with-mysql --with-config-file-path=/usr/home/psp/.phpbeta --with-exec-dir=/usr/home/psp/bin --enable-force-cgi-redirect=yes --bindir=/usr/home/psp/bin
psp% ./do-conf 
creating cache ./config.cache
checking for a BSD compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
checking whether make sets ${MAKE}... yes
checking for working aclocal... found
checking for working autoconf... found
checking for working automake... found
checking for working autoheader... found
checking for working makeinfo... found
checking for gnutar... no
checking for gtar... gtar
checking whether to enable maintainer-specific portions of Makefiles... no
checking for bison... bison -y
checking bison version... 1.25 (ok)
checking for gcc... gcc
checking whether the C compiler (gcc  ) works... yes
checking whether the C compiler (gcc  ) is a cross-compiler... no
checking whether we are using GNU C... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking for ranlib... ranlib
checking whether gcc and cc understand -c and -o together... yes
checking whether ln -s works... yes
checking for perl... /usr/bin/perl
checking how to run the C preprocessor... gcc -E
checking for flex... flex
checking for flex... (cached) 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 if compiler supports -R... no
checking if compiler supports -Wl,-rpath,... no
checking for sendmail... /usr/sbin/sendmail
checking for gethostname in -lnsl... no
checking for socket in -lsocket... no
checking for gethostbyaddr in -lnsl... no
checking for crypt in -lcrypt... yes
checking for sin in -lm... yes
checking for res_search in -lsocket... no
checking for res_search in -lresolv... 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 arpa/inet.h... yes
checking for crypt.h... no
checking for dlfcn.h... yes
checking for fcntl.h... yes
checking for grp.h... yes
checking for limits.h... yes
checking for locale.h... yes
checking for memory.h... yes
checking for netinet/in.h... yes
checking for pwd.h... yes
checking for signal.h... yes
checking for stdarg.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for sys/file.h... yes
checking for sys/mman.h... yes
checking for sys/select.h... yes
checking for sys/socket.h... yes
checking for sys/statfs.h... no
checking for sys/statvfs.h... no
checking for sys/time.h... yes
checking for sys/types.h... yes
checking for sys/varargs.h... no
checking for sys/wait.h... yes
checking for syslog.h... yes
checking for unistd.h... yes
checking for unix.h... no
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 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 uint... yes
checking for ulong... no
checking for vprintf... yes
checking for crypt... no
checking for cuserid... no
checking for flock... yes
checking for gcvt... no
checking for getlogin... yes
checking for gethostbyaddr... yes
checking for gettimeofday... yes
checking for inet_aton... yes
checking for link... yes
checking for lockf... no
checking for lrand48... yes
checking for memcpy... yes
checking for memmove... yes
checking for mmap... yes
checking for putenv... yes
checking for random... yes
checking for regcomp... yes
checking for rint... yes
checking for setitimer... yes
checking for setlocale... 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... no
checking for strcasecmp... yes
checking for strdup... yes
checking for strerror... yes
checking for strftime... yes
checking for strstr... 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 mkstemp... yes
checking for strlcat... no
checking for strlcpy... no
checking whether utime accepts a null argument... yes
checking for working alloca.h... no
checking for alloca... yes
checking for getopt... yes
checking whether to enable versioning... no
checking whether to use bundled regex library... yes
checking whether to use a configuration file... yes
checking whether to include debugging symbols... yes
checking whether to enable safe mode by default... no
checking for safe mode exec dir... /usr/home/psp/bin
checking whether to enable track_vars variables by default... no
checking whether to enable magic quotes by default... no
checking whether to enable runpaths... yes
checking whether to enable short tags by default... yes
checking whether to enable the URL-aware fopen wrapper... yes
checking whether to enable dmalloc... no
checking for AOLserver support... no
checking for Apache module support via DSO through APXS... no
checking for Apache module support... no
checking for mod_charset compatibility option... no
checking whether to force Apache CGI redirect... yes
checking whether to discard path_info + path_translated... no
checking for fhttpd module support... no
checking for ASPELL support... no
checking whether to enable bc style precision math functions... no
checking whether to enable DAV support through mod_dav... no
checking for gdbm_open in -lgdbm... no
checking for dbm_open in -ldb... no
checking for dbm_open in -lc... yes
checking preferred dbm library... ndbm chosen
checking for GDBM support... no
checking for NDBM support... no
checking for Berkeley DB2 support... no
checking for DBM support... no
checking for CDB support... no
checking whether to enable DBA interface... no
checking whether to include the bundled dbase library... no
checking whether to include fdftk support... no
checking whether to include the bundled filePro support... no
checking for FTP support... no
checking whether to include GD support... checking for gdImageLine in -lgd... no
checking for gdImageString16 in -lgd... no
checking whether to include GNU gettext support... no
checking for Hyperwave support... no
checking for ICAP support... no
checking for IMAP support... no
checking for Informix support... no
checking for InterBase support... no
checking for Java support... no
checking for LDAP support... no
checking for MCAL support... no
checking for mcrypt support... no
checking for mhash support... no
checking for mSQL support... no
checking for MySQL support... yes (static)
checking for errmsg.h... yes
checking for mysql.h... yes
checking for Oracle-OCI8 support... no
checking for Adabas support... no
checking for Solid support... no
checking for IBM DB2 support... no
checking for Empress support... no
checking for Velocis 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 Oracle support... no
checking whether to include PCRE support... yes
checking for memmove... (cached) yes
checking whether to include Pdflib 2.x support... no
checking for PostgresSQL support... no
checking for readline support... no
checking for mm support... no
checking whether to enable transparent session id propagation... no
checking for SNMP support... no
checking whether to enable UCD SNMP hack... no
checking for dlopen in -lc... yes
checking for pam_start in -lpam... no
checking for inet_aton in -lbind... no
checking for crypt in -lcrypt... (cached) yes
checking for getcwd... yes
checking for getwd... yes
checking for standard DES crypt... yes
checking for extended DES crypt... yes
checking for MD5 crypt... yes
checking for Blowfish crypt... yes
checking for Sybase support... no
checking for Sybase-CT support... no
checking whether to enable System V semaphore support... no
checking whether to enable System V shared memory support... no
checking whether to include WDDX support... no
checking for XML support... no
checking whether to include YP support... no
checking whether to include zlib support... no
checking host system type... i386-unknown-freebsd2.2.7
checking build system type... i386-unknown-freebsd2.2.7
checking for ld used by GCC... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... no
checking for BSD-compatible nm... /usr/bin/nm -p
updating cache ./config.cache
loading cache ./config.cache within ltconfig
checking for object suffix... o
checking for executable suffix... no
checking for gcc option to produce PIC... -fPIC
checking if gcc PIC flag -fPIC works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.lo... yes
checking if gcc supports -fno-rtti -fno-exceptions ... no
checking if gcc static flag -static works... -static
checking if the linker (/usr/bin/ld) is GNU ld... no
checking whether the linker (/usr/bin/ld) supports shared libraries... yes
checking command to parse /usr/bin/nm -p output... ok
checking how to hardcode library paths into programs... immediate
checking for /usr/bin/ld option to reload object files... -r
checking dynamic linker characteristics... freebsd2.2.7 ld.so
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... no
checking whether to build static libraries... yes
checking for objdir... .libs
creating libtool
updating cache ./config.cache
loading cache ./config.cache
checking whether to build PHP thread-safe... no
updating cache ./config.cache
creating ./config.status
creating Makefile
creating php4.spec
creating ext/Makefile
creating sapi/Makefile
creating ext/db/Makefile
creating ext/mysql/Makefile
creating ext/pcre/Makefile
creating ext/pcre/pcrelib/Makefile
creating ext/session/Makefile
creating ext/standard/Makefile
creating sapi/cgi/Makefile
creating scripts/mkextlib
creating regex/Makefile
creating build-defs.h
creating php_config.h
+ test -d libzend
+ cd libzend
+ /u4/home/psp/src/php-4.0b3-RC4/./libzend/configure --cache-file=.././config.cache --with-mysql --with-config-file-path=/usr/home/psp/.phpbeta --with-exec-dir=/usr/home/psp/bin --enable-force-cgi-redirect=yes --bindir=/usr/home/psp/bin --disable-shared
loading cache .././config.cache
checking for a BSD compatible install... (cached) /usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... (cached) awk
checking whether make sets ${MAKE}... (cached) yes
checking for working aclocal... found
checking for working autoconf... found
checking for working automake... found
checking for working autoheader... found
checking for working makeinfo... found
checking for gnutar... (cached) gtar
checking whether build environment is sane... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking for bison... (cached) bison -y
checking bison version... 1.25 (ok)
checking for gcc... (cached) gcc
checking whether the C compiler (gcc  ) works... yes
checking whether the C compiler (gcc  ) is a cross-compiler... no
checking whether we are using GNU C... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking whether gcc and cc understand -c and -o together... (cached) yes
checking how to run the C preprocessor... (cached) gcc -E
checking for flex... (cached) flex
checking for flex... (cached) flex
checking for yywrap in -lfl... (cached) yes
checking lex output file root... (cached) lex.yy
checking whether yytext is a pointer... (cached) yes
checking host system type... i386-unknown-freebsd2.2.7
checking build system type... i386-unknown-freebsd2.2.7
checking for ranlib... (cached) ranlib
checking for ld used by GCC... (cached) /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... (cached) no
checking for BSD-compatible nm... (cached) /usr/bin/nm -p
checking whether ln -s works... (cached) yes
updating cache .././config.cache
loading cache .././config.cache within ltconfig
checking for object suffix... o
checking for executable suffix... (cached) no
checking for gcc option to produce PIC... -fPIC
checking if gcc PIC flag -fPIC works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.lo... yes
checking if gcc supports -fno-rtti -fno-exceptions ... no
checking if gcc static flag -static works... -static
checking if the linker (/usr/bin/ld) is GNU ld... no
checking whether the linker (/usr/bin/ld) supports shared libraries... yes
checking command to parse /usr/bin/nm -p output... ok
checking how to hardcode library paths into programs... immediate
checking for /usr/bin/ld option to reload object files... -r
checking dynamic linker characteristics... freebsd2.2.7 ld.so
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... no
checking whether to build static libraries... yes
checking for objdir... .libs
creating libtool
updating cache .././config.cache
loading cache .././config.cache
checking for gcc option to accept ANSI C... (cached) none needed
checking for inline... inline
checking for dlopen in -lc... (cached) yes
checking for ANSI C header files... (cached) yes
checking for limits.h... (cached) yes
checking for malloc.h... no
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 signal.h... (cached) yes
checking for unix.h... (cached) no
checking for dlfcn.h... (cached) yes
checking for size_t... (cached) yes
checking return type of signal handlers... void
checking for uint... (cached) yes
checking for ulong... (cached) no
checking for vprintf... (cached) yes
checking for 8-bit clean memcmp... yes
checking for working alloca.h... (cached) no
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 broken sprintf... ok
checking whether to include debugging symbols... yes
checking whether to enable inline... yes
checking for inline... (cached) inline
checking whether to enable a memory limit... no
checking whether to build Zend thread-safe... no
updating cache .././config.cache
creating ./config.status
creating Makefile
creating zend_config.h
creating internal_functions.c
internal_functions.c is unchanged
+--------------------------------------------------------------------+
| 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.                            |
+--------------------------------------------------------------------+
psp% make
make  all-recursive
Making all in libzend
/bin/sh ./libtool --silent --mode=compile gcc -DHAVE_CONFIG_H -I. -I/u4/home/psp/src/php-4.0b3-RC4/./libzend -I.     -g -O2 -g -c -o zend-scanner.lo zend-scanner.c
/bin/sh ./libtool --silent --mode=link gcc  -g -O2 -g   -o libzend_c.la   zend-scanner.lo  
/bin/sh ./libtool --silent --mode=compile gcc -DHAVE_CONFIG_H -I. -I/u4/home/psp/src/php-4.0b3-RC4/./libzend -I.     -g -O2 -g -c -o zend-parser.lo zend-parser.c
/bin/sh ./libtool --silent --mode=compile gcc -DHAVE_CONFIG_H -I. -I/u4/home/psp/src/php-4.0b3-RC4/./libzend -I.     -g -O2 -g -c -o zend_alloc.lo zend_alloc.c
/bin/sh ./libtool --silent --mode=compile gcc -DHAVE_CONFIG_H -I. -I/u4/home/psp/src/php-4.0b3-RC4/./libzend -I.     -g -O2 -g -c -o zend_compile.lo zend_compile.c
/bin/sh ./libtool --silent --mode=compile gcc -DHAVE_CONFIG_H -I. -I/u4/home/psp/src/php-4.0b3-RC4/./libzend -I.     -g -O2 -g -c -o zend_constants.lo zend_constants.c
/bin/sh ./libtool --silent --mode=compile gcc -DHAVE_CONFIG_H -I. -I/u4/home/psp/src/php-4.0b3-RC4/./libzend -I.     -g -O2 -g -c -o zend_execute.lo zend_execute.c
gcc: Internal compiler error: program cc1 got fatal signal 9
*** Error code 1

Stop.
*** Error code 1

Stop.
*** Error code 1

Stop.
psp% 
 [1999-11-23 10:56 UTC] sas at cvs dot php dot net
gcc needs much memory to compile zend_execute.c. If it dies with signal 9, you should configure PHP with --disable-inline
 [1999-11-24 18:26 UTC] jason at psp dot pair dot com
Great!

That fixed my compile problem, now on to beta testing...

Thanks,
Jason
 
PHP Copyright © 2001-2026 The PHP Group
All rights reserved.
Last updated: Sat Oct 10 10:00:02 2026 UTC