On Mon, 19 Jan 2009, Mark Taylor wrote:
> > Just a mistake during some cut-and-paste by Tim. I've removed the offending
> > include file, so update and restart.
>
> thanks - that got me a lot further, but I now have en error in SMURF:
>
> libsmf/.libs/libsmf.a(smf_convert_bad.o)(.text+0xb2): In function `smf_convert_bad':
> /mbt/starauto/applications/smurf/libsmf/smf_convert_bad.c:112: undefined reference to `isfinite'
> libsmf/.libs/libsmf.a(smf_templateFit1.o)(.text+0x290): In function `smf_templateFit1D':
> /mbt/starauto/applications/smurf/libsmf/smf_templateFit1.cgen:236: undefined reference to `isnormal'
> libsmf/.libs/libsmf.a(smf_templateFit1.o)(.text+0x8b0): In function `smf_templateFit1F':
> /mbt/starauto/applications/smurf/libsmf/smf_templateFit1.cgen:236: undefined reference to `isnormal'
> libsmf/.libs/libsmf.a(smf_templateFit1.o)(.text+0xe62): In function `smf_templateFit1I':
> /mbt/starauto/applications/smurf/libsmf/smf_templateFit1.cgen:236: undefined reference to `isnormal'
> collect2: ld returned 1 exit status
> make[2]: *** [smurf_mon] Error 1
OK, think I understand now. You need to clean out SMURF and then rebuild
the whole package using "make CFLAGS=-std=c99".
The problem is that isfinite etc. are redefined using macros, so compiling
without c99 on just leaves the compiler thinking these are functions to be
resolved when linking, rather linking against the mangled names...
Question for Tim, is requiring a C99 compiler for SMURF deliberate?
Cheers,
Peter.
|