MantisBT - ITK
View Issue Details
0007947ITKpublic2008-11-05 12:512010-10-21 12:32
Michal Sofka 
Julien Finet 
normalmajoralways
closedfixed 
UnixFreeBSD6.3
 
ITK-3-10 
0007947: compiler error on Code/Common/itkMemoryUsageObserver.cxx
Compiler error:

Building CXX object Code/Common/CMakeFiles/ITKCommon.dir/itkMemoryUsageObserver.o
In file included from Insight/Code/Common/itkMemoryUsageObserver.cxx:46:
/usr/include/malloc.h:3:2: #error "<malloc.h> has been replaced by <stdlib.h>"
Insight/Code/Common/itkMemoryUsageObserver.cxx: In member function `virtual long unsigned int itk::MallinfoMemoryUsageObserver::GetMemoryUsage()':
Insight/Code/Common/itkMemoryUsageObserver.cxx:422: error: variable `itk::mallinfo minfo' has initializer but incomplete type
Insight/Code/Common/itkMemoryUsageObserver.cxx:422: error: invalid use of undefined type `struct itk::mallinfo'
Insight/Code/Common/itkMemoryUsageObserver.cxx:422: error: forward declaration of `struct itk::mallinfo'
gmake[2]: *** [Code/Common/CMakeFiles/ITKCommon.dir/itkMemoryUsageObserver.o] Error 1


Reason:
malloc.h does not define mallinfo

malloc.h listing:

/* $FreeBSD: src/include/malloc.h,v 1.5 2001/11/07 23:14:31 obrien Exp $ */
#if __STDC__
#error "<malloc.h> has been replaced by <stdlib.h>"
#else
#include <stdlib.h>
#endif


Also note:
stdlib.h does not define mallinfo either.
No tags attached.
Issue History
2008-11-05 12:51Michal SofkaNew Issue
2009-01-24 11:26Luis IbanezStatusnew => assigned
2009-01-24 11:26Luis IbanezAssigned To => Julien Jomier
2009-01-24 14:42Luis IbanezAssigned ToJulien Jomier => Julien Finet
2009-01-25 18:00Julien FinetNote Added: 0014677
2009-01-25 18:00Julien FinetStatusassigned => resolved
2009-01-25 18:00Julien FinetFixed in Version => ITK-3-10
2009-01-25 18:00Julien FinetResolutionopen => fixed
2010-10-21 12:32Gabe HartStatusresolved => closed

Notes
(0014677)
Julien Finet   
2009-01-25 18:00   
Now MallinfoMemoryUsageObserver is not used in FreeBSD applications. SysResourceMemoryUsageObserver is used instead.
However, SysResourceMemoryUsageObserver is far from being an accurate way of querying the memory usage; some alternatives would be to parse the output of
 * "sysctl vm.vmtotal" or "sysctl -a | grep -i memory"