[Paraview] Problems compiling 3.2 on IA64 with ICC/ICPC (Resolution)
Mike Jackson
imikejackson at gmail.com
Mon Jun 16 18:20:30 EDT 2008
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> 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> 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. 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> 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> wrote:
>> > It's the 3.2.1 ParaView from CVS a while back, with CMake 2.4.8.
>> >
>> > On Mon, Jun 9, 2008 at 8:09 PM, Berk Geveci
>> <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>
>> >> 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
>> >> > 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.paraview.org/pipermail/paraview/attachments/20080616/7f8d973c/attachment.htm>
More information about the ParaView
mailing list