Hi
I am building V 4.0 on our SGI Altix system. I am having a linker
error.
A number of packages (e.g. bint, cluster) fail to find the
'isfinite' function when linking.
This function is called from extras/src/cprob/xmath.c
in the wrapper function Xisfinite which is sourcing isfinite from /
usr/include/math.h
However, when I compile xmath.c I get
gcc -Wall -ansi -pedantic -std=gnu99 -O3 -fexpensive-
optimizations -I. -I/home/nkilleen/dmf/software/fsl/4.0/fsl/include
-I/home/nkilleen/dmf/software/fsl/4.0/fsl/include -c -o xmath.o
xmath.c
xmath.c: In function `Xisnan':
xmath.c:3: warning: implicit declaration of function `isnan'
xmath.c: In function `Xisfinite':
xmath.c:4: warning: implicit declaration of function `isfinite'
So the compiler does not appear to be finding the declaration of
isfinite and isnan
I have traced this to the use of the -ansi switch in the compile;
these inline functions apparently
don't exist in the ansi standard.
This must be common to all platforms, not just the Altix (SUSE
Linux). Why is the ansi
switch being invoked when building code that requires non-ansi ?
Should I simply
remove -ansi from systemvars.mk where it is defined centrally;
otherwise I will
have to wrestle with Cmake to try and over-ride it for the cprob
package...
thanks
Neil
|