php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #36038 literal C string section (__TEXT,__cstring) does not end with a '\0'
Submitted: 2006-01-16 22:21 UTC Modified: 2006-01-17 00:04 UTC
From: marius at physics dot aamu dot edu Assigned:
Status: Closed Package: Compile Failure
PHP Version: 5.1.2 OS: Mac OS X 10.2.8
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: marius at physics dot aamu dot edu
New email:
PHP Version: OS:

 

 [2006-01-16 22:21 UTC] marius at physics dot aamu dot edu
Description:
------------
I'm trying to build php 5.1.2 under Mac OS X 10.2.8 (I already have built more capable versions for Mac OS X 10.3.9 w/o any problems and 10.4.4 which needed to be built with gcc 3.3 instead of gcc 4.0). Note: php 5.1.1 built just fine under Mac OS X 10.2.8 with nearly the same configuration (I updated few dependancies: curl 7.15.0 -> 7.15.1, Berkeley db 4.3.28 -> 4.4.16, libxml2 2.6.22 -> 2.6.23, mysql 5.0.16 -> 5.0.18).

The configure command:

./configure --enable-force-cgi-redirect --with-apxs --with-openssl=/usr/local/ssl --with-zlib=/usr/local --with-bz2=/usr/local --with-jpeg-dir=/usr/local --with-tiff-dir=/usr/local --with-curl=/usr/local --with-db4=/usr/local --enable-exif --with-gd=/usr/local --with-gettext=/usr/local --with-mysql=/usr/local/mysql --with-readline=/usr/local --with-iconv-dir=/usr/local --with-pkg-config=/usr/local --with-png-dir=/usr/local --with-xpm-dir=/usr/X11R6/lib --with-freetype-dir=/usr/local


Actual result:
--------------
It dies with:

gcc -dynamic -twolevel_namespace -bundle -bundle_loader /usr/sbin/httpd -I/usr/local/include -g -O2   -L/usr/local/lib -L/usr/local/ssl/lib -L/usr/X11R6/lib -L/usr/local/lib/mysql ext/libxml/libxml.o ext/openssl/openssl.o ext/openssl/xp_ssl.o ext/pcre/pcrelib/pcre_chartables.o ext/pcre/pcrelib/pcre_compile.o ext/pcre/pcrelib/pcre_config.o ext/pcre/pcrelib/pcre_dfa_exec.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_ord2utf8.o ext/pcre/pcrelib/pcre_printint.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_ucp_findchar.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/zlib/zlib.o ext/zlib/zlib_fopen_wrapper.o ext/zlib/zlib_filter.o ext/bz2/bz2.o ext/bz2/bz2_filter.o ext/ctype/ctype.o ext/curl/interface.o ext/curl/multi.o ext/curl/streams.o 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/dba/dba.o ext/dba/dba_cdb.o ext/dba/dba_dbm.o ext/dba/dba_gdbm.o ext/dba/dba_ndbm.o ext/dba/dba_db1.o ext/dba/dba_db2.o ext/dba/dba_db3.o ext/dba/dba_db4.o ext/dba/dba_flatfile.o ext/dba/dba_inifile.o ext/dba/dba_qdbm.o ext/dba/libcdb/cdb.o ext/dba/libcdb/cdb_make.o ext/dba/libcdb/uint32.o ext/dba/libflatfile/flatfile.o ext/dba/libinifile/inifile.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/exif/exif.o ext/gd/gd.o ext/gd/gdttf.o ext/gd/gdcache.o ext/gettext/gettext.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/iconv/iconv.o ext/mysql/php_mysql.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/pdo_sqlite/sqlite/src/attach.o ext/pdo_sqlite/sqlite/src/auth.o ext/pdo_sqlite/sqlite/src/btree.o ext/pdo_sqlite/sqlite/src/build.o ext/pdo_sqlite/sqlite/src/callback.o ext/pdo_sqlite/sqlite/src/date.o ext/pdo_sqlite/sqlite/src/delete.o ext/pdo_sqlite/sqlite/src/expr.o ext/pdo_sqlite/sqlite/src/func.o ext/pdo_sqlite/sqlite/src/hash.o ext/pdo_sqlite/sqlite/src/insert.o ext/pdo_sqlite/sqlite/src/legacy.o ext/pdo_sqlite/sqlite/src/main.o ext/pdo_sqlite/sqlite/src/os_mac.o ext/pdo_sqlite/sqlite/src/os_unix.o ext/pdo_sqlite/sqlite/src/os_win.o ext/pdo_sqlite/sqlite/src/pager.o ext/pdo_sqlite/sqlite/src/pragma.o ext/pdo_sqlite/sqlite/src/prepare.o ext/pdo_sqlite/sqlite/src/printf.o ext/pdo_sqlite/sqlite/src/random.o ext/pdo_sqlite/sqlite/src/select.o ext/pdo_sqlite/sqlite/src/table.o ext/pdo_sqlite/sqlite/src/tokenize.o ext/pdo_sqlite/sqlite/src/analyze.o ext/pdo_sqlite/sqlite/src/trigger.o ext/pdo_sqlite/sqlite/src/update.o ext/pdo_sqlite/sqlite/src/utf.o ext/pdo_sqlite/sqlite/src/util.o ext/pdo_sqlite/sqlite/src/vacuum.o ext/pdo_sqlite/sqlite/src/vdbeapi.o ext/pdo_sqlite/sqlite/src/vdbeaux.o ext/pdo_sqlite/sqlite/src/vdbe.o ext/pdo_sqlite/sqlite/src/vdbemem.o ext/pdo_sqlite/sqlite/src/where.o ext/pdo_sqlite/sqlite/src/parse.o ext/pdo_sqlite/sqlite/src/opcodes.o ext/pdo_sqlite/sqlite/src/alter.o ext/pdo_sqlite/sqlite/src/vdbefifo.o ext/pdo_sqlite/sqlite/src/experimental.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/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_sxe.o ext/spl/spl_exceptions.o ext/spl/spl_observer.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 regex/regcomp.o regex/regexec.o regex/regerror.o regex/regfree.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/reg.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/url_scanner.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/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/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 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_objects.o Zend/zend_object_handlers.o Zend/zend_objects_API.o Zend/zend_mm.o Zend/zend_default_classes.o Zend/zend_execute.o sapi/apache/sapi_apache.o sapi/apache/mod_php5.o sapi/apache/php_apache.o main/internal_functions.o  -lhistory -lreadline -lncurses -lmysqlclient -liconv -lintl -lgd -lfreetype -lX11 -lXpm -lpng -lz -ljpeg -ldb-4.3 -ldb-4.3 -lcurl -lbz2 -lz -lssl -lcrypto -lm -ldl -lxml2 -lz -liconv -lm -lcurl -lssl -lcrypto -ldl -lz -lxml2 -lz -liconv -lm -lxml2 -lz -liconv -lm -lxml2 -lz -liconv -lm -lxml2 -lz -liconv -lm -lxml2 -lz -liconv -lm  -o libs/libphp5.bundle && cp libs/libphp5.bundle libs/libphp5.so
ld: warning multiple definitions of symbol _locale_charset
/usr/local/lib/libiconv.dylib(localcharset.o) definition of _locale_charset
/usr/local/lib/libintl.dylib(localcharset.o) definition of _locale_charset
ld: ext/hash/hash_md.o literal C string section (__TEXT,__cstring) does not end with a '\0'
ld: ext/hash/hash_sha.o literal C string section (__TEXT,__cstring) does not end with a '\0'
ld: ext/hash/hash_ripemd.o literal C string section (__TEXT,__cstring) does not end with a '\0'
ld: ext/hash/hash_haval.o literal C string section (__TEXT,__cstring) does not end with a '\0'
ld: ext/hash/hash_tiger.o literal C string section (__TEXT,__cstring) does not end with a '\0'
ld: ext/hash/hash_gost.o literal C string section (__TEXT,__cstring) does not end with a '\0'
ld: ext/hash/hash_snefru.o literal C string section (__TEXT,__cstring) does not end with a '\0'
ld: ext/hash/hash_whirlpool.o literal C string section (__TEXT,__cstring) does not end with a '\0'
ld: ext/hash/hash_adler32.o literal C string section (__TEXT,__cstring) does not end with a '\0'
ld: ext/hash/hash_crc32.o literal C string section (__TEXT,__cstring) does not end with a '\0'
ld: main/internal_functions.o literal C string section (__TEXT,__cstring) does not end with a '\0'
make: *** [libs/libphp5.bundle] Error 1

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2006-01-16 23:06 UTC] tony2001@php.net
Does this patch fix the issue?
(you may just change 16 to 17 there manually and try to recompile it).

Index: ext/hash/php_hash.h
===================================================================
RCS file: /repository/php-src/ext/hash/php_hash.h,v
retrieving revision 1.13.2.6
diff -u -p -d -r1.13.2.6 php_hash.h
--- ext/hash/php_hash.h 1 Jan 2006 12:50:07 -0000       1.13.2.6
+++ ext/hash/php_hash.h 16 Jan 2006 22:05:44 -0000
@@ -122,7 +122,7 @@ PHP_HASH_API void php_hash_register_algo

 static inline void php_hash_bin2hex(char *out, const unsigned char *in, int in_len)
 {
-       static const char hexits[16] = "0123456789abcdef";
+       static const char hexits[17] = "0123456789abcdef";
        int i;

        for(i = 0; i < in_len; i++) {
 [2006-01-16 23:09 UTC] marius at physics dot aamu dot edu
"fixed" by adding --disable-hash to the configure arguments. This does not solve the fundamental compile failure, but only  works around the problem, leaving an off-flavor version of php 5.1.x.
 [2006-01-16 23:16 UTC] tony2001@php.net
Please try proposed patch (that fixes problems with your ld that doesn't comply with ANSI standard).
 [2006-01-16 23:46 UTC] marius at physics dot aamu dot edu
The patch worked. Thanks.
 [2006-01-17 00:04 UTC] tony2001@php.net
This bug has been fixed in CVS.

Snapshots of the sources are packaged every three hours; this change
will be in the next snapshot. You can grab the snapshot at
http://snaps.php.net/.
 
Thank you for the report, and for helping us make PHP better.


 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Thu Nov 21 12:01:29 2024 UTC