Hi Tim!
I never tried to build supersonic in OSX, but maybe the make error you encountered is not hard to fix. In the file /supersonic/utils/atomicops.h there are some code lines as follows to include different atomic operation implementations according to the OS type. For the __APPLE_, as we can see, it includes the file "supersonic/utils/atomicops-internals-macosx.h".
#if defined(THREAD_SANITIZER)
#include "supersonic/utils/atomicops-internals-tsan.h"
#elif defined(__APPLE__)
#include "supersonic/utils/atomicops-internals-macosx.h"
#elif defined(__GNUC__) && defined(ARMV6)
#include "supersonic/utils/atomicops-internals-arm-v6plus.h"
#elif defined(ARMV3)
#include "supersonic/utils/atomicops-internals-arm-generic.h"
#elif defined(__GNUC__) && (defined(__i386) || defined(__x86_64__))
#include "supersonic/utils/atomicops-internals-x86.h"
#elif defined(__GNUC__) && defined(ARCH_POWERPC64)
#include "supersonic/utils/atomicops-internals-powerpc.h"
#elif defined(OS_WINDOWS)
#include "supersonic/utils/atomicops-internals-windows.h"
#else
#error You need to implement atomic operations for this architecture
#endif
However, if we browse the source files, we can't find the file "atomicops-internals-macosx.h" in the directory "supersonic/utils", which i believe causes the make error. Actually, the file "atomicops-internals-macosx.h" does exsit, we can see it in the directory "supersonic/utils/auxiliary/". So maybe you need to modify the codes given above as follows. Have a try, may it can help you!
#if defined(THREAD_SANITIZER)
#include "supersonic/utils/atomicops-internals-tsan.h"
#elif defined(__APPLE__)
#include "supersonic/utils/auxiliary/atomicops-internals-macosx.h"
#elif defined(__GNUC__) && defined(ARMV6)
#include "supersonic/utils/atomicops-internals-arm-v6plus.h"
#elif defined(ARMV3)
#include "supersonic/utils/atomicops-internals-arm-generic.h"
#elif defined(__GNUC__) && (defined(__i386) || defined(__x86_64__))
#include "supersonic/utils/atomicops-internals-x86.h"
#elif defined(__GNUC__) && defined(ARCH_POWERPC64)
#include "supersonic/utils/atomicops-internals-powerpc.h"
#elif defined(OS_WINDOWS)
#include "supersonic/utils/atomicops-internals-windows.h"
#else
#error You need to implement atomic operations for this architecture
#endif
在 2013年3月28日星期四UTC+8下午4时42分25秒,Timothy Chen写道: