php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #54415 php-cgi: linker error with Easysoft unixODBC integration
Submitted: 2011-03-29 00:05 UTC Modified: 2011-03-31 00:00 UTC
From: mark dot dalton at mail dot house dot gov Assigned:
Status: Not a bug Package: Compile Failure
PHP Version: 5.3.6 OS: Solaris 10
Private report: No CVE-ID: None
 [2011-03-29 00:05 UTC] mark dot dalton at mail dot house dot gov
Description:
------------
This problem is with building PHP 5.3.5.

I'm using SolarisStudio compiler and /usr/ccs/bin/ld as the linker.

Input to configure:
./configure \
--prefix=/usr2/web/home/plugins/php-5.3.5 \
--bindir=/usr2/web/home/plugins/php-5.3.5/bin \
--libdir=/usr2/web/home/plugins/php-5.3.5/lib \
--libexecdir=/usr2/web/home/plugins/php-5.3.5/libexec \
--enable-debug \
--with-gnu-ld \
--oldincludedir=/usr/include \
--with-unixODBC=/usr/local/easysoft/unixODBC \
--enable-calendar

Very tail-end nippet from 'make' (build) run:

Undefined                       first referenced
 symbol                             in file
_php_glob_stream_get_path           ext/spl/spl_directory.o
_php_glob_stream_get_count          ext/spl/spl_directory.o
php_glob_stream_ops                 ext/spl/spl_directory.o
php_glob_stream_wrapper             ext/standard/basic_functions.o
ld: fatal: Symbol referencing errors. No output written to sapi/cgi/php-cgi
*** Error code 2
make: Fatal error: Command failed for target `sapi/cgi/php-cgi'

This error is not generated for the CLI PHP module nor does it occur if '--with-unixODBC=/usr/local/easysoft/unixODBC' is left out of the configure run.

I tried to force inclusion of the required 'php_glob_stream' references by adding in '#include streams/php_stream_glob_wrapper.h' into the 2 C modules that were involved but that made no difference at all.


Test script:
---------------
Tail-end nippet from 'make' (build) run (lengthy):

cc -m64 -I/usr/include -g ext/date/php_date.o ext/date/lib/astro.o ext/date/lib/dow.o ext/date/lib/parse_date.o ext/date/lib/parse_tz.o ext/date/lib/timelib.o ext/date/lib/tm2unixtime.o ext/date/lib/unixtime2tm.o ext/date/lib/parse_iso_intervals.o ext/date/lib/interval.o ext/ereg/ereg.o ext/ereg/regex/regcomp.o ext/ereg/regex/regexec.o ext/ereg/regex/regerror.o ext/ereg/regex/regfree.o ext/libxml/libxml.o ext/pcre/pcrelib/pcre_chartables.o ext/pcre/pcrelib/pcre_ucd.o ext/pcre/pcrelib/pcre_compile.o ext/pcre/pcrelib/pcre_config.o ext/pcre/pcrelib/pcre_exec.o ext/pcre/pcrelib/pcre_fullinfo.o ext/pcre/pcrelib/pcre_get.o ext/pcre/pcrelib/pcre_globals.o ext/pcre/pcrelib/pcre_info.o ext/pcre/pcrelib/pcre_maketables.o ext/pcre/pcrelib/pcre_newline.o ext/pcre/pcrelib/pcre_ord2utf8.o ext/pcre/pcrelib/pcre_refcount.o ext/pcre/pcrelib/pcre_study.o ext/pcre/pcrelib/pcre_tables.o ext/pcre/pcrelib/pcre_try_flipped.o ext/pcre/pcrelib/pcre_valid_utf8.o ext/pcre/pcrelib/pcre_version.o ext/pcre/pcrelib/pcre_xclass.o ext/pcre/php_pcre.o ext/sqlite3/sqlite3.o ext/sqlite3/libsqlite/sqlite3.o ext/calendar/calendar.o ext/calendar/dow.o ext/calendar/french.o ext/calendar/gregor.o ext/calendar/jewish.o ext/calendar/julian.o ext/calendar/easter.o ext/calendar/cal_unix.o ext/ctype/ctype.o ext/dom/php_dom.o ext/dom/attr.o ext/dom/document.o ext/dom/domerrorhandler.o ext/dom/domstringlist.o ext/dom/domexception.o ext/dom/namelist.o ext/dom/processinginstruction.o ext/dom/cdatasection.o ext/dom/documentfragment.o ext/dom/domimplementation.o ext/dom/element.o ext/dom/node.o ext/dom/string_extend.o ext/dom/characterdata.o ext/dom/documenttype.o ext/dom/domimplementationlist.o ext/dom/entity.o ext/dom/nodelist.o ext/dom/text.o ext/dom/comment.o ext/dom/domconfiguration.o ext/dom/domimplementationsource.o ext/dom/entityreference.o ext/dom/notation.o ext/dom/xpath.o ext/dom/dom_iterators.o ext/dom/typeinfo.o ext/dom/domerror.o ext/dom/domlocator.o ext/dom/namednodemap.o ext/dom/userdatahandler.o ext/fileinfo/fileinfo.o ext/fileinfo/libmagic/apprentice.o ext/fileinfo/libmagic/apptype.o ext/fileinfo/libmagic/ascmagic.o ext/fileinfo/libmagic/cdf.o ext/fileinfo/libmagic/cdf_time.o ext/fileinfo/libmagic/compress.o ext/fileinfo/libmagic/encoding.o ext/fileinfo/libmagic/fsmagic.o ext/fileinfo/libmagic/funcs.o ext/fileinfo/libmagic/is_tar.o ext/fileinfo/libmagic/magic.o ext/fileinfo/libmagic/print.o ext/fileinfo/libmagic/readcdf.o ext/fileinfo/libmagic/readelf.o ext/fileinfo/libmagic/softmagic.o ext/filter/filter.o ext/filter/sanitizing_filters.o ext/filter/logical_filters.o ext/filter/callback_filter.o ext/hash/hash.o ext/hash/hash_md.o ext/hash/hash_sha.o ext/hash/hash_ripemd.o ext/hash/hash_haval.o ext/hash/hash_tiger.o ext/hash/hash_gost.o ext/hash/hash_snefru.o ext/hash/hash_whirlpool.o ext/hash/hash_adler32.o ext/hash/hash_crc32.o ext/hash/hash_salsa.o ext/iconv/iconv.o ext/json/json.o ext/json/utf8_to_utf16.o ext/json/utf8_decode.o ext/json/JSON_parser.o ext/odbc/php_odbc.o ext/pdo/pdo.o ext/pdo/pdo_dbh.o ext/pdo/pdo_stmt.o ext/pdo/pdo_sql_parser.o ext/pdo/pdo_sqlstate.o ext/pdo_sqlite/pdo_sqlite.o ext/pdo_sqlite/sqlite_driver.o ext/pdo_sqlite/sqlite_statement.o ext/phar/util.o ext/phar/tar.o ext/phar/zip.o ext/phar/stream.o ext/phar/func_interceptors.o ext/phar/dirstream.o ext/phar/phar.o ext/phar/phar_object.o ext/phar/phar_path_check.o ext/posix/posix.o ext/reflection/php_reflection.o ext/session/session.o ext/session/mod_files.o ext/session/mod_mm.o ext/session/mod_user.o ext/simplexml/simplexml.o ext/simplexml/sxe.o ext/spl/php_spl.o ext/spl/spl_functions.o ext/spl/spl_engine.o ext/spl/spl_iterators.o ext/spl/spl_array.o ext/spl/spl_directory.o ext/spl/spl_exceptions.o ext/spl/spl_observer.o ext/spl/spl_dllist.o ext/spl/spl_heap.o ext/spl/spl_fixedarray.o ext/sqlite/sqlite.o ext/sqlite/sess_sqlite.o ext/sqlite/pdo_sqlite2.o ext/sqlite/libsqlite/src/opcodes.o ext/sqlite/libsqlite/src/parse.o ext/sqlite/libsqlite/src/encode.o ext/sqlite/libsqlite/src/auth.o ext/sqlite/libsqlite/src/btree.o ext/sqlite/libsqlite/src/build.o ext/sqlite/libsqlite/src/delete.o ext/sqlite/libsqlite/src/expr.o ext/sqlite/libsqlite/src/func.o ext/sqlite/libsqlite/src/hash.o ext/sqlite/libsqlite/src/insert.o ext/sqlite/libsqlite/src/main.o ext/sqlite/libsqlite/src/os.o ext/sqlite/libsqlite/src/pager.o ext/sqlite/libsqlite/src/printf.o ext/sqlite/libsqlite/src/random.o ext/sqlite/libsqlite/src/select.o ext/sqlite/libsqlite/src/table.o ext/sqlite/libsqlite/src/tokenize.o ext/sqlite/libsqlite/src/update.o ext/sqlite/libsqlite/src/util.o ext/sqlite/libsqlite/src/vdbe.o ext/sqlite/libsqlite/src/attach.o ext/sqlite/libsqlite/src/btree_rb.o ext/sqlite/libsqlite/src/pragma.o ext/sqlite/libsqlite/src/vacuum.o ext/sqlite/libsqlite/src/copy.o ext/sqlite/libsqlite/src/vdbeaux.o ext/sqlite/libsqlite/src/date.o ext/sqlite/libsqlite/src/where.o ext/sqlite/libsqlite/src/trigger.o ext/standard/crypt_freesec.o ext/standard/crypt_blowfish.o ext/standard/crypt_sha512.o ext/standard/crypt_sha256.o ext/standard/php_crypt_r.o ext/standard/array.o ext/standard/base64.o ext/standard/basic_functions.o ext/standard/browscap.o ext/standard/crc32.o ext/standard/crypt.o ext/standard/cyr_convert.o ext/standard/datetime.o ext/standard/dir.o ext/standard/dl.o ext/standard/dns.o ext/standard/exec.o ext/standard/file.o ext/standard/filestat.o ext/standard/flock_compat.o ext/standard/formatted_print.o ext/standard/fsock.o ext/standard/head.o ext/standard/html.o ext/standard/image.o ext/standard/info.o ext/standard/iptc.o ext/standard/lcg.o ext/standard/link.o ext/standard/mail.o ext/standard/math.o ext/standard/md5.o ext/standard/metaphone.o ext/standard/microtime.o ext/standard/pack.o ext/standard/pageinfo.o ext/standard/quot_print.o ext/standard/rand.o ext/standard/soundex.o ext/standard/string.o ext/standard/scanf.o ext/standard/syslog.o ext/standard/type.o ext/standard/uniqid.o ext/standard/url.o ext/standard/var.o ext/standard/versioning.o ext/standard/assert.o ext/standard/strnatcmp.o ext/standard/levenshtein.o ext/standard/incomplete_class.o ext/standard/url_scanner_ex.o ext/standard/ftp_fopen_wrapper.o ext/standard/http_fopen_wrapper.o ext/standard/php_fopen_wrapper.o ext/standard/credits.o ext/standard/css.o ext/standard/var_unserializer.o ext/standard/ftok.o ext/standard/sha1.o ext/standard/user_filters.o ext/standard/uuencode.o ext/standard/filters.o ext/standard/proc_open.o ext/standard/streamsfuncs.o ext/standard/http.o ext/tokenizer/tokenizer.o ext/tokenizer/tokenizer_data.o ext/xml/xml.o ext/xml/compat.o ext/xmlreader/php_xmlreader.o ext/xmlwriter/php_xmlwriter.o TSRM/TSRM.o TSRM/tsrm_strtok_r.o TSRM/tsrm_virtual_cwd.o main/main.o main/snprintf.o main/spprintf.o main/php_sprintf.o main/safe_mode.o main/fopen_wrappers.o main/alloca.o main/php_scandir.o main/php_ini.o main/SAPI.o main/rfc1867.o main/php_content_types.o main/strlcpy.o main/strlcat.o main/mergesort.o main/reentrancy.o main/php_variables.o main/php_ticks.o main/network.o main/php_open_temporary_file.o main/php_logos.o main/output.o main/getopt.o main/streams/streams.o main/streams/cast.o main/streams/memory.o main/streams/filter.o main/streams/plain_wrapper.o main/streams/userspace.o main/streams/transports.o main/streams/xp_socket.o main/streams/mmap.o main/streams/glob_wrapper.o Zend/zend_language_parser.o Zend/zend_language_scanner.o Zend/zend_ini_parser.o Zend/zend_ini_scanner.o Zend/zend_alloc.o Zend/zend_compile.o Zend/zend_constants.o Zend/zend_dynamic_array.o Zend/zend_execute_API.o Zend/zend_highlight.o Zend/zend_llist.o Zend/zend_opcode.o Zend/zend_operators.o Zend/zend_ptr_stack.o Zend/zend_stack.o Zend/zend_variables.o Zend/zend.o Zend/zend_API.o Zend/zend_extensions.o Zend/zend_hash.o Zend/zend_list.o Zend/zend_indent.o Zend/zend_builtin_functions.o Zend/zend_sprintf.o Zend/zend_ini.o Zend/zend_qsort.o Zend/zend_multibyte.o Zend/zend_ts_hash.o Zend/zend_stream.o Zend/zend_iterators.o Zend/zend_interfaces.o Zend/zend_exceptions.o Zend/zend_strtod.o Zend/zend_gc.o Zend/zend_closures.o Zend/zend_float.o Zend/zend_objects.o Zend/zend_object_handlers.o Zend/zend_objects_API.o Zend/zend_default_classes.o Zend/zend_execute.o sapi/cgi/cgi_main.o sapi/cgi/fastcgi.o main/internal_functions.o -o sapi/cgi/php-cgi  -L/usr/ucblib -L/usr/local/easysoft/unixODBC/lib -lrt -lm -lnsl -lsocket -lxml2 -lz -lm -lsocket -lnsl -lxml2 -lz -lm -lsocket -lnsl -lodbc -lxml2 -lz -lm -lsocket -lnsl -lxml2 -lz -lm -lsocket -lnsl -lxml2 -lz -lm -lsocket -lnsl -lxml2 -lz -lm -lsocket -lnsl   -R/usr/ucblib -R/usr/local/easysoft/unixODBC/lib
Undefined                       first referenced
 symbol                             in file
_php_glob_stream_get_path           ext/spl/spl_directory.o
_php_glob_stream_get_count          ext/spl/spl_directory.o
php_glob_stream_ops                 ext/spl/spl_directory.o
php_glob_stream_wrapper             ext/standard/basic_functions.o
ld: fatal: Symbol referencing errors. No output written to sapi/cgi/php-cgi
*** Error code 2
make: Fatal error: Command failed for target `sapi/cgi/php-cgi'


Expected result:
----------------
Generating phar.php
Generating phar.phar
PEAR package PHP_Archive not installed: generated phar will require PHP's phar extension be enabled.
directorytreeiterator.inc
directorygraphiterator.inc
clicommand.inc
invertedregexiterator.inc
pharcommand.inc
phar.inc

Build complete.
Don't forget to run 'make test'.

Actual result:
--------------
See 'Test Script" above.

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2011-03-29 00:10 UTC] mark dot dalton at mail dot house dot gov
-Summary: php-cgi: inker error with Easysoft unixODBC integration +Summary: php-cgi: linker error with Easysoft unixODBC integration
 [2011-03-29 00:10 UTC] mark dot dalton at mail dot house dot gov
Corrected small spelling error in 'Summary' field.
 [2011-03-30 23:39 UTC] mark dot dalton at mail dot house dot gov
You are going to love this.  I pulled down the 5.3.6 version of PHP, extracted it, and built it fine.  Go figureā€¦

Please close this bug report.
 [2011-03-31 00:00 UTC] felipe@php.net
-Status: Open +Status: Bogus
 [2011-03-31 00:00 UTC] felipe@php.net
.
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Tue May 21 12:01:34 2024 UTC