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
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: mark dot dalton at mail dot house dot gov
New email:
PHP Version: OS:

 

 [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

Pull Requests

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-2025 The PHP Group
All rights reserved.
Last updated: Thu Jul 17 00:01:31 2025 UTC