Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:294 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 67502 invoked from network); 26 Mar 2003 08:33:47 -0000 Received: from unknown (HELO mailout08.sul.t-online.com) (194.25.134.20) by pb1.pair.com with SMTP; 26 Mar 2003 08:33:47 -0000 Received: from fwd02.sul.t-online.de by mailout08.sul.t-online.com with smtp id 18y6Lx-0000iV-09; Wed, 26 Mar 2003 09:33:45 +0100 Received: from vega.thetaphi.de (320003461825-0001@[80.132.107.238]) by fmrl02.sul.t-online.com with esmtp id 18y6Lo-1aJG52C; Wed, 26 Mar 2003 09:33:36 +0100 Message-ID: <5.2.0.9.0.20030326093330.032315b8@pop3.web.de> X-Mailer: QUALCOMM Windows Eudora Version 5.2.0.9 Date: Wed, 26 Mar 2003 09:33:35 +0100 To: internals@lists.php.net Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; format=flowed X-Sender: 320003461825-0001@t-dialin.net Subject: Re: [PHP-DEV] Core Dudes: Critical #20274 needs your input From: uwe@thetaphi.de (Uwe Schindler) The problem is: sfio seems not to be compatible with Solaris 9. The error comes from: #include in floatingpoint.h. This contains only the definition of FILE*... But stdio-tag.tag is not included into the sfio package, so both definitions are different and the compiler do not like it. I fixed this by creating a sfio-tag.h file in the sfio-include which only contains the inclusion of stdio.h (I think in solaris code the stdio-tag.h file is only for speedup in compiling/preprocessing of the internal .h files. For me it worked then better until a next problem occurs: under solaris 9 the ranlib tool does not seem to work, so i have to change the Makefile of sfio to use ar with a parameter instead of it. Because the .a file it produces does not contain symbol information and linking with the sfio-mt.a does not work and shows only missing symbols :( All this is a problem and is not on the PHP side so this is no solution until the sfio package is solaris 9 compatible. Uwe At 19:26 25.03.2003 -0600, you wrote: >The PHP folks would have to look at this.... > >Looks like redefinition issue, and something I don't know about. > >On the Apache stuff, It just worked..... (this was in 98-99, though). > >LER > > >--On Wednesday, March 26, 2003 01:03:09 +0100 Uwe Schindler > wrote: > >>Was a error in -I directive. But now the following error diplays: >> >>bash-2.05$ CC=cc CFLAGS="-I/pangaea/install/sfio/include" ./configure >>--prefix=/pangaea/PHP4 --with-nsapi=/pangaea/webserver >>--with-sybase-ct=$SYBASE --without-mysql ... >> >>bash-2.05$ make >>/bin/sh /pangaea/install/php4-STABLE-200303210030/libtool --silent >>--preserve-dup-deps --mode=compile >>/pangaea/install/php4-STABLE-200303210030/meta_ccld -Iext/ctype/ >>-I/pangaea/install/php4-STABLE-200303210030/ext/ctype/ -DPHP_ATOM_INC >>-I/pangaea/install/php4-STABLE-200303210030/include >>-I/pangaea/install/php4-STABLE-200303210030/main >>-I/pangaea/install/php4-STABLE-200303210030 >>-I/pangaea/webserver/plugins/include >>-I/pangaea/install/php4-STABLE-200303210030/Zend >>-I/pangaea/install/php4-STABLE-200303210030/ext/xml/expat >>-D_POSIX_PTHREAD_SEMANTICS -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT >>-I/pangaea/install/php4-STABLE-200303210030/TSRM >>-I/pangaea/install/sfio/include -mt -DZTS -prefer-pic -c >>/pangaea/install/php4-STABLE-200303210030/ext/ctype/ctype.c -o >>ext/ctype/ctype.lo "/usr/include/floatingpoint.h", line 41: identifier >>redeclared: Sfio_t current : struct __FILE {} >> previous: struct _sfio_s {pointer to unsigned char next, pointer >>to unsigned char _endw, pointer to unsigned char _endr, pointer to >>unsigned char endb, pointer to struct _sfio_s {..} _push, unsigned short >>_flags, short _file, pointer to unsigned char data, int _size, int _val, >>long long extent, long long here, unsigned char getr, array[1] of >>unsigned char tiny, unsigned short bits, unsigned int mode, pointer to >>struct _sfdisc_s {..} disc, pointer to struct _sfpool_s {..} pool, >>pointer to struct _sfrsrv_s {..} rsrv, pointer to struct _sfproc_s {..} >>proc, pointer to void mutex, pointer to void stdio, long long lpos, >>unsigned int iosz, array[2] of pointer to void fill} : >>"/pangaea/install/sfio/include/sfio.h", line 29 >>"/pangaea/install/php4-STABLE-200303210030/main/snprintf.h", line 67: >>warning: macro redefined: snprintf cc: acomp failed for >>/pangaea/install/php4-STABLE-200303210030/ext/ctype/ctype.c *** Error >>code 1 >>make: Fatal error: Command failed for target `ext/ctype/ctype.lo' >>bash-2.05$ >> >>How do you handle that in you apache some time ago....? >> >>At 00:27 26.03.2003 +0100, you wrote: >>>I tried to compile PHP with sfio but I failed because under solaris: >>> >>>* linking together with compatiblity libstdio-mt.a (-lstdio-mt) does not >>>work because this works not for .so files. The linking to libc is not >>>overwritten. If you compile a whole program with it, it works (the init >>>code of libstdio-mt.a unlinks all references to libc). But >>>SunONE/iPlanet servers are not available in sourcecode so you cannot >>>recompile the main code. >>> >>>* To compile with sfio that it works you have to include everywhere the >>>special version of "stdio.h" (not with <>...). So we need a #define and >>>we should include it to php-config.h and remove all occurences of >>>#include from code... and link to "libsfio.a". But this did >>>not work, if I include CFLAGS=... before the ./configure it appends the >>>-I at the end of all includes and will not use the special version of >>>stdio.h I think the problem is the <> around the standard includes, >>>they have to be ""... >>> >>>* If I do it really hard by: CC="gcc -nostdinc -I/../sfio/include >>>-I/usr/include" ./configure (to get the right search order) >>>The compiler claims about some redefinitions and stops somewhere in >>>pthread.h :( >>> >>>Larry: Do you know how I could do this? >>> >>>Uwe >>> >>>At 05:58 25.03.2003 -0600, you wrote: >>> >>> >>>>--On Tuesday, March 25, 2003 11:57:04 +0000 Wez Furlong >>>> wrote: >>>> >>>>>http://www.research.att.com/sw/tools/sfio/ ? >>>>yep. >>>>> >>>>>This sounds like a reasonable fix; we would need to add a configure >>>>>check for this. (Although CFLAGS=-I/path/to/sfio/includes ./configure >>>>>should also work). >>>>> >>>>>Uwe, could you try this out? >>>>> >>>>>Thanks for the suggestion Larry :) >>>>My pleasure. >>>> >>>>when I was at a Solaris ISP, I used it for my Apache, and it worked >>>>great. >>>> >>>>LER >>>> >>>>> >>>>>--Wez. >>>>> >>>>>On Tue, 25 Mar 2003, Larry Rosenman wrote: >>>>>>There is an AT&T SFIO package that is a drop in replacement stdio >>>>>>package that fixes >>>>>>this for solaris. >>>> >>>> >>>> >>>>-- >>>>Larry Rosenman http://www.lerctr.org/~ler >>>>Phone: +1 972-414-9812 E-Mail: ler@lerctr.org >>>>US Mail: 1905 Steamboat Springs Drive, Garland, TX 75044-6749 >>>----- >>>Uwe Schindler >>>Addr 1: Bamberger Str. 24a, D-96049 Bamberg >>>Addr 2: Drausnickstr. 153, D-91052 Erlangen >>>http://www.thetaphi.de - http:///www.schindlers-software.de >>>eMails: uwe@thetaphi.de (private); info@schindlers-software.de (company) >>>Tel./Fax: +49 700 PCLATEIN (+49 700 72528346) >>> >>>Schindlers Software - Home of Schindlers PC-LATEIN 3.10 >>>DIE Software zum Lateinlernen! >> >>----- >>Uwe Schindler >>Addr 1: Bamberger Str. 24a, D-96049 Bamberg >>Addr 2: Drausnickstr. 153, D-91052 Erlangen >>http://www.thetaphi.de - http:///www.schindlers-software.de >>eMails: uwe@thetaphi.de (private); info@schindlers-software.de (company) >>Tel./Fax: +49 700 PCLATEIN (+49 700 72528346) >> >>Schindlers Software - Home of Schindlers PC-LATEIN 3.10 >>DIE Software zum Lateinlernen! > > > >-- >Larry Rosenman http://www.lerctr.org/~ler >Phone: +1 972-414-9812 E-Mail: ler@lerctr.org >US Mail: 1905 Steamboat Springs Drive, Garland, TX 75044-6749 > ----- Uwe Schindler Addr 1: Bamberger Str. 24a, D-96049 Bamberg Addr 2: Drausnickstr. 153, D-91052 Erlangen http://www.thetaphi.de - http:///www.schindlers-software.de eMails: uwe@thetaphi.de (private); info@schindlers-software.de (company) Tel./Fax: +49 700 PCLATEIN (+49 700 72528346) Schindlers Software - Home of Schindlers PC-LATEIN 3.10 DIE Software zum Lateinlernen!