From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: <3E4AB2B4.4030002@ameritech.net> From: northern snowfall User-Agent: Mozilla/5.0 (X11; U; SunOS sun4u; en-US; rv:0.9.4.1) Gecko/20020518 Netscape6/6.2.3 MIME-Version: 1.0 To: Russ Cox Cc: 9fans@cse.psu.edu Subject: Re: [9fans] plan 9 software for unix References: Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Date: Wed, 12 Feb 2003 15:46:44 -0500 Topicbox-Message-UUID: 59c2eac0-eacb-11e9-9e20-41e7f4b1d025 libbio compiles a.o.k. on SunOS-sun4u with the Linux makefile (using GCC. I dont have a spro licence). libregexp9-10 compiles fine. With libfmt I get a warning: gcc -Wall -Wno-missing-braces -Wno-parentheses -Wno-switch -O2 -g -c fltfmt.c fltfmt.c: In function `xdodtoa': fltfmt.c:180: warning: implicit declaration of function `isinf' which manifests later when linking: blueberry.north_ % make test gcc -o test test.c libfmt.a Undefined first referenced symbol in file isinf libfmt.a(fltfmt.o) ld: fatal: Symbol referencing errors. No output written to test collect2: ld returned 1 exit status make: *** [test] Error 1 blueberry.north_ % Apparently Solaris 2.9 doesn't have isinf in its libc. It does, however, have isnan() and finite(). finite() returns TRUE(1) if the argument is neither infinity nor NaN. isnan() returns TRUE if the argument is NaN. Therefore, if(finite(x) == FALSE && isnan(x) == FALSE) { // infinite found } I guess you could ifdef a macro in based on underlying architecture in the source and -Dx in the Makefile, but, it seems very non-plan9 to be so crude for just one function. Then again, creating an external dependency file seems crude for one function as well... Don