Details
-
Bug
-
Status: Closed
-
Minor - P4
-
Resolution: Fixed
-
2.6.1
-
Yosemite Developer Preview 1 (14A238x)
-
Fully Compatible
-
OS X
-
-
Server 2.7.4, Server 2.7.5, Server 2.7.6
Description
The file "src/third_party/s2/util/endian/endian.h" is not compatible with the c compiler on Yosemite.
This is the build error I got.
In file included from src/third_party/s2/s2cellid.cc:24:
|
In file included from src/third_party/s2/strings/strutil.h:62:
|
src/third_party/s2/util/endian/endian.h:182:9: error: 'htonll' macro redefined [-Werror]
|
#define htonll(x) ghtonll(x)
|
^
|
/usr/include/sys/_endian.h:141:9: note: previous definition is here
|
#define htonll(x) __DARWIN_OSSwapInt64(x)
|
^
|
In file included from src/third_party/s2/s2cellid.cc:24:
|
In file included from src/third_party/s2/strings/strutil.h:62:
|
src/third_party/s2/util/endian/endian.h:189:9: error: 'ntohll' macro redefined [-Werror]
|
#define ntohll(x) htonll(x)
|
^
|
/usr/include/sys/_endian.h:140:9: note: previous definition is here
|
#define ntohll(x) __DARWIN_OSSwapInt64(x)
|
^
|
2 errors generated.
|
scons: *** [build/darwin/normal/third_party/s2/s2cellid.o] Error 1
|
scons: building terminated because of errors.
|
Somehow the last lines (118-189) are the problem. The compilation worked after I’ve removed them. (I couldn’t find a location where those were used anyways)
Here is the version of the compiler I used:
$ g++ --version
|
Configured with: --prefix=/Applications/Xcode6-Beta.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
|
Apple LLVM version 6.0 (clang-600.0.34.4) (based on LLVM 3.5svn)
|
Target: x86_64-apple-darwin14.0.0
|
Thread model: posix
|
How does mongodb handle bugs in third party libraries?
Certainly there is a better solution to this problem.
Attachments
Issue Links
- is related to
-
SERVER-14204 Add support to build from source on OS X 10.10 Yosemite
-
- Closed
-