Thanks Luc; that worked, mostly. Thanks also to Grace He's suggestion to make sure that GNU gawk was installed. I was missing GNU gawk, flex and bison. I don't know if they were related to my problem, but I installed them anyways. PHP's configure script will use /usr/ccs/bin/lex instead of flex, even if that directory isn't in the path; same with 'ld'. I temporarily replaced it with a symlink to /opt/bin/flex, since the PHP manual says its required for installation on solaris.
Anyways, after temporarily changing /bin/sh to a symlink to /usr/bin/bash, it went past the point where the build died last time, but eventually died again. This time I got a much more informative error message (see below). The solution (or hack, if you prefer) was to manually enter (cut & paste) and run the HUGE libtool line, excluding -L/opt/lib and -R/opt/lib. As it turns out this is the last line of the build process, so after you run that, you're done. The last line that fails, even with /usr/bin/bash as a /bin/sh substitute on solaris9 is: /bin/sh /opt/system/software/src/php-4.3.4/libtool --silent --preserve-dup-deps --mode=link gcc -export-dynamic -g -O2 -L/usr/ucblib -L/opt/bin/../lib/gcc-lib/sparc-sun-solaris2.9/3.3 -L/opt/ssl/lib -L/opt/lib -L/opt/mysql/lib/mysql -L/opt/ssl/lib -L /opt/lib -R /usr/ucblib -R /opt/bin/../lib/gcc-lib/sparc-sun-solaris2.9/3.3 -R /opt/ssl/lib -R /opt/lib -R /opt/mysql/lib/mysql ext/openssl/openssl.lo ext/ctype/ctype.lo ext/ldap/ldap.lo ext/mysql/php_mysql.lo ext/overload/overload.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/posix/posix.lo ext/session/session.lo ext/session/mod_files.lo ext/session/mod_mm.lo ext/session/mod_user.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/aggregation.lo ext/standard/sha1.lo ext/tokenizer/tokenizer.lo ext/xml/xml.lo ext/xml/expat/xmlparse.lo ext/xml/expat/xmlrole.lo ext/xml/expat/xmltok.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/streams.lo main/network.lo main/php_open_temporary_file.lo main/php_logos.lo main/output.lo main/memory_streams.lo main/user_streams.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_execute.lo sapi/cli/php_cli.lo sapi/cli/getopt.lo main/internal_functions_cli.lo -lmysqlclient -lldap -llber -lssl -lcrypto -lresolv -lm -ldl -lnsl -lsocket -lgcc -o sapi/cli/php ld: fatal: file /opt/lib: unknown file type ld: fatal: File processing errors. No output written to sapi/cli/php collect2: ld returned 1 exit status make: *** [sapi/cli/php] Error 1 -- On Tue, Dec 02, 2003 at 09:34:14AM -0700, Luc I. Suryo wrote: > > Brent, > > hm not sure looks like a issue with expanding the arg. line > try to use ksh (or.. bash) see if it helps and make sure you do have > enough disk space... > > i'm about to compile php myself today on my Solaris 9 system.. > > > -ls > > > > > > I'm trying to compile php 4.3.4 on solaris 9 with gcc 3.3, > > linking with apache 2. It seems that no matter what `configure' > > options I use, or which linker (Sun's ld vs GNU ld), the build > > bails the same way, at the same place: > > > > ---- > > > > /bin/sh /opt/system/software/src/php-4.3.4/libtool --silent --preserve-dup-deps > > --mode=link gcc -g -O2 -prefer-pic -rpath /opt/system/software/src/php-4.3.4/libs > > -avoid-version -module -L/usr/ucblib > > -L/opt/bin/../lib/gcc-lib/sparc-sun-solaris2.9/3.3 -L/opt/ssl/lib -L/opt/lib > > -L/opt/mysql/lib/mysql -L/opt/ssl/lib -L /opt/lib -R /usr/ucblib -R > > /opt/bin/../lib/gcc-lib/sparc-sun-solaris2.9/3.3 -R /opt/ssl/lib -R /opt/lib -R > > /opt/mysql/lib/mysql ext/openssl/openssl.lo ext/ctype/ctype.lo ext/ldap/ldap.lo > > ext/mysql/php_mysql.lo ext/overload/overload.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/posix/posix.lo ext/session/session.lo > > ext/session/mod_files.lo ext/session/mod_mm.lo ext/session/mod_user.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/aggregation.lo > > ext/standard/sha1.lo ext/tokenizer/tokenizer.lo ext/xml/xml.lo > > ext/xml/expat/xmlparse.lo ext/xml/expat/xmlrole.lo ext/xml/expat/xmltok.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/streams.lo main/network.lo main/php_open_temporary_file.lo > > main/php_logos.lo main/output.lo main/memory_streams.lo main/user_streams.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_execute.lo > > sapi/apache2handler/sapi_apache2.lo sapi/apache2handler/apache_config.lo > > sapi/apache2handler/php_functions.lo main/internal_functions.lo -lmysqlclient > > -lldap -llber -lssl -lcrypto -lresolv -lm -ldl -lnsl -lsocket -lgcc -o libphp4.la > > > > /opt/system/software/src/php-4.3.4/libtool: null directory > > libtool: link: cannot determine absolute directory name of `' > > *** Error code 1 > > make: Fatal error: Command failed for target `libphp4.la' > > > > ---- > > > > Where does this "null directory" come from, and/or where > > should I look to find out? > >