#20256 [Com]: missing #include in zend.h for snprintf
| From: | mikejhudson_1999 at yahoo dot com | Date: | Thu, 30 Jan 2003 01:31:29 +0000 |
| Subject: | #20256 [Com]: missing #include in zend.h for snprintf | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-31640@lists.php.net to get a copy of this message | ||
ID: 20256
Comment by: mikejhudson_1999@yahoo.com
Reported By: michael.ring@t-mobile.de
Status: No Feedback
Bug Type: Compile Failure
Operating System: OSF1 V4.0d
PHP Version: 4.3.0-pre2
New Comment:
For what its worth, I get the same bug on PHP 4.3.0 for Digital Unix
4.0D
/bin/ksh libtool --silent --mode=link gcc -export-dynamic -g -O2
-avoid-version -module ext/ctype/ctype.lo ext/mysql/php_mysql.lo
ext/mysql/libmysql/libmysql.lo ext/mysql/libmysql/errmsg.lo
ext/mysql/libmysql/net.lo ext/mysql/libmysql/violite.lo
ext/mysql/libmysql/password.lo ext/mysql/libmysql/my_init.lo
ext/mysql/libmysql/my_lib.lo ext/mysql/libmysql/my_static.lo
ext/mysql/libmysql/my_malloc.lo ext/mysql/libmysql/my_realloc.lo
ext/mysql/libmysql/my_create.lo ext/mysql/libmysql/my_delete.lo
ext/mysql/libmysql/my_tempnam.lo ext/mysql/libmysql/my_open.lo
ext/mysql/libmysql/mf_casecnv.lo ext/mysql/libmysql/my_read.lo
ext/mysql/libmysql/my_write.lo ext/mysql/libmysql/errors.lo
ext/mysql/libmysql/my_error.lo ext/mysql/libmysql/my_getwd.lo
ext/mysql/libmysql/my_div.lo ext/mysql/libmysql/mf_pack.lo
ext/mysql/libmysql/my_messnc.lo ext/mysql/libmysql/mf_dirname.lo
ext/mysql/libmysql/mf_fn_ext.lo ext/mysql/libmysql/mf_wcomp.lo
ext/mysql/libmysql/typelib.lo ext/mysql/libmysql/safemalloc.lo
ext/mysql/libmysql/my_alloc.lo ext/mysql/libmysql/mf_format.lo
ext/mysql/libmysql/mf_path.lo ext/mysql/libmysql/mf_unixpath.lo
ext/mysql/libmysql/my_fopen.lo ext/mysql/libmysql/mf_loadpath.lo
ext/mysql/libmysql/my_pthread.lo ext/mysql/libmysql/my_thr_init.lo
ext/mysql/libmysql/thr_mutex.lo ext/mysql/libmysql/mulalloc.lo
ext/mysql/libmysql/string.lo ext/mysql/libmysql/default.lo
ext/mysql/libmysql/my_compress.lo ext/mysql/libmysql/array.lo
ext/mysql/libmysql/my_once.lo ext/mysql/libmysql/list.lo
ext/mysql/libmysql/my_net.lo ext/mysql/libmysql/dbug.lo
ext/mysql/libmysql/strmov.lo ext/mysql/libmysql/strxmov.lo
ext/mysql/libmysql/strnmov.lo ext/mysql/libmysql/strmake.lo
ext/mysql/libmysql/strend.lo ext/mysql/libmysql/strfill.lo
ext/mysql/libmysql/is_prefix.lo ext/mysql/libmysql/int2str.lo
ext/mysql/libmysql/str2int.lo ext/mysql/libmysql/strinstr.lo
ext/mysql/libmysql/strcont.lo ext/mysql/libmysql/strcend.lo
ext/mysql/libmysql/bchange.lo ext/mysql/libmysql/bmove.lo
ext/mysql/libmysql/bmove_upp.lo ext/mysql/libmysql/longlong2str.lo
ext/mysql/libmysql/strtoull.lo ext/mysql/libmysql/strtoll.lo
ext/mysql/libmysql/charset.lo ext/mysql/libmysql/ctype.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 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 regex/regcomp.lo
regex/regexec.lo regex/regerror.lo regex/regfree.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_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 -lm -o sapi/cli/php
/usr/bin/ld:
Unresolved:
snprintf
collect2: ld returned 1 exit status
*** Exit 1
However the fix suggested by michael.ring did not work for me.
Here is the output of
#grep PRINTF main/php_config.h
#define HAVE_VPRINTF 1
/* #undef HAVE_SNPRINTF */
/* #undef HAVE_VSNPRINTF */
#define PHP_BROKEN_SPRINTF 0
#define PHP_BROKEN_SPRINTF 0
#define PHP_BROKEN_SNPRINTF 1
#define PHP_BROKEN_SNPRINTF 1
#define ZEND_BROKEN_SPRINTF 0
#if ZEND_BROKEN_SPRINTF
Previous Comments:
------------------------------------------------------------------------
[2002-11-21 17:10:38] sniper@php.net
No feedback was provided. The bug is being suspended because
we assume that you are no longer experiencing the problem.
If this is not the case and you are able to provide the
information that was requested earlier, please do so and
change the status of the bug back to "Open". Thank you.
------------------------------------------------------------------------
[2002-11-07 19:03:32] sniper@php.net
Please try using this CVS snapshot:
http://snaps.php.net/php4-latest.tar.gz
For Windows:
http://snaps.php.net/win32/php4-win32-latest.zip
And use --disable-cgi to only build the CLI sapi.
Also add the output of this command here:
# grep PRINTF main/php_config.h
------------------------------------------------------------------------
[2002-11-05 06:08:29] michael.ring@t-mobile.de
Here's my configure line:
./configure --prefix=/appl/local/OpenSource/3.1/usr
--exec-prefix=/appl/local/OpenSource/3.1/usr
--bindir=/appl/local/OpenSource/3.1/usr/bin --
sbindir=/appl/local/OpenSource/3.1/usr/sbin
--sysconfdir=/appl/local/OpenSource/3.1/etc
--datadir=/appl/local/OpenSource/3.1/usr/share --includedi
r=/appl/local/OpenSource/3.1/usr/include
--libdir=/appl/local/OpenSource/3.1/usr/lib
--libexecdir=/appl/local/OpenSource/3.1/usr/libexec --localst
atedir=/appl/local/OpenSource/3.1/var
--sharedstatedir=/appl/local/OpenSource/3.1/usr/com
--mandir=/appl/local/OpenSource/3.1/usr/man --infodir=/a
ppl/local/OpenSource/3.1/usr/info --enable-force-cgi-redirect
--enable-discard-path --enable-track-vars --with-layout=GNU
--with-openssl=/appl/loc
al/OpenSource/3.1/usr --with-gdbm=/appl/local/OpenSource/3.1/usr
--with-oci8
Here's the error-output:
/bin/ksh libtool --silent --mode=link gcc -export-dynamic -O2 -mieee
-L/appl/local/OpenSource/3.1/usr/lib -L/appl/local/oracle/8.1.7/lib -R
/appl/local/OpenSource/3.1/usr/lib -R /appl/local/oracle/8.1.7/lib
ext/ctype/ctype.lo ext/dba/dba.lo ext/dba/dba_cdb.lo ext/dba/dba_db2.lo
ext/dba/dba_dbm.lo ext/dba/dba_gdbm.lo ext/dba/dba_ndbm.lo
ext/dba/dba_db3.lo ext/mbstring/mbfilter_ja.lo
ext/mbstring/mbfilter_cn.lo ext/mbstring/mbfilter_tw.lo
ext/mbstring/mbfilter_kr.lo ext/mbstring/mbfilter_ru.lo
ext/mbstring/mbfilter.lo ext/mbstring/mbstring.lo
ext/mbstring/mbregex.lo ext/mbstring/php_mbregex.lo
ext/mbstring/html_entities.lo ext/mbstring/php_unicode.lo
ext/mysql/php_mysql.lo ext/mysql/libmysql/libmysql.lo
ext/mysql/libmysql/errmsg.lo ext/mysql/libmysql/net.lo
ext/mysql/libmysql/violite.lo ext/mysql/libmysql/password.lo
ext/mysql/libmysql/my_init.lo ext/mysql/libmysql/my_lib.lo
ext/mysql/libmysql/my_static.lo ext/mysql/libmysql/my_malloc.lo
ext/mysql/libmysql/my_realloc.lo ext/mysql/libmysql/my_create.lo
ext/mysql/libmysql/my_delete.lo ext/mysql/libmysql/my_tempnam.lo
ext/mysql/libmysql/my_open.lo ext/mysql/libmysql/mf_casecnv.lo
ext/mysql/libmysql/my_read.lo ext/mysql/libmysql/my_write.lo
ext/mysql/libmysql/errors.lo ext/mysql/libmysql/my_error.lo
ext/mysql/libmysql/my_getwd.lo ext/mysql/libmysql/my_div.lo
ext/mysql/libmysql/mf_pack.lo ext/mysql/libmysql/my_messnc.lo
ext/mysql/libmysql/mf_dirname.lo ext/mysql/libmysql/mf_fn_ext.lo
ext/mysql/libmysql/mf_wcomp.lo ext/mysql/libmysql/typelib.lo
ext/mysql/libmysql/safemalloc.lo ext/mysql/libmysql/my_alloc.lo
ext/mysql/libmysql/mf_format.lo ext/mysql/libmysql/mf_path.lo
ext/mysql/libmysql/mf_unixpath.lo ext/mysql/libmysql/my_fopen.lo
ext/mysql/libmysql/mf_loadpath.lo ext/mysql/libmysql/my_pthread.lo
ext/mysql/libmysql/my_thr_init.lo ext/mysql/libmysql/thr_mutex.lo
ext/mysql/libmysql/mulalloc.lo ext/mysql/libmysql/string.lo
ext/mysql/libmysql/default.lo ext/mysql/libmysql/my_compress.lo
ext/mysql/libmysql/array.lo ext/mysql/libmysql/my_once.lo
ext/mysql/libmysql/list.lo ext/mysql/libmysql/my_net.lo
ext/mysql/libmysql/dbug.lo ext/mysql/libmysql/strmov.lo
ext/mysql/libmysql/strxmov.lo ext/mysql/libmysql/strnmov.lo
ext/mysql/libmysql/strmake.lo ext/mysql/libmysql/strend.lo
ext/mysql/libmysql/strfill.lo ext/mysql/libmysql/is_prefix.lo
ext/mysql/libmysql/int2str.lo ext/mysql/libmysql/str2int.lo
ext/mysql/libmysql/strinstr.lo ext/mysql/libmysql/strcont.lo
ext/mysql/libmysql/strcend.lo ext/mysql/libmysql/bchange.lo
ext/mysql/libmysql/bmove.lo ext/mysql/libmysql/bmove_upp.lo
ext/mysql/libmysql/longlong2str.lo ext/mysql/libmysql/strtoull.lo
ext/mysql/libmysql/strtoll.lo ext/mysql/libmysql/charset.lo
ext/mysql/libmysql/ctype.lo ext/oci8/oci8.lo ext/openssl/openssl.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 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 regex/regcomp.lo
regex/regexec.lo regex/regerror.lo regex/regfree.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_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/cgi/cgi_main.lo sapi/cgi/getopt.lo
main/internal_functions.lo -lgdbm -lssl -lcrypto -lm -lexc -lmld -lrt
-laio_raw -lm -lclntsh -locijdbc8 -o sapi/cgi/php-cgi
snprintf
collect2: ld returned 1 exit status
make: *** [sapi/cgi/php-cgi] Error 1
error: Bad exit status from /var/tmp/gnusupp/rpm-tmp.3543 (%build)
and here's the patch:
--- php-4.3.0pre2/Zend/zend.h.old Tue Nov 5 12:10:57 2002
+++ php-4.3.0pre2/Zend/zend.h Tue Nov 5 11:48:14 2002
@@ -33,6 +33,7 @@
#endif
#include <stdio.h>
+#include <main/snprintf.h>
/*
* general definitions
------------------------------------------------------------------------
[2002-11-05 05:43:38] nicos@php.net
Can you please add the error logs?
------------------------------------------------------------------------
[2002-11-05 05:18:50] michael.ring@t-mobile.de
php does not link on OSF1 V4.0d
Linker reports unresolved symbol snprintf
This can be fixed by adding
#include <main/snprintf.h> to Zend/zend.h
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=20256&edit=1