[Insight-users] IA64 compilation Fails at vxl

Tom Vercauteren tom.vercauteren at gmail.com
Sun Aug 16 13:26:28 EDT 2009


Hi Mike,

There was a logic flaw in the ifdefs of vnl_math.h that would
prevent ITK from building on non x86 and non ppc platforms. This
problem should have been fixed (after the 3.14 release) with the
following patch:
http://www.itk.org/cgi-bin/viewcvs.cgi/Utilities/vxl/core/vnl/vnl_math.h?root=Insight&r1=1.13&r2=1.11&sortby=date

You could try to back-port this patch on the 3.14 branch.

Hope this helps,
Tom

On Sun, Aug 16, 2009 at 17:39, Luis Ibanez<luis.ibanez at kitware.com> wrote:
> Hi Mike,
>
> Thanks for the clarification.
>
> What version of GCC do you have in this SGI ?
> Have you verified the settings of the environment variables CC and CXX ?
> We have several Nightly builds with the ICC compiler, you may want to
> check the ITK Dashboard, to see what versions of ICC are known to work
> with ITK.
>
> Regards,
>
>
>        Luis
>
>
> -----------------------------------------------------------------------------
>
> On Sun, Aug 16, 2009 at 9:44 AM, Mike Jackson <mike.jackson at bluequartz.net>
> wrote:
>>
>> My compiler _is_ GCC. The system may be an SGI but it is running SUSE
>> Linux. I think they have ICC installed on the system so I might be
>> able to try that. Don't usually have good luck with ICC and ITK
>> though.
>> _________________________________________________________
>> Mike Jackson                  mike.jackson at bluequartz.net
>>
>> On Sat, Aug 15, 2009 at 10:21 PM, Luis Ibanez<luis.ibanez at kitware.com>
>> wrote:
>> >
>> > Hi Mike,
>> >
>> > It would seem that the VXL code is assuming that your compiler is
>> > GCC and it trying to compile the Rounding section of code that
>> > corresponds to the option:
>> >
>> >
>> > #elif GCC_USE_FAST_IMPL // Fast gcc asm implementation
>> >
>> > inline int vnl_math_rnd_halfinttoeven(float  x)
>> > {
>> > # ifdef VNL_CHECK_FPU_ROUNDING_MODE
>> >   assert(fegetround()==FE_TONEAREST);
>> > # endif
>> >   int r;
>> >   __asm__ __volatile__ ("fistpl %0" : "=m"(r) : "t"(x) : "st");
>> >   return r;
>> > }
>> > inline int vnl_math_rnd_halfinttoeven(double  x)
>> > {
>> > # ifdef VNL_CHECK_FPU_ROUNDING_MODE
>> >   assert(fegetround()==FE_TONEAREST);
>> > # endif
>> >   int r;
>> >   __asm__ __volatile__ ("fistpl %0" : "=m"(r) : "t"(x) : "st");
>> >   return r;
>> > }
>> >
>> > #elif VC_USE_FAST_IMPL
>> >
>> >
>> >
>> > Did you set your CC and CXX environment variables
>> > before running CMake ?
>> >
>> >
>> > Are you sure that they are pointing to the SGI compiler ?
>> > and to to GCC ?
>> >
>> >
>> >      Luis
>> >
>> >
>> > ----------------------------------------------------------------
>> > On Sat, Aug 15, 2009 at 3:53 PM, Mike Jackson
>> > <mike.jackson at bluequartz.net>
>> > wrote:
>> >>
>> >> I am trying to compile ITK 3.14.0 on an IA64 platform (SGI Altix
>> >> 3500). I get the following error:
>> >>
>> >> [ 86%] Building CXX object
>> >> Code/Numerics/CMakeFiles/ITKNumerics.dir/itkSPSAOptimizer.o
>> >> cd /work1/jacksonm/InsightToolkit-3.14.0/Build/Code/Numerics &&
>> >> /usr/bin/c++    -ftemplate-depth-50 -Wall -Wno-deprecated -O3 -DNDEBUG
>> >> -I/work1/jacksonm/InsightToolkit-3.14.0/Build
>> >> -I/work1/jacksonm/InsightToolkit-3.14.0/Code/Algorithms
>> >> -I/work1/jacksonm/InsightToolkit-3.14.0/Code/BasicFilters
>> >> -I/work1/jacksonm/InsightToolkit-3.14.0/Code/Common
>> >> -I/work1/jacksonm/InsightToolkit-3.14.0/Code/Numerics
>> >> -I/work1/jacksonm/InsightToolkit-3.14.0/Code/IO
>> >> -I/work1/jacksonm/InsightToolkit-3.14.0/Code/Numerics/FEM
>> >> -I/work1/jacksonm/InsightToolkit-3.14.0/Code/Numerics/NeuralNetworks
>> >> -I/work1/jacksonm/InsightToolkit-3.14.0/Code/SpatialObject
>> >> -I/work1/jacksonm/InsightToolkit-3.14.0/Utilities/MetaIO
>> >> -I/work1/jacksonm/InsightToolkit-3.14.0/Utilities/NrrdIO
>> >> -I/work1/jacksonm/InsightToolkit-3.14.0/Build/Utilities/NrrdIO
>> >> -I/work1/jacksonm/InsightToolkit-3.14.0/Utilities/DICOMParser
>> >> -I/work1/jacksonm/InsightToolkit-3.14.0/Build/Utilities/DICOMParser
>> >> -I/work1/jacksonm/InsightToolkit-3.14.0/Build/Utilities/expat
>> >> -I/work1/jacksonm/InsightToolkit-3.14.0/Utilities/expat
>> >> -I/work1/jacksonm/InsightToolkit-3.14.0/Utilities/nifti/niftilib
>> >> -I/work1/jacksonm/InsightToolkit-3.14.0/Utilities/nifti/znzlib
>> >> -I/work1/jacksonm/InsightToolkit-3.14.0/Utilities/itkExtHdrs
>> >> -I/work1/jacksonm/InsightToolkit-3.14.0/Build/Utilities
>> >> -I/work1/jacksonm/InsightToolkit-3.14.0/Utilities
>> >> -I/work1/jacksonm/InsightToolkit-3.14.0/Code/Numerics/Statistics
>> >> -I/work1/jacksonm/InsightToolkit-3.14.0/Utilities/vxl/v3p/netlib
>> >> -I/work1/jacksonm/InsightToolkit-3.14.0/Utilities/vxl/vcl
>> >> -I/work1/jacksonm/InsightToolkit-3.14.0/Utilities/vxl/core
>> >> -I/work1/jacksonm/InsightToolkit-3.14.0/Build/Utilities/vxl/v3p/netlib
>> >> -I/work1/jacksonm/InsightToolkit-3.14.0/Build/Utilities/vxl/vcl
>> >> -I/work1/jacksonm/InsightToolkit-3.14.0/Build/Utilities/vxl/core
>> >> -I/work1/jacksonm/InsightToolkit-3.14.0/Build/Utilities/gdcm
>> >> -I/work1/jacksonm/InsightToolkit-3.14.0/Utilities/gdcm/src
>> >> -I/work1/jacksonm/InsightToolkit-3.14.0/Code/Review   -o
>> >> CMakeFiles/ITKNumerics.dir/itkSPSAOptimizer.o -c
>> >>
>> >> /work1/jacksonm/InsightToolkit-3.14.0/Code/Numerics/itkSPSAOptimizer.cxx
>> >>
>> >> /work1/jacksonm/InsightToolkit-3.14.0/Utilities/vxl/core/vnl/vnl_math.h:
>> >> In member function ‘virtual void
>> >> itk::SPSAOptimizer::GenerateDelta(unsigned int)’:
>> >>
>> >>
>> >> /work1/jacksonm/InsightToolkit-3.14.0/Utilities/vxl/core/vnl/vnl_math.h:220:
>> >> error: unknown register name ‘st’ in ‘asm’
>> >> make[2]: ***
>> >> [Code/Numerics/CMakeFiles/ITKNumerics.dir/itkSPSAOptimizer.o]
>> >> Error 1
>> >> make[2]: Leaving directory
>> >> `/work1/jacksonm/InsightToolkit-3.14.0/Build'
>> >> make[1]: *** [Code/Numerics/CMakeFiles/ITKNumerics.dir/all] Error 2
>> >> make[1]: Leaving directory
>> >> `/work1/jacksonm/InsightToolkit-3.14.0/Build'
>> >> make: *** [all] Error 2
>> >>
>> >> Linux XXXX-0 2.6.16.54-0.2.12-default #1 SMP Fri Oct 24 02:16:38 UTC
>> >> 2008 ia64 ia64 ia64 GNU/Linux
>> >>
>> >> Here is from the CpuInfo:
>> >>
>> >> processor  : 0
>> >> vendor     : GenuineIntel
>> >> arch       : IA-64
>> >> family     : Itanium 2
>> >> model      : 2
>> >> revision   : 1
>> >> archrev    : 0
>> >> features   : branchlong
>> >> cpu number : 0
>> >> cpu regs   : 4
>> >> cpu MHz    : 1600.000000
>> >> itc MHz    : 1600.000000
>> >> BogoMIPS   : 2392.06
>> >> siblings   : 1
>> >>
>> >> Thanks
>> >> _________________________________________________________
>> >> Mike Jackson                  mike.jackson at bluequartz.net
>> >> BlueQuartz Software                    www.bluequartz.net
>> >> Principal Software Engineer                  Dayton, Ohio
>> >> _____________________________________
>> >> Powered by www.kitware.com
>> >>
>> >> Visit other Kitware open-source projects at
>> >> http://www.kitware.com/opensource/opensource.html
>> >>
>> >> Please keep messages on-topic and check the ITK FAQ at:
>> >> http://www.itk.org/Wiki/ITK_FAQ
>> >>
>> >> Follow this link to subscribe/unsubscribe:
>> >> http://www.itk.org/mailman/listinfo/insight-users
>> >
>> >
>
>
> _____________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Please keep messages on-topic and check the ITK FAQ at:
> http://www.itk.org/Wiki/ITK_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://www.itk.org/mailman/listinfo/insight-users
>
>


More information about the Insight-users mailing list