EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  <20072008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  <20072008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: EPICS on Mac OS X 10.5
From: Eric Norum <[email protected]>
To: Andrew Johnson <[email protected]>
Cc: EPICS tech-talk <[email protected]>
Date: Mon, 5 Nov 2007 07:17:35 -0600
Just adding the prototype is likely to just postpone the problem till link time (undefined symbol finite). I think that it would be better to use the standard routine instead:
1) Find all references to finite and change them to isfinite.
2) For systems which provide finite() rather than isfinite(), add a macro to <os>/epicsMath.h defining the latter as the former.


On Nov 4, 2007, at 5:46 PM, Noboru Yamamoto wrote:

Hi,

On MacOSX 10.5, finite() is declared
extern int finite ( double );                   /* Legacy API: please
use C99 isfinite() instead. */

but not
extern "C" int finite(double);

This seems causing the error shown by Biritz-san.

1) replace call to finite with call to isfinite.
or
2) add
extern "C" int finite(double);

in somewhere in epicsCalcTest.cpp.

eliminates the error message.

Bertrand H.J. Biritz wrote:
Dear Tech-Talk,

so I am one of those Mac fanboys (at least when it comes to the OS) who
installed OS X 10.5 (Leopard) as soon as it came out.


Naturally EPICS will not compile on it - would have been surprised if it
had. I get the following error message:


../epicsCalcTest.cpp: In function 'double doCalc(const char*)':
../epicsCalcTest.cpp:31: error: 'finite' was not declared in this scope
../epicsCalcTest.cpp: In function 'void testCalc(const char*, double)':
../epicsCalcTest.cpp:51: error: 'finite' was not declared in this scope
../epicsCalcTest.cpp:55: error: 'finite' was not declared in this scope
../epicsCalcTest.cpp: In function 'int main(int, char**)':
../epicsCalcTest.cpp:170: error: 'finite' was not declared in this scope
make[3]: *** [epicsCalcTest.o] Error 1
make[2]: *** [install.darwin-ppc] Error 2
make[1]: *** [libCom/test.install] Error 2
make: *** [src.install] Error 2


Did I miss something in the installation instructions?

This is with base-3.14.9 on a PPC.

Thanks,
Bertrand

my environment:


Mac OSX10.5 running on MacBook(1st generation).
Xcode 3.0
EPICS R3.14.9 base

Regards,

Noboru
<noboru.yamamoto.vcf>

-- Eric Norum <[email protected]> Advanced Photon Source Argonne National Laboratory (630) 252-4793



Replies:
Re: EPICS on Mac OS X 10.5 Noboru Yamamoto
References:
EPICS on Mac OS X 10.5 Bertrand H.J. Biritz
Re: EPICS on Mac OS X 10.5 Noboru Yamamoto

Navigate by Date:
Prev: Re: EPICS on Mac OS X 10.5 Noboru Yamamoto
Next: Re: EPICS on Mac OS X 10.5 Bertrand H.J. Biritz
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  <20072008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: EPICS on Mac OS X 10.5 Noboru Yamamoto
Next: Re: EPICS on Mac OS X 10.5 Noboru Yamamoto
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  <20072008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 10 Nov 2011 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·