I have a problem with rootcint and stdint.h since moving to OS X 10.9. Here is a simple example:
VDis.h: #include <stdint.h>
class VDis
{
VDis() {}
~VDis() {}
};
VDisLinkDef.h : #ifdefCINT #pragma link C++ class VDis+; #endif
rootcint -f VDis_Dic.cpp -c -p VDis.h VDisLinkDef.h
Error: class,struct,union or type __signed not defined /usr/include/sys/_types/_int8_t.h:30:
Error: class,struct,union or type int8_t not defined /usr/include/stdint.h:29:
Error: class,struct,union or type int8_t not defined /usr/include/stdint.h:40:
Warning: Error occurred during reading source files
Warning: Error occurred during dictionary source generation
!!!Removing VDis_Dic.cpp VDis_Dic.h !!!
Error: rootcint: error loading headers…
I’ve tried it on a sl6 linux box and it works without problems there.
Did you find a solution to this problem? I have 10.9 Mac Os, Xcode 5.02 and the mac command tools as of Oct 22. My root version is 5.34.12 and I still see the same error as you do unsung CINT.
We also saw a problem with the library stdint.h in compiled code and we have to move all our variable types to root native ones and away from stdint.h types for our code to compile. I don’t think this is a CINT error but maybe a clang problem or a problem with the new _types libraries in the Mac.
What is your take?
The stdint.h of OSX 10.9 is too complex for CINT to process. Please don’t use types or constants from this header in your own header in ROOT 5. In ROOT 6 there is no header complexity limitation and there is will work fine.
There is also another workaround which have worked for me. Instead of including stdint.h include only the header files you really need. In my case I need only the definitions of some integer types. Please find below my include statements. Maybe thsi helps to overcome the problem.