[Paraview] [Xdmf] Problems compiling 3.2 on IA64 with ICC/ICPC (Resolution)
Jerry Clarke
clarke at arl.army.mil
Tue Jun 17 09:34:59 EDT 2008
Mike,
Thanks. I made you changes compiled and tested here.
Seems to work fine. I checked changes into CVS
Jerry Clarke
Mike Jackson wrote:
>
> I dug some more into this and I have a compile working on IA64 using ICC
> 9.1.049. The difference seems to be in the XdmfConfig.h.in file.
>
> I switched around some preprocessor so that they were more inline with vtk:
>
> #if defined( SIZEOF_LONG_LONG )
> # define XDMF_64_INT long long
> # define HAVE_64_INT
> # define XDMF_have_64_bit_int
> #elif defined( SIZEOF___INT64 )
> # define XDMF_64_INT __int64
> # define HAVE_64_INT
> #else
> # error "64 bit long not defined"
> #endif
>
> and now Xdmf seems to compile correctly without have to disable the 64
> bit ids. Is this correct? Comments?
>
> I also tested the compile on OS X 10.4.11 (X86) Intel Core Duo with GCC
> and that also passed. I have a Linux AMD 64 box that I am going to also
> try in the morning with Intel 10.1.x compilers.
>
> --
> Mike Jackson Senior Research Engineer
> Innovative Management & Technology Services
>
>
> On Jun 16, 2008, at 6:20 PM, Mike Jackson wrote:
>
>> I did some digging on this and what I have found so far is that the
>> file ParaView3/VTK/Common/VTKType.h
>> has something that looks like a "hack" to turn off something. Down
>> towards the bottom of the file is the following block:
>>
>> /*--------------------------------------------------------------------------*/
>> /* Choose an implementation for vtkIdType. */
>> #define VTK_HAS_ID_TYPE
>> #ifdef VTK_USE_64BIT_IDS
>> # if defined(VTK_SIZEOF_LONG) && VTK_SIZEOF_LONG == 8 && 0
>> typedef long vtkIdType;
>> # define VTK_SIZEOF_ID_TYPE VTK_SIZEOF_LONG
>> # define VTK_LARGE_ID VTK_LONG_MAX
>> # elif defined(VTK_TYPE_USE_LONG_LONG) && VTK_SIZEOF_LONG_LONG == 8
>> typedef long long vtkIdType;
>> # define VTK_SIZEOF_ID_TYPE VTK_SIZEOF_LONG_LONG
>> # define VTK_LARGE_ID VTK_LONG_LONG_MAX
>> # elif defined(VTK_TYPE_USE___INT64) && VTK_SIZEOF___INT64 == 8
>> typedef __int64 vtkIdType;
>> # define VTK_SIZEOF_ID_TYPE VTK_SIZEOF___INT64
>> # define VTK_LARGE_ID VTK___INT64_MAX
>> # else
>> # error "VTK_USE_64BIT_IDS is ON but no 64-bit integer type is
>> available."
>> # endif
>> #else
>> typedef int vtkIdType;
>> # define VTK_SIZEOF_ID_TYPE VTK_SIZEOF_INT
>> # define VTK_LARGE_ID VTK_INT_MAX
>> #endif
>>
>> The real line of interest is:
>> # if defined(VTK_SIZEOF_LONG) && VTK_SIZEOF_LONG == 8 && 0
>>
>> I guess some one put in the "&& 0" to disable that block permanently,
>> this makes the compiler go to the next #elif which passes all of its
>> tests and we get vtkIdType == "long long".
>>
>> This becomes a problem because XdmfInt64 defines to "long". Thus the
>> conflicting types and we get the error. I am not sure what the correct
>> fix is though. Is this just an Intel Compiler thing? It seems that the
>> Xdmf project is figuring out the type for XdmfInt64 in a slightly
>> different manner than VTK. or the Xdmf project is interchanging
>> vtkIdType, int, long and long long without proper regard. Don't know.
>>
>> I am cross posting to the Xdmf list in the hopes someone there might
>> be able to help.
>>
>> --
>> Mike Jackson Senior Research Engineer
>> Innovative Management & Technology Services
>>
>>
>> On Jun 16, 2008, at 4:21 PM, Randall Hand wrote:
>>
>>> yes I did, just this morning in fact. By turning off
>>> "VTK_USE_64BIT_IDS", it compiled just fine.
>>>
>>> On Mon, Jun 16, 2008 at 3:19 PM, Mike Jackson <imikejackson at gmail.com
>>> <mailto:imikejackson at gmail.com>> wrote:
>>>
>>> Did you ever get past this? I hit the same error...
>>>
>>> --
>>> Mike Jackson Senior Research Engineer
>>> Innovative Management & Technology Services
>>>
>>>
>>> On Jun 13, 2008, at 1:38 PM, Randall Hand wrote:
>>>
>>>> aaaarrrgh.. I spoke too soon.. Later in the compile:
>>>>
>>>> /work1/rhand/Eagle/ParaView3/Utilities/Xdmf2/vtk/vtkXdmfWriter.cxx(831):
>>>> error: more than one instance of overloaded function
>>>> "XdmfArray::SetValue" matches the argument list:
>>>> function "XdmfArray::SetValue(XdmfInt64={long},
>>>> XdmfUInt8={unsigned char})"
>>>> function "XdmfArray::SetValue(XdmfInt64={long},
>>>> XdmfUInt16={unsigned short})"
>>>> function "XdmfArray::SetValue(XdmfInt64={long},
>>>> XdmfUInt32={unsigned int})"
>>>> function "XdmfArray::SetValue(XdmfInt64={long},
>>>> XdmfInt8={char})"
>>>> function "XdmfArray::SetValue(XdmfInt64={long},
>>>> XdmfInt16={short})"
>>>> function "XdmfArray::SetValue(XdmfInt64={long},
>>>> XdmfInt32={int})"
>>>> function "XdmfArray::SetValue(XdmfInt64={long},
>>>> XdmfInt64={long})"
>>>> function "XdmfArray::SetValue(XdmfInt64={long},
>>>> XdmfFloat32={float})"
>>>> function "XdmfArray::SetValue(XdmfInt64={long},
>>>> XdmfFloat64={double})"
>>>> argument types are: (vtkIdType, long long)
>>>> object type is: XdmfArray
>>>> Data.SetValue(jj, val);
>>>> ^
>>>> detected during instantiation of "vtkIdType={long
>>>> long} vtkXdmfWriterWriteXMLScalar(vtkXdmfWriter *, std::ostream
>>>> &, AType *, vtkDataSet *, int *, const char *, const char *,
>>>> const char *, const char *, NType, int, int, int *, int) [with
>>>> AType=vtkIdTypeArray, NType=long long]"
>>>>
>>>> /work1/rhand/Eagle/ParaView3/Utilities/Xdmf2/vtk/vtkXdmfWriter.cxx(842):
>>>> error: no instance of overloaded function "XdmfArray::SetValues"
>>>> matches the argument list
>>>> argument types are: (int, vtkIdType *, long long)
>>>> object type is: XdmfArray
>>>> Data.SetValues(0, array->GetPointer(0),
>>>> array->GetNumberOfTuples() * array->GetNumberOfComponents());
>>>> ^
>>>> detected during instantiation of "vtkIdType={long
>>>> long} vtkXdmfWriterWriteXMLScalar(vtkXdmfWriter *, std::ostream
>>>> &, AType *, vtkDataSet *, int *, const char *, const char *,
>>>> const char *, const char *, NType, int, int, int *, int) [with
>>>> AType=vtkIdTypeArray, NType=long long]"
>>>>
>>>> compilation aborted for
>>>> /work1/rhand/Eagle/ParaView3/Utilities/Xdmf2/vtk/vtkXdmfWriter.cxx
>>>> (code 2)
>>>> gmake[2]: ***
>>>> [Utilities/Xdmf2/vtk/CMakeFiles/vtkXdmf.dir/vtkXdmfWriter.o] Error 2
>>>> gmake[1]: *** [Utilities/Xdmf2/vtk/CMakeFiles/vtkXdmf.dir/all]
>>>> Error 2
>>>> gmake: *** [all] Error 2
>>>>
>>>>
>>>> Anything special about 'long long' ?
>>>>
>>>> On Fri, Jun 13, 2008 at 10:15 AM, Randall Hand
>>>> <randall.hand at gmail.com <mailto:randall.hand at gmail.com>> wrote:
>>>>
>>>> Ok, for anyone watching this thread, I wanted to post an
>>>> update.
>>>>
>>>> The first problem (about _SC_GR0_OFFSET) was solved by
>>>> switching from the icc 9.1.042 compilers to anything newer,
>>>> in my case 9.1.049. <http://9.1.049.> This, however,
>>>> created another problem later in the compile where the
>>>> libxml2 headers were all missing.
>>>>
>>>> After alot of digging & help from the Kitware B-Trio (Bill,
>>>> Berk, and Brad), I got past that by recompiling CMake for
>>>> the ia64 architecture (with icc). It seems the x86 compile
>>>> doesn't entirely work on ia64 systems. It works enough to
>>>> confuse you, but not enough to actually complete the
>>>> compile. As of this writing, I'm 15% through compiling
>>>> paraview and it's working fine so far.
>>>>
>>>>
>>>> On Tue, Jun 10, 2008 at 8:53 AM, Berk Geveci
>>>> <berk.geveci at kitware.com <mailto:berk.geveci at kitware.com>>
>>>> wrote:
>>>>
>>>> I wonder if somehow a #define is screwing up symbols...
>>>> Maybe you
>>>> could run the prepocessor and see if its output has
>>>> anything unusual?
>>>>
>>>> -berk
>>>>
>>>>
>>>> On Tue, Jun 10, 2008 at 9:46 AM, Randall Hand
>>>> <randall.hand at gmail.com <mailto:randall.hand at gmail.com>>
>>>> wrote:
>>>> > It's the 3.2.1 ParaView from CVS a while back, with
>>>> CMake 2.4.8. <http://2.4.8.>
>>>> >
>>>> > On Mon, Jun 9, 2008 at 8:09 PM, Berk Geveci
>>>> <berk.geveci at kitware.com
>>>> <mailto:berk.geveci at kitware.com>> wrote:
>>>> >>
>>>> >> This happens only with ParaView? Only with cvs ParaView?
>>>> >>
>>>> >> -ber
>>>> >>
>>>> >> On Mon, Jun 9, 2008 at 4:04 PM, Randall Hand
>>>> <randall.hand at gmail.com <mailto:randall.hand at gmail.com>>
>>>> >> wrote:
>>>> >> > Right now, my compiles are failing like so:
>>>> >> >
>>>> >> > eagle-0:/work1/rhand/Eagle/PV-build/ gmake
>>>> >> > [ -3%] Building CXX object
>>>> >> > VTK/Utilities/kwsys/CMakeFiles/vtksys.dir/SystemTools.o
>>>> >> > /usr/include/sys/ucontext.h(52): error: expected a ")"
>>>> >> > unsigned long _pad[_SC_GR0_OFFSET/8];
>>>> >> > ^
>>>> >> >
>>>> >> > compilation aborted for
>>>> >> >
>>>> /work1/rhand/Eagle/ParaView3/VTK/Utilities/kwsys/SystemTools.cxx
>>>> (code
>>>> >> > 2)
>>>> >> > gmake[2]: ***
>>>> [VTK/Utilities/kwsys/CMakeFiles/vtksys.dir/SystemTools.o]
>>>> >> > Error 2
>>>> >> > gmake[1]: ***
>>>> [VTK/Utilities/kwsys/CMakeFiles/vtksys.dir/all] Error 2
>>>> >> > gmake: *** [all] Error 2
>>>> >> >
>>>> >> > (yes, i know it shows a Negative progress, no I
>>>> have no idea why). I'm
>>>> >> > compiling with icc/icpc and linking against Mesa
>>>> (with the
>>>> >> > linux-ia64-icc
>>>> >> > config). Any ideas what's going on here?
>>>> >> > --
>>>> >> > ----------------------------------------
>>>> >> > Randall Hand
>>>> >> > Visualization Scientist
>>>> >> > ERDC MSRC-ITL
>>>> >> > _______________________________________________
>>>> >> > ParaView mailing list
>>>> >> > ParaView at paraview.org <mailto:ParaView at paraview.org>
>>>> >> > http://www.paraview.org/mailman/listinfo/paraview
>>>> >> >
>>>> >> >
>>>> >
>>>> >
>>>> >
>>>> > --
>>>> > ----------------------------------------
>>>> > Randall Hand
>>>> > Visualization Scientist
>>>> > ERDC MSRC-ITL
>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> ----------------------------------------
>>>> Randall Hand
>>>> Visualization Scientist
>>>> ERDC MSRC-ITL
>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> ----------------------------------------
>>>> Randall Hand
>>>> Visualization Scientist
>>>> ERDC MSRC-ITL
>>>
>>>
>>>
>>>
>>> --
>>> Mike Jackson
>>> imikejackson & gmail * com
>>>
>>>
>>>
>>>
>>> --
>>> ----------------------------------------
>>> Randall Hand
>>> Visualization Scientist
>>> ERDC MSRC-ITL
>>
>
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Xdmf mailing list
> Xdmf at lists.kitware.com
> https://www.kitware.com/cgi-bin/mailman/listinfo/xdmf
More information about the ParaView
mailing list