[vtkusers] Compile error on Linux

Mumit Khan khan at nanotech.wisc.edu
Wed Jan 2 16:15:27 EST 2002


On Wed, 2 Jan 2002, Kevin Teich wrote:

> I'm getting the following error while compiling vtkImageReslice.cxx (path
> names shortened for readability):
>
> .../VTK/Imaging/vtkImageReslice.cxx:  In function `void
> vtkGetResliceInterpFunc<float>(class vtkImageReslice *, int (**)(void *&,
> const void *, const int *, const int *, int, const float *, int, const
> void *))':
>
> .../VTK/Imaging/vtkImageReslice.cxx:1708:  instantiated from here
>
> .../VTK/Imaging/vtkImageReslice.cxx:1449:  conversion from `int (**)(void
> *&, const void *, const int *, const int *, int, const float *, int, const
> void *)' to non-scalar type `{error}' requested
>
> .../VTK/Imaging/vtkImageReslice.cxx:1449:  sorry, not implemented: use of
> `popdcc_expr' in template
>
> .../VTK/Imaging/vtkImageReslice.cxx:1449:  confused by earlier errors,
> bailing out

[ ... ]

> I am using gcc version egcs-2.91.66 19990314/Linux (egcs-1.1.2 release). I
> know it's not the latest version, but I need to stay in sync with the rest
> of my development group. However, if there's no other solution than to
> use the latest gcc, I can do so.

It's a bug in gcc-2.91.66 aka egcs-1.1.2 (and quite possibly in earlier
egcs-1.x.y releases as well), and fixed in gcc-2.95 and newer. You can
possibly rewrite chunks of that code to work around that bug, but even
if you could, I would recommend against it. Egcs-1.1.2 is simply too old
and buggy (much like RedHat Linux 6.x, which is probably the primary
reason that particular version of gcc lives on).

If you *really* must stay with that version of the compiler, I could
probably dig up the change I had made (but never tested the runtime,
so who knows what it really did besides getting it to compile).

Regards,
Mumit





More information about the vtkusers mailing list