[uClibc]Apache-1.3.24 with uclibc-0.9.11 successful but adding php-4.2.1 have error messages !
Sander Klein
s.klein at quicknet.nl
Thu Jul 4 20:34:27 UTC 2002
Hi,
I'm curious, what was the size of the apache binaries?
Sander
On Fri, 2002-07-05 at 12:30, phamhuyvu-tlnet wrote:
> ----- Original Message -----
> From: "Erik Andersen"
> To: "phamhuyvu-tlnet"
> Cc: <>
> Sent: Wednesday, July 03, 2002 2:30 PM
> Subject: Re: [uClibc]Apache-1.3.24 with uclibc-0.9.11 error message !
>
>
> > On Thu Jul 04, 2002 at 03:31:05AM -0700, phamhuyvu-tlnet wrote:
> > > Hi all,
> > > I use uclibc-0.9.11 to make Apache-1.3.24.And having this error message.
> > > While building httpd have errors when link to libmain.a (in http_main.o:
> > > undefined reference to `_sys_siglist')
> > > although libmain.a is made successful
> >
> > Currently we are only providing 'sys_siglist', not
> > '_sys_siglist'. Its easy enough to add a weak alias
> > so either name will work. Try again with the latest
> > from CVS?
> >
> > -Erik
> >
> > --
> > Erik B. Andersen
> > --This message was written using 73% post-consumer electrons--
> >
>
> Hi Erik,
> I have successfully made apache+xml using uclibc-0.9.11 by defining
> SYS_SIGLIST to another value.
> But when I made php-4.2.1 have some errors because uClibc don't support
> libnsl.a and libsocket.a ...
> Error messages are below.
> Does anyone help me answer 2 questions:
> 1) Do I need making libnsl.a again ( ofcourse by uclibc) to solve Error A ?
> Do I overcome Error 1 by setting SIZEOF[CHAR,INT,LONG,LONG_LONG] manually
> in
> "php-4.2.1/main/php_config.h" file is true way ?
> 2) I think that Error B appear because php use REENTRANCE
> ( source in "php-4.2.1/main/reentrancy.c file)
> stand by TSRM ( Thread Safe Resource Manager) using POSIX.
> Is it ok ? Can I use LinuxThread in uClibc ( ofcourse support TSRM)?
>
> Please give me a hand !
> Thanks.
> --------
> Error A:
> --------
> Making all in main
> make[1]: Entering directory
> `/home/users/huyvu/projects/source/php-4.2.1/main'
> make[2]: Entering directory
> `/home/users/huyvu/projects/source/php-4.2.1/main'
> gcc -I. -I/home/users/huyvu/projects/source/php/main \
> -I/home/users/huyvu/projects/source/php/main \
> -I/home/users/huyvu/projects/source/php \
> -I/home/users/huyvu/projects/source/apache/src/include \
> -I/home/users/huyvu/projects/source/apache/src/os/unix \
> -I/home/users/huyvu/projects/source/php/Zend \
> -I/home/users/huyvu/projects/source/php/ext/mysql/libmysql \
> -I/home/users/huyvu/projects/source/php/ext/xml/expat \
> -I/home/users/huyvu/projects/source/php/TSRM \
> -g -O2 -c main.c && touch main.lo
>
> In file included from
> /home/users/huyvu/projects/source/php/ext/standard/php_standard.h:21,
> from main.c:52:
> /home/users/huyvu/projects/source/php/ext/standard/basic_functions.h:121:2:
> #error Need type which holds 32 bits
> make[2]: *** [main.lo] Error 1
> make[1]: *** [all-recursive] Error 1
> make: *** [all-recursive] Error 1
>
> -------------------------------------------------------
> Explaining:
> -----------
> In "basic_functions.h" file
> ...
> #if SIZEOF_INT == 4
> /* Most 32-bit and 64-bit systems have 32-bit ints */
> typedef unsigned int php_uint32;
> typedef signed int php_int32;
> #elif SIZEOF_LONG == 4
> /* 16-bit systems? */
> typedef unsigned long php_uint32;
> typedef signed int php_int32;
> #else
> #error Need type which holds 32 bits
> #endif
> ...
>
> ----------
> Oh my God, my processor is Althon 32 bits.
> ----------
>
> In "configure" file
> ......
> echo $ac_n "checking size of long""... $ac_c" 1>&6
> echo "configure:7269: checking size of long" >&5
> if eval "test \"`echo '$''{'ac_cv_sizeof_long'+set}'`\" = set"; then
> echo $ac_n "(cached) $ac_c" 1>&6
> else
> if test "$cross_compiling" = yes; then
> ac_cv_sizeof_long=8
> else
> cat > conftest.$ac_ext <<EOF
> #line 7277 "configure"
> #include "confdefs.h"
> #include <stdio.h>
> main()
> {
> FILE *f=fopen("conftestval", "w");
> if (!f) exit(1);
> fprintf(f, "%d\n", sizeof(long));
> exit(0);
> }
> EOF
> if { (eval echo configure:7288: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }
> && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
> then
> ac_cv_sizeof_long=`cat conftestval`
> else
> echo "configure: failed program was:" >&5
> cat conftest.$ac_ext >&5
> rm -fr conftest*
> ac_cv_sizeof_long=0
> fi
> rm -fr conftest*
> fi
>
> fi
> echo "$ac_t""$ac_cv_sizeof_long" 1>&6
> cat >> confdefs.h <<EOF
> #define SIZEOF_LONG $ac_cv_sizeof_long
> EOF
>
>
> echo $ac_n "checking size of int""... $ac_c" 1>&6
> echo "configure:7308: checking size of int" >&5
> if eval "test \"`echo '$''{'ac_cv_sizeof_int'+set}'`\" = set"; then
> echo $ac_n "(cached) $ac_c" 1>&6
> else
> if test "$cross_compiling" = yes; then
> ac_cv_sizeof_int=4
> else
> cat > conftest.$ac_ext <<EOF
> #line 7316 "configure"
> #include "confdefs.h"
> #include <stdio.h>
> main()
> {
> FILE *f=fopen("conftestval", "w");
> if (!f) exit(1);
> fprintf(f, "%d\n", sizeof(int));
> exit(0);
> }
> EOF
> if { (eval echo configure:7327: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }
> && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
> then
> ac_cv_sizeof_int=`cat conftestval`
> else
> echo "configure: failed program was:" >&5
> cat conftest.$ac_ext >&5
> rm -fr conftest*
> ac_cv_sizeof_int=0
> fi
> rm -fr conftest*
> fi
>
> fi
> echo "$ac_t""$ac_cv_sizeof_int" 1>&6
> cat >> confdefs.h <<EOF
> #define SIZEOF_INT $ac_cv_sizeof_int
> EOF
> ......
>
> ---------
>
> In "config.log" file
> .....
> configure:7269: checking size of long
> configure:7288: gcc -o conftest -g -O2 conftest.c -lresolv -lm -ldl -lnsl
> 1>&5
> /usr/bin/ld: warning: libc.so.6, needed by
> /usr/lib/gcc-lib/i386-redhat-linux/2.96/../../../libnsl.so, may conflict
> with libc.so.0
> configure: failed program was:
> #line 7277 "configure"
> #include "confdefs.h"
> #include <stdio.h>
> main()
> {
> FILE *f=fopen("conftestval", "w");
> if (!f) exit(1);
> fprintf(f, "%d\n", sizeof(long));
> exit(0);
> }
> configure:7308: checking size of int
> configure:7327: gcc -o conftest -g -O2 conftest.c -lresolv -lm -ldl -lnsl
> 1>&5
> /usr/bin/ld: warning: libc.so.6, needed by
> /usr/lib/gcc-lib/i386-redhat-linux/2.96/../../../libnsl.so, may conflict
> with libc.so.0
> configure: failed program was:
> #line 7316 "configure"
> #include "confdefs.h"
> #include <stdio.h>
> main()
> {
> FILE *f=fopen("conftestval", "w");
> if (!f) exit(1);
> fprintf(f, "%d\n", sizeof(int));
> exit(0);
> }
> .....
>
> ----------
> But:
> ----------
> In "Zend/Changelog" file
> ....
> 1999-04-19 stig <stig at pb1.pair.com>
>
> * acconfig.h
> config.h.in
> configure.in: removed -lnsl and -lsocket checks from zend
> ....
>
> -------------------------------------------------------
> I think that uClibc don't support libnsl.a ( nameservice library).
> When checking php source code I discover it is not need anymore but
> it make "configure" set SIZEOF_CHAR;INT;LONG;LONG_LONG = 0 in
> main/php_config.h.
> After that, I set SIZEOF_CHAR,INT,LONG,LONG_LONG manually.
> And modify "configure.in" at two lines
> AC_CHECK_LIB(nsl,gethostbyname...) => AC_CHECK_LIB(gethostbyname,nsl,...)
> AC_CHECK_LIB(nsl,gethostbyaddr...) => AC_CHECK_LIB(gethostbyaddr,nsl,...)
> ----------
> make again ---> pass Error A, appear Error B
>
> -------------------------------------------------------
> Error B:
> --------
> gcc -I. -I/home/users/huyvu/projects/source/php/main -I/home/users/huyvu/pro
> jects/source/php/main -I/home/users/huyvu/projects/source/php -I/home/users/
> huyvu/projects/source/apache/src/include -I/home/users/huyvu/projects/source
> /apache/src/os/unix -I/home/users/huyvu/projects/source/php/Zend -I/home/use
> rs/huyvu/projects/source/php/ext/mysql/libmysql -I/home/users/huyvu/projects
> /source/php/ext/xml/expat -I/home/users/huyvu/projects/source/php/TSRM -g -
> O2 -c reentrancy.c && touch reentrancy.lo
> reentrancy.c: In function `php_readdir_r':
> reentrancy.c:130: too few arguments to function `readdir_r'
> make[2]: *** [reentrancy.lo] Error 1
> make[2]: Leaving directory
> `/home/users/huyvu/projects/source/php-4.2.1/main'
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory
> `/home/users/huyvu/projects/source/php-4.2.1/main'
> make: *** [all-recursive] Error 1
> -------------------------------------------------------
>
>
> _______________________________________________
> uClibc mailing list
> uClibc at uclibc.org
> http://uclibc.org/mailman/listinfo/uclibc
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : http://lists.busybox.net/pipermail/uclibc/attachments/20020704/710dab09/attachment.pgp
More information about the uClibc
mailing list