[Insight-users] RE: XCode 2.4 and isnan

Gaëtan Lehmann gaetan.lehmann at jouy.inra.fr
Sun Aug 27 05:51:50 EDT 2006


Hi Karthik,

To solve the problem, I dropped the test and used "#define isnan(x)  
std::isnan(x)", as proposed below.
Everything seems to work fine :-)

Don't you think that's a better solution ?

Thanks,

Gaetan


Le Sun, 27 Aug 2006 01:20:54 +0200, Karthik Krishnan  
<Karthik.Krishnan at kitware.com> a écrit:

> Thanks Gaetan,
>
> Funny mistake. The error message was placed the wrong side of the IF  
> statement. Its fixed and sorry about that.
>
> http://www.itk.org/cgi-bin/viewcvs.cgi/Utilities/vxl/config/cmake/config/CMakeLists.txt?root=Insight&r1=1.10&r2=1.11
>
> -karthik
>
>
> Gaëtan Lehmann wrote:
>>
>> Hi,
>>
>> I'm still with the previous xcode (2.3), and can't build ITK cvs  
>> anymore. I get the error message:
>>
>>  CMake Error: Error in cmake code at
>>  /Users/glehmann/src/Insight/Utilities/vxl/config/cmake/config/CMakeLists.txt:123:  
>>  MESSAGE Neither the __isnand nor the __inline_isnand functions are  
>> available !
>>  Current CMake stack:  
>> /Users/glehmann/src/Insight/Utilities/vxl/config/cmake/config/CMakeLists.txt  
>> The easy solution is to upgrade xcode, but other will surely have the  
>> same problem, so it seems better to fix :-)
>>
>> Gaetan
>>
>>
>> Le Fri, 25 Aug 2006 16:42:43 +0200, Bradley Lowekamp  
>> <blowekamp at mail.nih.gov> a écrit:
>>
>>> Sweet.
>>>
>>> However, I think Hans Johnson suggestion is good. This current test
>>> checks internal symbols exist, this seems like very bad practice to
>>> me. I checked and:
>>>
>>> #define isnan(x) std::isnan(x)
>>>
>>> builds. I think this would be a better solution and will likely not
>>> break again in the future. I am suggesting changing/adding at test
>>> for std::isnan.
>>>
>>> Thanks,
>>> Brad
>>>
>>> On Aug 25, 2006, at 3:41 AM, Karthik Krishnan wrote:
>>>
>>>> Hello,
>>>>
>>>> A TRY_COMPILE has been added to check for the existance of __isnand
>>>> and __inline_isnand. Please update your CVS and let us know if it
>>>> works for you.
>>>>
>>>> http://www.itk.org/cgi-bin/viewcvs.cgi/Utilities/vxl/core/
>>>> vxl_config.h.in?root=Insight&r1=1.5&r2=1.6
>>>> http://www.itk.org/cgi-bin/viewcvs.cgi/Utilities/vxl/config/cmake/
>>>> config/vxl_platform_tests.cxx?root=Insight&r1=1.7&r2=1.8
>>>> http://www.itk.org/cgi-bin/viewcvs.cgi/Utilities/vxl/config/cmake/
>>>> config/CMakeLists.txt?root=Insight&r1=1.9&r2=1.10
>>>> http://www.itk.org/cgi-bin/viewcvs.cgi/Utilities/vxl/core/vnl/
>>>> vnl_math.cxx?root=Insight&r1=1.12&r2=1.13
>>>>
>>>> Thanks
>>>> -karthik
>>>>
>>>>
>>>> Hans Johnson wrote:
>>>>> Hello All,
>>>>>
>>>>> I just wanted to add some more information.  I got similar results by
>>>>> replacing the same line with :
>>>>>
>>>>> using std::isnan;
>>>>>
>>>>> Hans
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On 8/16/06 11:30 AM, "Remo Mueller" <remo.mueller at case.edu> wrote:
>>>>>
>>>>>
>>>>>> I'm currently working on MacOSX 10.4.7 with Xcode 2.4 installed, and
>>>>>> I'm compiling the code using gcc version 4.0.1 (Apple Computer, Inc.
>>>>>> build 5363), using CMake 2.4.3.
>>>>>>
>>>>>> I ran into the same problem of isnan not being defined in
>>>>>> vnl_math.cxx, which is located under Utilities/vxl/core/vnl/
>>>>>>
>>>>>> I finally got ITK to compile by changing line 66 in vnl_math.cxx
>>>>>> from:
>>>>>>
>>>>>> #define isnan(x) __isnand((double)x)
>>>>>>
>>>>>> to
>>>>>>
>>>>>> #define isnan(x) __inline_isnand((double)x)
>>>>>>
>>>>>> This line is defined in the #if defined (__APPLE__) code block.
>>>>>>
>>>>>> I'm not sure if this is correct, but it seems to fix the problem.
>>>>>> This problem exists in ITK 2.8.1 and the current version of CVS.
>>>>>> Can
>>>>>> someone who's more knowledgeable about the inner workings of ITK
>>>>>> verify if this fixes the original problem? Thanks
>>>>>>
>>>>>> I hope this helps,
>>>>>> Remo Mueller
>>>>>>
>>>>>> Case Western Reserve University
>>>>>> Computer Science BS/MS Program
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>> This is regarding the following build errors:
>>>>>>>
>>>>>>> http://www.itk.org/Testing/Sites/eno/Darwin-Xcode2.4-rel/
>>>>>>> 20060811-0100-Nightly/BuildError.html
>>>>>>>
>>>>>>> Last week a new version of Xcode was release. It seems to mostly
>>>>>>> work
>>>>>>> with ITK and CMake. However, there was a minor change to the isnan.
>>>>>>> The internal symbol __isnand is no longer used in the isnan macro,
>>>>>>> instead the marco reference __inline__isnan[fd]? inlined
>>>>>>> function is
>>>>>>> used. I was not able to figure what was going on in this header
>>>>>>> file
>>>>>>> and why the isnan macro would not work.
>>>>>>>
>>>>>>> I also suspect that this same problem will occur with a unix make
>>>>>>> file since it it a change to a system header file.
>>>>>>>
>>>>>>> Thanks,
>>>>>>> Brad
>>>>>>>
>>>>>>> ========================================================
>>>>>>> Bradley Lowekamp
>>>>>>> Management Systems Designers Contractor for
>>>>>>> Office of High Performance Computing and Communications
>>>>>>> National Library of Medicine
>>>>>>> blowekamp at mail.nih.gov
>>>>>>>
>>>>>>>
>>>>>> _______________________________________________
>>>>>> Insight-users mailing list
>>>>>> Insight-users at itk.org
>>>>>> http://www.itk.org/mailman/listinfo/insight-users
>>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Insight-users mailing list
>>>>> Insight-users at itk.org
>>>>> http://www.itk.org/mailman/listinfo/insight-users
>>>>>
>>>>>
>>>
>>> ========================================================
>>> Bradley Lowekamp
>>> Management Systems Designers Contractor for
>>> Office of High Performance Computing and Communications
>>> National Library of Medicine
>>> blowekamp at mail.nih.gov
>>>
>>
>>
>>
>> --Gaëtan Lehmann
>> Biologie du Développement et de la Reproduction
>> INRA de Jouy-en-Josas (France)
>> tel: +33 1 34 65 29 66    fax: 01 34 65 29 09
>> http://voxel.jouy.inra.fr
>> _______________________________________________
>> Insight-users mailing list
>> Insight-users at itk.org
>> http://www.itk.org/mailman/listinfo/insight-users
>>
>



-- 
Gaëtan Lehmann
Biologie du Développement et de la Reproduction
INRA de Jouy-en-Josas (France)
tel: +33 1 34 65 29 66    fax: 01 34 65 29 09
http://voxel.jouy.inra.fr


More information about the Insight-users mailing list