2008/10/28 Nikos Balkanas <[EMAIL PROTECTED]>: > Hi, > > After looking at it a bit longer, I think I need some help with it. In > Solaris 10.5 the cvs is broken. The build failes in wmlscript/wlexer.c > (1037): > > if (*result == *HUGE_VAL || *result == -(*HUGE_VAL)>.>..>..// NIKOS!! > || ws_ieee754_encode_single(*result, buf) != WS_IEEE754_OK) > ws_src_error(compiler, 0, "floating point literal too large"); > Are these lines really important? We are talking for a 64bit build here (of > course the same lines will affect 32bit builds as well). HUGE_VAL is > undefined in the CVS version: > > Undefined first referenced > symbol in file > __builtin_huge_val libwmlscript.a(wslexer.o) > ld: fatal: Symbol referencing errors. No output written to wmlscript/wmlsc > This is after I commented out the relevant code in wslexer.c and filled in > for a simple printf. Of interest is that in the CVS version HUGE_VAL is a > undefined pointer, whereas in the 1.4.1 version it is a float(correct). > > Source, includes and dependencies are exactly the same: > > gateway-1.4.1/.depend: > wmlscript/wslexer.o: wmlscript/wslexer.c wmlscript/wsint.h ./gw-config.h \ > ./gwlib/gwassert.h ./gwlib/log.h wmlscript/ws.h wmlscript/wsutf8.h \ > wmlscript/wserror.h wmlscript/wsieee754.h wmlscript/wsbuffer.h \ > wmlscript/wsencode.h wmlscript/wsalloc.h wmlscript/wsfalloc.h \ > wmlscript/wsstream.h wmlscript/wshash.h wmlscript/wsbc.h \ > wmlscript/wsstree.h wmlscript/wsasm.h wmlscript/wsopt.h \ > wmlscript/wsstdlib.h wmlscript/wsgram.h > > CVS/.depend: > wmlscript/wslexer.o wmlscript/wslexer.i: wmlscript/wslexer.c \ > wmlscript/wsint.h ./gw-config.h ./gwlib/gwassert.h ./gwlib/log.h \ > wmlscript/ws.h wmlscript/wsutf8.h wmlscript/wserror.h \ > wmlscript/wsieee754.h wmlscript/wsbuffer.h wmlscript/wsencode.h \ > wmlscript/wsalloc.h wmlscript/wsfalloc.h wmlscript/wsstream.h \ > wmlscript/wshash.h wmlscript/wsbc.h wmlscript/wsstree.h \ > wmlscript/wsasm.h wmlscript/wsopt.h wmlscript/wsstdlib.h \ > wmlscript/wsgram.h > Where is wmlscript invoked? I have some issues right now with the client, so > I cannot run a debugger on it. > > Any help would be appreciated. > > Thanks, > Nikos > > ----- Original Message ----- > From: Nikos Balkanas > To: Stipe Tolj > Cc: [email protected] > Sent: Monday, October 27, 2008 9:43 PM > Subject: Re: Problem with CVS source > > Dear Stipe, > > It seems that the problem is not what I first suspected. You see the file > wslexer.c is exactly the same in both cases (gateway-1.4.1 and cvs gateway). > Therefore it is not a HUGE_VAL problem I first suspected. > > This is strange. I am using exactly the same environment, gcc, configuration > as with the gateway-1.4.1 version. Yet make fails on exactly the same file. > I will have to look more into it. Meanwhile if you have seen this before, > pls let me know. > > Nikos > On Mon, Oct 27, 2008 at 9:26 PM, Nikos Balkanas <[EMAIL PROTECTED]> wrote: >> >> Thanks, Stipe, for the fast reply. Please see my comments inlined. >> >> Regards, >> >> Nikos >> >> On Mon, Oct 27, 2008 at 8:10 PM, Stipe Tolj <[EMAIL PROTECTED]> wrote: >>> >>> Nikos Balkanas schrieb: >>> > Hi, >>> > >>> > I am rather new to the list. I tried to download and compile the latest >>> > CVS source and I got the following error: >>> > >>> > gcc -std=gnu99 -D_REENTRANT=1 -I. -Igw -O6 -s -m64 -D_LARGE_FILES= >>> > -I/usr/include/libxml2 -I/usr/local/include -Wall -Wmissing-prototypes >>> > -Wmissing-declarations -Wnested-externs -Winline -Wformat >>> > -Wformat-security -Wmissing-format-attribute -Wall >>> > -I/usr/local/ssl/include -o wmlscript/wslexer.o -c wmlscript/wslexer.c >>> > wmlscript/wslexer.c:222: warning: no previous prototype for 'ws_yy_lex' >>> > wmlscript/wslexer.c: In function `read_float_from_exp': >>> > wmlscript/wslexer.c:1037: error: invalid operands to binary == >>> > wmlscript/wslexer.c:1038: error: wrong type argument to unary minus >>> > make: *** [wmlscript/wslexer.o] Error 1 >>> >>> there is something wrong with your local CVS checkout tree. Make sure you >>> >>> $ make clean >>> $ make >> >> To be sure I rm -rf gateway and restored from CVS again. >> >>> >>> in order to remove any previously build objects. The configure run was >>> clean? >> >> >> Yes. Apart from docbook support which I don't particular care (This is a >> minimal server for security/performance reasons) >> CFLAGS="-O6 -s -m64 -DSunOS" CPPFLAGS="-I/usr/local/ssl/include" >> configure --build=ia64-pc-solaris2.10 --libdir=/usr/local/lib/64 >> --enable-ssl --enable-cookies --enable-debug --enable-warnings --enable-docs >> --mandir=/usr/local/man --with-ssl=/usr/local/ssl --enable-pcre >> >> gateway-1.4.1 compiled with the same configuration with no problems. >> The issue seems to be with HUGE_VAL and Solaris. I don't have a linux in >> front of me to check, but in solaris 10.5 in /usr/include/iso/math_iso.h: >> #define HUGE_VAL __huge_val._d
HUGE_VAL is a standard C feature. And __builtin_huge_val() is a GCC-specific extension for implementing this one. gcc had some troubles with math.h in solaris. Which gcc version are you using? M
