Those variables (POLLRDNORM, …) are indeed undefined on MacOSx version < 10.4 ; to cope with that, ROOT and xrootd test the flag MAC_OS_X_VERSION_10_4, and explicitly define those variables if the flag is not set.
Now, such a flag should not be set on you system, being 10.3.9 , but it looks like it is. Could you check (either with a simple C++ program or with options -E -dM to gcc, e.g. gcc -E -dM <any_c++_code>.cxx | grep MAC_OS_X_VERSION_10_4)?
In the meanwhile, you should be able to compile ROOT by skipping the build of xrootd:
BTW, if the test of platform is the one done in XrdOucPlatform.h, then I can understand the problem :
// For alternative platforms
// #ifdefmacos #include <AvailabilityMacros.h> #if !defined(MAC_OS_X_VERSION_10_4) #define POLLRDNORM 0 #define POLLRDBAND 0 #define POLLWRNORM 0 #endif
And in AvailabilityMacros.h I see : #ifndefAVAILABILITYMACROS #defineAVAILABILITYMACROS
/*
Set up standard Mac OS X versions
*/ #define MAC_OS_X_VERSION_10_0 1000 #define MAC_OS_X_VERSION_10_1 1010 #define MAC_OS_X_VERSION_10_2 1020 #define MAC_OS_X_VERSION_10_3 1030 #define MAC_OS_X_VERSION_10_4 1040
so I would say that MAC_OS_X_VERSION_10_4 is defined there.