[Insight-developers] itk/gdcm build errors on Fedora 12
kent williams
norman-k-williams at uiowa.edu
Thu Nov 19 14:09:44 EST 2009
I don't know what you mean by 'fixing the path' -- where did you fix it? In
the source file? The CMakeLists.txt? Somewhere else?
The compiler errors come from these declarations in uuid.h:
/* UUID abstract data type */
struct uuid_st;
typedef struct uuid_st uuid_t;
this decares uuid_t as an structure that hasn't been defined. It's an
opaque type. You can't declare a variable of the type because the compiler
knows nothing about its structure.
More baffling is that if we're at a similar code revision, the errors are in
the HAVE_UUID_GENERATE block, and if I look at the header you attached, it
doesn't define uuid_generate.
I don't have access to Fedora 12, but what you probably need to do is find
out where uuid_st is defined -- it would need to be defined before calling
any declaration of a variable of type uuid_t.
On 11/19/09 12:51 PM, "Arnaud GELAS" <arnaud_gelas at hms.harvard.edu> wrote:
> Hi Guys,
>
> I have just updated my machine to Fedora 12 (where gcc-4.4.2 is the
> default version of gcc), and I get the following error:
>
> Linking C static library ../../../bin/libitkNetlibSlatec.a
> [ 38%] Built target itkNetlibSlatec
> [ 38%] Building CXX object
> Utilities/gdcm/src/CMakeFiles/itkgdcm.dir/gdcmUtil.o
> /home/ajg23/CVSROOT/Insight/Utilities/gdcm/src/gdcmUtil.cxx:105:23:
> error: uuid/uuid.h: No such file or directory
> /home/ajg23/CVSROOT/Insight/Utilities/gdcm/src/gdcmUtil.cxx: In static
> member function static bool gdcm::Util::GenerateUUID(unsigned char*)¹:
> /home/ajg23/CVSROOT/Insight/Utilities/gdcm/src/gdcmUtil.cxx:1021: error:
> uuid_t¹ was not declared in this scope
> /home/ajg23/CVSROOT/Insight/Utilities/gdcm/src/gdcmUtil.cxx:1021: error:
> expected ;¹ before g¹
> /home/ajg23/CVSROOT/Insight/Utilities/gdcm/src/gdcmUtil.cxx:1022: error:
> g¹ was not declared in this scope
> /home/ajg23/CVSROOT/Insight/Utilities/gdcm/src/gdcmUtil.cxx:1022: error:
> uuid_generate¹ was not declared in this scope
>
> I checked the location of uuid.h, it is "now" in /usr/include (have not
> checked the location before updating if it was
> in /usr/include/uuid/uuid.h).
>
> Anyway after fixing the path (on my machine), I get the following error:
>
> [ 38%] Building CXX object
> Utilities/gdcm/src/CMakeFiles/itkgdcm.dir/gdcmUtil.o
> /home/ajg23/CVSROOT/Insight/Utilities/gdcm/src/gdcmUtil.cxx: In static
> member function static bool gdcm::Util::GenerateUUID(unsigned char*)¹:
> /home/ajg23/CVSROOT/Insight/Utilities/gdcm/src/gdcmUtil.cxx:1021: error:
> aggregate uuid_t g¹ has incomplete type and cannot be defined
> /home/ajg23/CVSROOT/Insight/Utilities/gdcm/src/gdcmUtil.cxx:1022: error:
> uuid_generate¹ was not declared in this scope
> /home/ajg23/CVSROOT/Insight/Utilities/gdcm/src/gdcmUtil.cxx:1023: error:
> invalid application of sizeof¹ to incomplete type uuid_t¹
> make[2]: *** [Utilities/gdcm/src/CMakeFiles/itkgdcm.dir/gdcmUtil.o]
> Error 1
> make[1]: *** [Utilities/gdcm/src/CMakeFiles/itkgdcm.dir/all] Error 2
>
> I can't find what's going on?
> Any idea?
>
> I attach uuid.h
>
> Thanks
> Arnaud
>
> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Kitware offers ITK Training Courses, for more information visit:
> http://kitware.com/products/protraining.html
>
> Please keep messages on-topic and check the ITK FAQ at:
> http://www.itk.org/Wiki/ITK_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://www.itk.org/mailman/listinfo/insight-developers
More information about the Insight-developers
mailing list