[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