MantisBT - SOViewer
View Issue Details
0010254SOViewerpublic2010-02-08 11:552010-05-14 13:49
Sylvain Gouttard 
 
normalminoralways
newopen 
0010254: typdef issue with SOViewer and ITK
I recently updated my linux distribution to Fedora 12, and i had issues with the compilation of SOViewer. My compiler is gcc 4.4.2

I use the HEAD versions for ITK and for SOViewer.

after working with Luis, we came up with the solution to comment out typedef lines in the itkIntTypes.h file.

Here is the list of the lines i ended up commenting out:
typedef ::int64_t int64_t; (l.90)
typedef ::uint64_t uint64_t; (l.91)
typedef ::int_fast16_t int_fast16_t; (l.110)
typedef ::intmax_t intmax_t; (l.117)
typedef ::uintmax_t uintmax_t; (l.118)

Luis suggested that maybe these typedefs should be conditioned to some symbol defined in the extra headers brought be SOViewer

I copy below the original error that i got:

[ 65%] Building CXX object CMakeFiles/SOViewer.dir/Interactor/sovGlSlicerKeyboardInteractor.o
In file included from /usr/include/GL/glext.h:4385,
                 from /usr/include/GL/gl.h:2090,
                 from /scratch/gouttard/software/SOViewer/Renderer/sovOpenGL.h:25,
                 from /scratch/gouttard/software/SOViewer/RenderMethod/OpenGL/Slicer/OpenGLSliceTexture.h:22,
                 from /scratch/gouttard/software/SOViewer/RenderMethod/OpenGL/Slicer/sovImageGlRenderMethodSlicer.h:26,
                 from /scratch/gouttard/software/SOViewer/RenderMethod/OpenGL/Slicer/sovImageGlRenderMethodSlicerFactory.txx:23,
                 from /scratch/gouttard/software/SOViewer/RenderMethod/OpenGL/Slicer/sovImageGlRenderMethodSlicerFactory.h:92,
                 from /scratch/gouttard/software/SOViewer/RenderMethod/sovGlRenderMethodFactory.txx:30,
                 from /scratch/gouttard/software/SOViewer/RenderMethod/sovGlRenderMethodFactory.h:82,
                 from /scratch/gouttard/software/SOViewer/Renderer/sovGlRendererSlicer.h:24,
                 from /scratch/gouttard/software/SOViewer/Interactor/sovGlSlicerKeyboardInteractor.h:24,
                 from /scratch/gouttard/software/SOViewer/Interactor/sovGlSlicerKeyboardInteractor.cxx:2:
/usr/include/inttypes.h:298: error: reference to ‘intmax_t’ is ambiguous
/usr/include/stdint.h:139: error: candidates are: typedef long long int intmax_t
/scratch/gouttard/software/Insight/Code/Common/itkIntTypes.h:117: error: typedef intmax_t itk::intmax_t
/usr/include/inttypes.h:298: error: reference to ‘intmax_t’ is ambiguous
/usr/include/stdint.h:139: error: candidates are: typedef long long int intmax_t
/scratch/gouttard/software/Insight/Code/Common/itkIntTypes.h:117: error: typedef intmax_t itk::intmax_t
/usr/include/inttypes.h:298: error: ‘intmax_t’ does not name a type
/usr/include/inttypes.h:301: error: reference to ‘intmax_t’ is ambiguous
/usr/include/stdint.h:139: error: candidates are: typedef long long int intmax_t
/scratch/gouttard/software/Insight/Code/Common/itkIntTypes.h:117: error: typedef intmax_t itk::intmax_t
/usr/include/inttypes.h:301: error: reference to ‘intmax_t’ is ambiguous
/usr/include/stdint.h:139: error: candidates are: typedef long long int intmax_t
/scratch/gouttard/software/Insight/Code/Common/itkIntTypes.h:117: error: typedef intmax_t itk::intmax_t
/usr/include/inttypes.h:301: error: reference to ‘intmax_t’ is ambiguous
/usr/include/stdint.h:139: error: candidates are: typedef long long int intmax_t
/scratch/gouttard/software/Insight/Code/Common/itkIntTypes.h:117: error: typedef intmax_t itk::intmax_t
/usr/include/inttypes.h:301: error: reference to ‘intmax_t’ is ambiguous
/usr/include/stdint.h:139: error: candidates are: typedef long long int intmax_t
/scratch/gouttard/software/Insight/Code/Common/itkIntTypes.h:117: error: typedef intmax_t itk::intmax_t
/usr/include/inttypes.h:302: error: expected ‘,’ or ‘;’ before ‘throw’
/usr/include/inttypes.h:305: error: reference to ‘intmax_t’ is ambiguous
/usr/include/stdint.h:139: error: candidates are: typedef long long int intmax_t
/scratch/gouttard/software/Insight/Code/Common/itkIntTypes.h:117: error: typedef intmax_t itk::intmax_t
/usr/include/inttypes.h:305: error: reference to ‘intmax_t’ is ambiguous
/usr/include/stdint.h:139: error: candidates are: typedef long long int intmax_t
/scratch/gouttard/software/Insight/Code/Common/itkIntTypes.h:117: error: typedef intmax_t itk::intmax_t
/usr/include/inttypes.h:305: error: ‘intmax_t’ does not name a type
/usr/include/inttypes.h:309: error: reference to ‘uintmax_t’ is ambiguous
/usr/include/stdint.h:141: error: candidates are: typedef long long unsigned int uintmax_t
/scratch/gouttard/software/Insight/Code/Common/itkIntTypes.h:118: error: typedef uintmax_t itk::uintmax_t
/usr/include/inttypes.h:309: error: reference to ‘uintmax_t’ is ambiguous
/usr/include/stdint.h:141: error: candidates are: typedef long long unsigned int uintmax_t
/scratch/gouttard/software/Insight/Code/Common/itkIntTypes.h:118: error: typedef uintmax_t itk::uintmax_t
/usr/include/inttypes.h:309: error: ‘uintmax_t’ does not name a type
/usr/include/inttypes.h:313: error: reference to ‘intmax_t’ is ambiguous
/usr/include/stdint.h:139: error: candidates are: typedef long long int intmax_t
/scratch/gouttard/software/Insight/Code/Common/itkIntTypes.h:117: error: typedef intmax_t itk::intmax_t
/usr/include/inttypes.h:313: error: reference to ‘intmax_t’ is ambiguous
/usr/include/stdint.h:139: error: candidates are: typedef long long int intmax_t
/scratch/gouttard/software/Insight/Code/Common/itkIntTypes.h:117: error: typedef intmax_t itk::intmax_t
/usr/include/inttypes.h:313: error: ‘intmax_t’ does not name a type
/usr/include/inttypes.h:318: error: reference to ‘uintmax_t’ is ambiguous
/usr/include/stdint.h:141: error: candidates are: typedef long long unsigned int uintmax_t
/scratch/gouttard/software/Insight/Code/Common/itkIntTypes.h:118: error: typedef uintmax_t itk::uintmax_t
/usr/include/inttypes.h:318: error: reference to ‘uintmax_t’ is ambiguous
/usr/include/stdint.h:141: error: candidates are: typedef long long unsigned int uintmax_t
/scratch/gouttard/software/Insight/Code/Common/itkIntTypes.h:118: error: typedef uintmax_t itk::uintmax_t
/usr/include/inttypes.h:318: error: ‘uintmax_t’ does not name a type
In file included from /usr/include/GL/glext.h:4385,
                 from /usr/include/GL/gl.h:2090,
                 from /scratch/gouttard/software/SOViewer/Renderer/sovOpenGL.h:25,
                 from /scratch/gouttard/software/SOViewer/RenderMethod/OpenGL/Slicer/OpenGLSliceTexture.h:22,
                 from /scratch/gouttard/software/SOViewer/RenderMethod/OpenGL/Slicer/sovImageGlRenderMethodSlicer.h:26,
                 from /scratch/gouttard/software/SOViewer/RenderMethod/OpenGL/Slicer/sovImageGlRenderMethodSlicerFactory.txx:23,
                 from /scratch/gouttard/software/SOViewer/RenderMethod/OpenGL/Slicer/sovImageGlRenderMethodSlicerFactory.h:92,
                 from /scratch/gouttard/software/SOViewer/RenderMethod/sovGlRenderMethodFactory.txx:30,
                 from /scratch/gouttard/software/SOViewer/RenderMethod/sovGlRenderMethodFactory.h:82,
                 from /scratch/gouttard/software/SOViewer/Renderer/sovGlRendererSlicer.h:24,
                 from /scratch/gouttard/software/SOViewer/Interactor/sovGlSlicerKeyboardInteractor.h:24,
                 from /scratch/gouttard/software/SOViewer/Interactor/sovGlSlicerKeyboardInteractor.cxx:2:
/usr/include/inttypes.h:385: error: reference to ‘intmax_t’ is ambiguous
/usr/include/stdint.h:139: error: candidates are: typedef long long int intmax_t
/scratch/gouttard/software/Insight/Code/Common/itkIntTypes.h:117: error: typedef intmax_t itk::intmax_t
/usr/include/inttypes.h:385: error: reference to ‘intmax_t’ is ambiguous
/usr/include/stdint.h:139: error: candidates are: typedef long long int intmax_t
/scratch/gouttard/software/Insight/Code/Common/itkIntTypes.h:117: error: typedef intmax_t itk::intmax_t
/usr/include/inttypes.h:385: error: ‘intmax_t’ does not name a type
/usr/include/inttypes.h:401: error: reference to ‘uintmax_t’ is ambiguous
/usr/include/stdint.h:141: error: candidates are: typedef long long unsigned int uintmax_t
/scratch/gouttard/software/Insight/Code/Common/itkIntTypes.h:118: error: typedef uintmax_t itk::uintmax_t
/usr/include/inttypes.h:401: error: reference to ‘uintmax_t’ is ambiguous
/usr/include/stdint.h:141: error: candidates are: typedef long long unsigned int uintmax_t
/scratch/gouttard/software/Insight/Code/Common/itkIntTypes.h:118: error: typedef uintmax_t itk::uintmax_t
/usr/include/inttypes.h:401: error: ‘uintmax_t’ does not name a type
/usr/include/inttypes.h:415: error: reference to ‘intmax_t’ is ambiguous
/usr/include/stdint.h:139: error: candidates are: typedef long long int intmax_t
/scratch/gouttard/software/Insight/Code/Common/itkIntTypes.h:117: error: typedef intmax_t itk::intmax_t
/usr/include/inttypes.h:415: error: reference to ‘intmax_t’ is ambiguous
/usr/include/stdint.h:139: error: candidates are: typedef long long int intmax_t
/scratch/gouttard/software/Insight/Code/Common/itkIntTypes.h:117: error: typedef intmax_t itk::intmax_t
/usr/include/inttypes.h:415: error: ‘intmax_t’ does not name a type
/usr/include/inttypes.h:432: error: reference to ‘uintmax_t’ is ambiguous
/usr/include/stdint.h:141: error: candidates are: typedef long long unsigned int uintmax_t
/scratch/gouttard/software/Insight/Code/Common/itkIntTypes.h:118: error: typedef uintmax_t itk::uintmax_t
/usr/include/inttypes.h:432: error: reference to ‘uintmax_t’ is ambiguous
/usr/include/stdint.h:141: error: candidates are: typedef long long unsigned int uintmax_t
/scratch/gouttard/software/Insight/Code/Common/itkIntTypes.h:118: error: typedef uintmax_t itk::uintmax_t
/usr/include/inttypes.h:432: error: ‘uintmax_t’ does not name a type
In file included from /usr/include/GL/gl.h:2090,
                 from /scratch/gouttard/software/SOViewer/Renderer/sovOpenGL.h:25,
                 from /scratch/gouttard/software/SOViewer/RenderMethod/OpenGL/Slicer/OpenGLSliceTexture.h:22,
                 from /scratch/gouttard/software/SOViewer/RenderMethod/OpenGL/Slicer/sovImageGlRenderMethodSlicer.h:26,
                 from /scratch/gouttard/software/SOViewer/RenderMethod/OpenGL/Slicer/sovImageGlRenderMethodSlicerFactory.txx:23,
                 from /scratch/gouttard/software/SOViewer/RenderMethod/OpenGL/Slicer/sovImageGlRenderMethodSlicerFactory.h:92,
                 from /scratch/gouttard/software/SOViewer/RenderMethod/sovGlRenderMethodFactory.txx:30,
                 from /scratch/gouttard/software/SOViewer/RenderMethod/sovGlRenderMethodFactory.h:82,
                 from /scratch/gouttard/software/SOViewer/Renderer/sovGlRendererSlicer.h:24,
                 from /scratch/gouttard/software/SOViewer/Interactor/sovGlSlicerKeyboardInteractor.h:24,
                 from /scratch/gouttard/software/SOViewer/Interactor/sovGlSlicerKeyboardInteractor.cxx:2:
/usr/include/GL/glext.h:4389: error: reference to ‘int64_t’ is ambiguous
/usr/include/sys/types.h:198: error: candidates are: typedef long long int int64_t
/scratch/gouttard/software/Insight/Code/Common/itkIntTypes.h:90: error: typedef int64_t itk::int64_t
/usr/include/GL/glext.h:4389: error: reference to ‘int64_t’ is ambiguous
/usr/include/sys/types.h:198: error: candidates are: typedef long long int int64_t
/scratch/gouttard/software/Insight/Code/Common/itkIntTypes.h:90: error: typedef int64_t itk::int64_t
/usr/include/GL/glext.h:4389: error: ‘int64_t’ does not name a type
/usr/include/GL/glext.h:4390: error: reference to ‘uint64_t’ is ambiguous
/usr/include/stdint.h:59: error: candidates are: typedef long long unsigned int uint64_t
/scratch/gouttard/software/Insight/Code/Common/itkIntTypes.h:91: error: typedef uint64_t itk::uint64_t
/usr/include/GL/glext.h:4390: error: reference to ‘uint64_t’ is ambiguous
/usr/include/stdint.h:59: error: candidates are: typedef long long unsigned int uint64_t
/scratch/gouttard/software/Insight/Code/Common/itkIntTypes.h:91: error: typedef uint64_t itk::uint64_t
/usr/include/GL/glext.h:4390: error: ‘uint64_t’ does not name a type
/usr/include/GL/glext.h:4394: error: reference to ‘int64_t’ is ambiguous
/usr/include/sys/types.h:198: error: candidates are: typedef long long int int64_t
/scratch/gouttard/software/Insight/Code/Common/itkIntTypes.h:90: error: typedef int64_t itk::int64_t
/usr/include/GL/glext.h:4394: error: reference to ‘int64_t’ is ambiguous
/usr/include/sys/types.h:198: error: candidates are: typedef long long int int64_t
/scratch/gouttard/software/Insight/Code/Common/itkIntTypes.h:90: error: typedef int64_t itk::int64_t
/usr/include/GL/glext.h:4394: error: ‘int64_t’ does not name a type
/usr/include/GL/glext.h:4395: error: reference to ‘uint64_t’ is ambiguous
/usr/include/stdint.h:59: error: candidates are: typedef long long unsigned int uint64_t
/scratch/gouttard/software/Insight/Code/Common/itkIntTypes.h:91: error: typedef uint64_t itk::uint64_t
/usr/include/GL/glext.h:4395: error: reference to ‘uint64_t’ is ambiguous
/usr/include/stdint.h:59: error: candidates are: typedef long long unsigned int uint64_t
/scratch/gouttard/software/Insight/Code/Common/itkIntTypes.h:91: error: typedef uint64_t itk::uint64_t
/usr/include/GL/glext.h:4395: error: ‘uint64_t’ does not name a type
In file included from /usr/include/GL/gl.h:2090,
                 from /scratch/gouttard/software/SOViewer/Renderer/sovOpenGL.h:25,
                 from /scratch/gouttard/software/SOViewer/RenderMethod/OpenGL/Slicer/OpenGLSliceTexture.h:22,
                 from /scratch/gouttard/software/SOViewer/RenderMethod/OpenGL/Slicer/sovImageGlRenderMethodSlicer.h:26,
                 from /scratch/gouttard/software/SOViewer/RenderMethod/OpenGL/Slicer/sovImageGlRenderMethodSlicerFactory.txx:23,
                 from /scratch/gouttard/software/SOViewer/RenderMethod/OpenGL/Slicer/sovImageGlRenderMethodSlicerFactory.h:92,
                 from /scratch/gouttard/software/SOViewer/RenderMethod/sovGlRenderMethodFactory.txx:30,
                 from /scratch/gouttard/software/SOViewer/RenderMethod/sovGlRenderMethodFactory.h:82,
                 from /scratch/gouttard/software/SOViewer/Renderer/sovGlRendererSlicer.h:24,
                 from /scratch/gouttard/software/SOViewer/Interactor/sovGlSlicerKeyboardInteractor.h:24,
                 from /scratch/gouttard/software/SOViewer/Interactor/sovGlSlicerKeyboardInteractor.cxx:2:
/usr/include/GL/glext.h:5104: error: ‘GLint64’ has not been declared
/usr/include/GL/glext.h:5105: error: ‘GLint64’ has not been declared
In file included from /usr/include/GL/gl.h:2090,
                 from /scratch/gouttard/software/SOViewer/Renderer/sovOpenGL.h:25,
                 from /scratch/gouttard/software/SOViewer/RenderMethod/OpenGL/Slicer/OpenGLSliceTexture.h:22,
                 from /scratch/gouttard/software/SOViewer/RenderMethod/OpenGL/Slicer/sovImageGlRenderMethodSlicer.h:26,
                 from /scratch/gouttard/software/SOViewer/RenderMethod/OpenGL/Slicer/sovImageGlRenderMethodSlicerFactory.txx:23,
                 from /scratch/gouttard/software/SOViewer/RenderMethod/OpenGL/Slicer/sovImageGlRenderMethodSlicerFactory.h:92,
                 from /scratch/gouttard/software/SOViewer/RenderMethod/sovGlRenderMethodFactory.txx:30,
                 from /scratch/gouttard/software/SOViewer/RenderMethod/sovGlRenderMethodFactory.h:82,
                 from /scratch/gouttard/software/SOViewer/Renderer/sovGlRendererSlicer.h:24,
                 from /scratch/gouttard/software/SOViewer/Interactor/sovGlSlicerKeyboardInteractor.h:24,
                 from /scratch/gouttard/software/SOViewer/Interactor/sovGlSlicerKeyboardInteractor.cxx:2:
/usr/include/GL/glext.h:5904: error: ‘GLuint64’ has not been declared
/usr/include/GL/glext.h:5905: error: ‘GLuint64’ has not been declared
/usr/include/GL/glext.h:5906: error: ‘GLint64’ has not been declared
In file included from /usr/include/GL/gl.h:2090,
                 from /scratch/gouttard/software/SOViewer/Renderer/sovOpenGL.h:25,
                 from /scratch/gouttard/software/SOViewer/RenderMethod/OpenGL/Slicer/OpenGLSliceTexture.h:22,
                 from /scratch/gouttard/software/SOViewer/RenderMethod/OpenGL/Slicer/sovImageGlRenderMethodSlicer.h:26,
                 from /scratch/gouttard/software/SOViewer/RenderMethod/OpenGL/Slicer/sovImageGlRenderMethodSlicerFactory.txx:23,
                 from /scratch/gouttard/software/SOViewer/RenderMethod/OpenGL/Slicer/sovImageGlRenderMethodSlicerFactory.h:92,
                 from /scratch/gouttard/software/SOViewer/RenderMethod/sovGlRenderMethodFactory.txx:30,
                 from /scratch/gouttard/software/SOViewer/RenderMethod/sovGlRenderMethodFactory.h:82,
                 from /scratch/gouttard/software/SOViewer/Renderer/sovGlRendererSlicer.h:24,
                 from /scratch/gouttard/software/SOViewer/Interactor/sovGlSlicerKeyboardInteractor.h:24,
                 from /scratch/gouttard/software/SOViewer/Interactor/sovGlSlicerKeyboardInteractor.cxx:2:
/usr/include/GL/glext.h:8326: error: ‘GLint64EXT’ has not been declared
/usr/include/GL/glext.h:8327: error: ‘GLuint64EXT’ has not been declared
In file included from /usr/include/GL/gl.h:2090,
                 from /scratch/gouttard/software/SOViewer/Renderer/sovOpenGL.h:25,
                 from /scratch/gouttard/software/SOViewer/RenderMethod/OpenGL/Slicer/OpenGLSliceTexture.h:22,
                 from /scratch/gouttard/software/SOViewer/RenderMethod/OpenGL/Slicer/sovImageGlRenderMethodSlicer.h:26,
                 from /scratch/gouttard/software/SOViewer/RenderMethod/OpenGL/Slicer/sovImageGlRenderMethodSlicerFactory.txx:23,
                 from /scratch/gouttard/software/SOViewer/RenderMethod/OpenGL/Slicer/sovImageGlRenderMethodSlicerFactory.h:92,
                 from /scratch/gouttard/software/SOViewer/RenderMethod/sovGlRenderMethodFactory.txx:30,
                 from /scratch/gouttard/software/SOViewer/RenderMethod/sovGlRenderMethodFactory.h:82,
                 from /scratch/gouttard/software/SOViewer/Renderer/sovGlRendererSlicer.h:24,
                 from /scratch/gouttard/software/SOViewer/Interactor/sovGlSlicerKeyboardInteractor.h:24,
                 from /scratch/gouttard/software/SOViewer/Interactor/sovGlSlicerKeyboardInteractor.cxx:2:
/usr/include/GL/glext.h:8676: error: ‘GLuint64EXT’ has not been declared
/usr/include/GL/glext.h:8677: error: ‘GLuint64EXT’ has not been declared
In file included from /usr/include/GL/gl.h:2090,
                 from /scratch/gouttard/software/SOViewer/Renderer/sovOpenGL.h:25,
                 from /scratch/gouttard/software/SOViewer/RenderMethod/OpenGL/Slicer/OpenGLSliceTexture.h:22,
                 from /scratch/gouttard/software/SOViewer/RenderMethod/OpenGL/Slicer/sovImageGlRenderMethodSlicer.h:26,
                 from /scratch/gouttard/software/SOViewer/RenderMethod/OpenGL/Slicer/sovImageGlRenderMethodSlicerFactory.txx:23,
                 from /scratch/gouttard/software/SOViewer/RenderMethod/OpenGL/Slicer/sovImageGlRenderMethodSlicerFactory.h:92,
                 from /scratch/gouttard/software/SOViewer/RenderMethod/sovGlRenderMethodFactory.txx:30,
                 from /scratch/gouttard/software/SOViewer/RenderMethod/sovGlRenderMethodFactory.h:82,
                 from /scratch/gouttard/software/SOViewer/Renderer/sovGlRendererSlicer.h:24,
                 from /scratch/gouttard/software/SOViewer/Interactor/sovGlSlicerKeyboardInteractor.h:24,
                 from /scratch/gouttard/software/SOViewer/Interactor/sovGlSlicerKeyboardInteractor.cxx:2:
/usr/include/GL/glext.h:8680: error: ‘GLint64EXT’ has not been declared
/usr/include/GL/glext.h:8681: error: ‘GLuint64EXT’ has not been declared
make[2]: *** [CMakeFiles/SOViewer.dir/Interactor/sovGlSlicerKeyboardInteractor.o] Error 1
make[1]: *** [CMakeFiles/SOViewer.dir/all] Error 2
make: *** [all] Error 2



No tags attached.
Issue History
2010-02-08 11:55Sylvain GouttardNew Issue
2010-05-14 13:49Juan CardelinoNote Added: 0020740

Notes
(0020740)
Juan Cardelino   
2010-05-14 13:49   
I'm experiencing the same issue in ubuntu 10.04 lucid (64bits), gcc version 4.4.3. But for me it shows when compiling itksnap.