php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #22346 Make fails: more undefined references to errno
Submitted: 2003-02-21 03:14 UTC Modified: 2003-03-25 21:08 UTC
Votes:4
Avg. Score:5.0 ± 0.0
Reproduced:4 of 4 (100.0%)
Same Version:4 (100.0%)
Same OS:3 (75.0%)
From: erwthijs at hotmail dot com Assigned:
Status: Closed Package: MySQL related
PHP Version: 4.3.2-dev OS: Linux Red Hat 8.0
Private report: No CVE-ID: None
 [2003-02-21 03:14 UTC] erwthijs at hotmail dot com
Hi, 

i'm trying to install php-4.3.1 on my Red Hat 8 machine.
I've installed httpd-2.0.44 and Mysql-3.23.54a-4.

The configure script ran fine.

./configure --with-apxs2=/etc/httpd2/bin/apxs --prefix=/etc/httpd2/php --with-mysql

This works fine.

But the 'make' fails. I get the following error.


ext/mysql/libmysql/my_tempnam.lo: In function `my_tempnam':
/usr/src/php4-STABLE-200302210830/ext/mysql/libmysql/my_tempnam.c:103: the use of `tempnam' is dangerous, better use `mkstemp'
ext/mysql/libmysql/my_lib.lo: In function `my_dir':
/usr/src/php4-STABLE-200302210830/ext/mysql/libmysql/my_lib.c:169: undefined reference to `errno'
ext/mysql/libmysql/my_lib.lo: In function `my_stat':
/usr/src/php4-STABLE-200302210830/ext/mysql/libmysql/my_lib.c:588: undefined reference to `errno'
ext/mysql/libmysql/my_malloc.lo: In function `my_malloc':
/usr/src/php4-STABLE-200302210830/ext/mysql/libmysql/my_malloc.c:24: undefined reference to `errno'
ext/mysql/libmysql/my_realloc.lo: In function `my_realloc':
/usr/src/php4-STABLE-200302210830/ext/mysql/libmysql/my_realloc.c:44: undefined reference to `errno'
ext/mysql/libmysql/my_delete.lo: In function `my_delete':
/usr/src/php4-STABLE-200302210830/ext/mysql/libmysql/my_delete.c:16: undefined reference to `errno'
ext/mysql/libmysql/my_tempnam.lo:/usr/src/php4-STABLE-200302210830/ext/mysql/libmysql/my_tempnam.c:108: more undefined references to `errno' follow
collect2: ld returned 1 exit status
make: *** [sapi/cli/php] Error 1

And then it stop.

I've tried downloading the latest stable php-*.tar.gz (php4-STABLE-200302210830).


Is there anyone who can help me with this ?


Thanks in advance.


Kind Regards. 

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2003-02-24 08:29 UTC] sniper@php.net
Unrelated: Did you happen to compile that mysql yourself?
What gcc version do you have?


 [2003-03-09 18:57 UTC] 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.


 [2003-03-21 09:57 UTC] ciano at borgosatollo dot it
(sorry for the other post but I dind't find this one before)
I'm compiling with this configure:
"./configure --enable-calendar --with-zlib --with-bz2 --enable-ftp
--with-ttf --with-mysql --with-mysql-sock --with-pgsql --enable-sockets
--with-apxs2=/usr/local/apache2/bin/apxs" on a mdk9.0 and gcc 3.2.2

/bin/sh libtool --silent --mode=link gcc -export-dynamic -g -O2 
-avoid-version -module   ext/zlib/zlib.lo
ext/zlib/zlib_fopen_wrapper.lo ext/bz2/bz2.lo ext/calendar/calendar.lo
ext/calendar/dow.lo ext/calendar/french.lo ext/calendar/gregor.lo
ext/calendar/jewish.lo ext/calendar/julian.lo ext/calendar/easter.lo
ext/calendar/cal_unix.lo ext/ctype/ctype.lo ext/ftp/php_ftp.lo
ext/ftp/ftp.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/pgsql/pgsql.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/sockets/sockets.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 -lpq -lbz2 -lz -lcrypt -lresolv -lm -ldl
-lnsl -lcrypt  -o sapi/cli/php
ext/mysql/libmysql/my_tempnam.lo(.text+0x4c): In function
`my_tempnam':
/home/lucio/php/php-4.3.1/ext/mysql/libmysql/my_tempnam.c:103: the use
of `tempnam' is dangerous, better use `mkstemp'
ext/mysql/libmysql/my_lib.lo(.text+0x41c): In function `my_dir':
/home/lucio/php/php-4.3.1/ext/mysql/libmysql/my_lib.c:169: undefined
reference to `errno'
ext/mysql/libmysql/my_lib.lo(.text+0x658): In function `my_stat':
/home/lucio/php/php-4.3.1/ext/mysql/libmysql/my_lib.c:588: undefined
reference to `errno'
ext/mysql/libmysql/my_malloc.lo(.text+0xe2): In function `my_malloc':
/home/lucio/php/php-4.3.1/ext/mysql/libmysql/my_malloc.c:24: undefined
reference to `errno'
ext/mysql/libmysql/my_realloc.lo(.text+0xd5): In function
`my_realloc':
/home/lucio/php/php-4.3.1/ext/mysql/libmysql/my_realloc.c:44: undefined
reference to `errno'
ext/mysql/libmysql/my_delete.lo(.text+0x8a): In function `my_delete':
/home/lucio/php/php-4.3.1/ext/mysql/libmysql/my_delete.c:16: undefined
reference to `errno'
ext/mysql/libmysql/my_tempnam.lo(.text+0x85):/home/lucio/php/php-4.3.1/ext/mysql/libmysql/my_tempnam.c:108:
more undefined references to `errno' follow
collect2: ld returned 1 exit status
make: *** [sapi/cli/php] Error 1

this appens even with gcc 2.96

HELP =PP
 [2003-03-21 10:13 UTC] ciano at borgosatollo dot it
Ok, I fixed somehow the problem and got this compiled.
I had to add the "#include <errno.h>" in the follwings files:

php-4.3.1/ext/mysql/libmysql/my_lib.c
php-4.3.1/ext/mysql/libmysql/my_malloc.c
php-4.3.1/ext/mysql/libmysql/my_tempnam.c
php-4.3.1/ext/mysql/libmysql/my_realloc.c
php-4.3.1/ext/mysql/libmysql/my_delete.c
php-4.3.1/ext/mysql/libmysql/my_error.c
php-4.3.1/ext/mysql/libmysql/my_getwd.c
php-4.3.1/ext/mysql/libmysql/my_once.c

This seams to let me get to the end still haveing this warning:
/home/lucio/php/php-4.3.1/ext/mysql/libmysql/my_tempnam.c:104: the use of `tempnam' is dangerous, better use `mkstemp'
but i didn't change the sources further.
 [2003-03-21 12:25 UTC] zak@php.net
Will be fixed as soon as I can get the CVS checkout to build. :) 
 [2003-03-23 09:55 UTC] erik-sourcemage at home dot dot dot nl
Same problem here, also with mysql and some other packaged. Probably caused by the new glibc-2.3.2. No problems when I compile with 2.3.1 glibc but 2.3.2 breaks php as well as mysql.
 [2003-03-25 21:08 UTC] zak@php.net
This bug has been fixed in CVS.

In case this was a PHP problem, 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/.
 
In case this was a documentation problem, the fix will show up soon at
http://www.php.net/manual/.

In case this was a PHP.net website problem, the change will show
up on the PHP.net site and on the mirror sites in short time.
 
Thank you for the report, and for helping us make PHP better.

Ilia got to it before I did. Damn! It was such an easy fix too! :) 
 [2003-05-09 05:22 UTC] isaac dot hopley at no_spam dot morton-fraser dot com
I can confirm that this also applies to SuSE Linux 8.2
with glibc 2.3.2-6
I also had to edit an additional file: 
safemalloc.c

with

#include <errno.h>
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Fri May 03 05:01:29 2024 UTC