![]() |
|
[SOLVED] Can't compile under OS X Yosemite - Printable Version +- Xonotic Forums (https://forums.xonotic.org) +-- Forum: Support (https://forums.xonotic.org/forumdisplay.php?fid=3) +--- Forum: Xonotic - Help & Troubleshooting (https://forums.xonotic.org/forumdisplay.php?fid=4) +--- Thread: [SOLVED] Can't compile under OS X Yosemite (/showthread.php?tid=5440) |
Can't compile under OS X Yosemite - BuddyFriendGuy - 04-17-2015 I've been using Arch Linux to compile the code and everything work. Today I tried to compile on OS X Yosemite and failed. OS X isn't my primary dev platform so I'm likely to have something basic missing. Can somebody test this as well? I tried two setups and neither works for me. I ran Code: $ ./all compile1. In the Apple dev environment (XCode + Command Line Tools), I got this error: Code: clang: error: optimization flag '-fno-reorder-blocks' is not supported2. With home brew's gcc, I got this error: Code: In file included from hash.c:23:0:
gmqcc.h:130:66: error: operator '==' has no right operand
# elif defined (BYTE_ORDER) && (BYTE_ORDER == LITTLE_ENDIAN)Any ideas? RE: Can't compile under OS X Yosemite - BuddyFriendGuy - 04-23-2015 I managed to get home brew gcc to compile it. I had to do two things: 1. Remove the empty variable LITTLE_ENDIAN in gmqcc/gmqcc.h that caused the problem. Code: $ cd gmqcc
$ git diff gmqcc.h
diff --git a/gmqcc.h b/gmqcc.h
index 43153e9..4130307 100644
--- a/gmqcc.h
+++ b/gmqcc.h
@@ -127,8 +127,6 @@ GMQCC_IND_STRING(GMQCC_VERSION_PATCH) \
# define PLATFORM_BYTE_ORDER GMQCC_BYTE_ORDER_LITTLE
# elif !defined (LITTLE_ENDIAN) && defined (BIG_ENDIAN)
# define PLATFORM_BYTE_ORDER GMQCC_BYTE_ORDER_BIG
-# elif defined (BYTE_ORDER) && (BYTE_ORDER == LITTLE_ENDIAN)
-# define PLATFORM_BYTE_ORDER GMQCC_BYTE_ORDER_LITTLE
# elif defined (BYTE_ORDER) && (BYTE_ORDER == BIG_ENDIAN)
# define PLATFORM_BYTE_ORDER GMQCC_BYTE_ORDER_BIG
# endif /*! defined (LITTLE_ENDIAN) && !defined(BIG_ENDIAN) */2. Fix the dispatch library header (/usr/include/dispatch/object.h) to work with CLANG, according to this solution: Code: $ diff /usr/include/dispatch/object.h object.h.original
143d142
< #ifdef __clang__
145,147d143
< #else
< typedef void* dispatch_block_t;
< #endif |