php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #8814 Undefined Versioned Symbol
Submitted: 2001-01-19 21:11 UTC Modified: 2001-03-10 22:49 UTC
From: mark at arcabama dot com Assigned:
Status: Closed Package: Compile Failure
PHP Version: 4.0.4 OS: Linux 2.2.5
Private report: No CVE-ID: None
 [2001-01-19 21:11 UTC] mark at arcabama dot com
I have previously reported a problem with php-4.0.4 failing to compile, aborting with an undefined versioned symbol error (on __ns_name_unpack@@GLIBC_2.1).

This problem has been reported here several times, and on all occassions the development team has responded with "this isn't a php problem" feedback. Which is, of course, not very helpful to those people trying to get php to compile.

In my case I was finally able to get php to compile by moving all of the resolver libraries out of /usr/lib. Why this should have been necessary I do not know; all I know is that moving:

libresolv.a
libresolv_p.a
libresolv.so (symlinked to /lib/libresolv.so.2)

out of /usr/lib allowed php to compile.

The relevant section of the config.log file seems to be:
===========================
configure:5046: checking for inet_aton in -lbind
configure:5065: gcc -o conftest -g -O2  -DLINUX=2 -DUSE_HSREGEX -DUSE_EXPAT -DNO_DL_NEEDED  conftes$

configure:5103: checking for inet_aton in -lresolv
configure:5122: gcc -o conftest -g -O2  -DLINUX=2 -DUSE_HSREGEX -DUSE_EXPAT -DNO_DL_NEEDED  conftes$
/usr/i586-pc-linux-gnu/bin/ld: cannot find -lresolv
collect2: ld returned 1 exit status
configure: failed program was:
#line 5111 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error.  */
/* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
char inet_aton();

int main() {
inet_aton()
; return 0; }
===========================

Apparently, configure looks for inet_aton in -lbind and -lresolv, and when it finds them in both, gets confused. Preventing it from finding the -lresolv libraries solves the problem.

I think. I'll be sure when I get my site to work (i.e., I'm wondering if php compiled, but perhaps isn't functional, and is screwing up httpd).

In any event, I think this qualifies as an issue to either fix in the configure script, or post a warning about in the INSTALL file.

And I hope to Ghu that no one else has to deal with this ridiculously obscure problem!

- Mark

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2001-03-10 22:49 UTC] sniper@php.net
Fixed in CVS. Thank you for pointing me to the right
direction! 

--Jani

 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Fri Apr 19 15:01:28 2024 UTC