[vtkusers] Can't compile 5.2.1, CVS. *fixed* Bug in Cmake scripts with 64bit systems

Mathieu Malaterre mathieu.malaterre at gmail.com
Wed Mar 25 10:25:22 EDT 2009


Hi paul,

  Thanks for the bug report. I feel there is something else going on
wrong. Did you start from a empty binary tree ? Did you change the
compiler *after* the first cmake configure step ?
  The test for VTK_[IO]STREAM_SUPPORTS_LONG_LONG is so obviously
simple, that I do not see how in the world it would possibly fails.

  Could you please try to reproduce the issue in a fresh (empty)
binary directory. Simply configure VTK (no need to build). And grep
for the value of VTK_ISTREAM_SUPPORTS_LONG_LONG in the generated
CMakeCache.txt.

Thanks for your help


On Wed, Mar 25, 2009 at 2:55 PM, Paul <massivemonkeymayhem at gmail.com> wrote:
> Oh yeah.
>
> The fix is to simply edit CMakeCache.txt and set
> VTK_ISTREAM_SUPPORTS_LONG_LONG=1 and VTK_OSTREAM_SUPPORTS_LONG_LONG=1 (when
> using VTK_USE_64BIT_IDS=True, which is default on 64bit systems).
>
> Paul
>
>
> On Wed, Mar 25, 2009 at 11:11 AM, Paul <massivemonkeymayhem at gmail.com>
> wrote:
>>
>> Fixed the problem. Turns out it's an issue related to 64bit systems.
>>
>> In the CMake scripts, it is incorrectly determining that my system doesn't
>> support "long long"'s for istream/ostream. Despite this, it would still use
>> long long's as vtkIdType. (This should generate a warning)
>>
>> Thus VTK would try to build without a compiler flag enabling long long
>> support, thereby generating errors anywhere a vtkIdType (long long) is fed
>> to istream/ostream.
>>
>> Paul
>>
>>
>> On Mon, Mar 23, 2009 at 11:45 AM, Paul <massivemonkeymayhem at gmail.com>
>> wrote:
>>>
>>> Bleh. I'm still having problems getting VTK to compile on my new machine.
>>> It's running on the new Intel Core i7, I'm wondering if there might be a bug
>>> with it and gcc/libstdc++. I flattened my disk and installed the Ubuntu 9.04
>>> alpha - still no go. Is it definitely a problem with my build environment?
>>>
>>> Paul
>>>
>>> On Wed, Mar 18, 2009 at 3:08 PM, Paul <massivemonkeymayhem at gmail.com>
>>> wrote:
>>>>
>>>> I haven't had any compile problems that I couldn't work out in the past,
>>>> but I'm a bit puzzled over this one.
>>>>
>>>> Running fresh, updated Ubuntu 8.10 64bit, gcc version 4.3.2.
>>>>
>>>> /home/pd/Software/vtk-5.2.1/Common/vtkAbstractArray.cxx: In member
>>>> function ‘virtual void vtkAbstractArray::PrintSelf(std::ostream&,
>>>> vtkIndent)’:
>>>> /home/pd/Software/vtk-5.2.1/Common/vtkAbstractArray.cxx:251: error:
>>>> ambiguous overload for ‘operator<<’ in ‘std::operator<< [with _Traits =
>>>> std::char_traits<char>](((std::basic_ostream<char, std::char_traits<char>
>>>> >&)((std::ostream*)operator<<(((std::ostream&)((std::ostream*)os)), ((const
>>>> vtkIndent&)((const vtkIndent*)(& indent)))))), ((const char*)"Size: ")) <<
>>>> ((vtkAbstractArray*)this)->vtkAbstractArray::Size’
>>>> /usr/include/c++/4.3/ostream:112: note: candidates are:
>>>> std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT,
>>>> _Traits>::operator<<(std::basic_ostream<_CharT, _Traits>&
>>>> (*)(std::basic_ostream<_CharT, _Traits>&)) [with _CharT = char, _Traits =
>>>> std::char_traits<char>] <near match>
>>>> /usr/include/c++/4.3/ostream:121: note:
>>>> std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT,
>>>> _Traits>::operator<<(std::basic_ios<_CharT, _Traits>&
>>>> (*)(std::basic_ios<_CharT, _Traits>&)) [with _CharT = char, _Traits =
>>>> std::char_traits<char>] <near match>
>>>> ...
>>>> etc
>>>> ...
>>>>
>>>> I get the same error with VTK nightly (March 17 2009)
>>>>
>>>> Any suggestions?
>>>
>>
>
>
> _______________________________________________
> 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 VTK FAQ at:
> http://www.vtk.org/Wiki/VTK_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://www.vtk.org/mailman/listinfo/vtkusers
>
>



-- 
Mathieu



More information about the vtkusers mailing list