Opened 12 years ago
Closed 12 years ago
#38490 closed defect (fixed)
rethinkdb: configuration fails on Snow Leopard
Reported by: | ryandesign (Ryan Carsten Schmidt) | Owned by: | macports-tickets@… |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.1.3 |
Keywords: | snowleopard | Cc: | |
Port: | rethinkdb |
Description
Configuring rethinkdb @1.4.0 fails on Snow Leopard with Xcode 3.2.6:
---> Configuring rethinkdb DEBUG: Using compiler 'Mac OS X clang' DEBUG: Executing org.macports.configure (rethinkdb) DEBUG: Environment: CPATH='/opt/local/include' CFLAGS='-pipe -O2 -arch x86_64' CPPFLAGS='-I/opt/local/include' CXXFLAGS='-pipe -O2 -arch x86_64' LIBRARY_PATH='/opt/local/lib' MACOSX_DEPLOYMENT_TARGET='10.6' CXX='/usr/bin/llvm-g++-4.2' CC_PRINT_OPTIONS_FILE='/opt/local/var/macports/build/_opt_mports_dports_databases_rethinkdb/rethinkdb/work/.CC_PRINT_OPTIONS' F90FLAGS='-pipe -O2 -m64' LDFLAGS='-L/opt/local/lib -arch x86_64' OBJC='/usr/bin/clang' FCFLAGS='-pipe -O2 -m64' INSTALL='/usr/bin/install -c' OBJCFLAGS='-pipe -O2 -arch x86_64' FFLAGS='-pipe -O2 -m64' CC_PRINT_OPTIONS='YES' CC='/usr/bin/clang' DEBUG: Assembled command: 'cd "/opt/local/var/macports/build/_opt_mports_dports_databases_rethinkdb/rethinkdb/work/rethinkdb-1.4.0" && ./configure --prefix=/opt/local' DEBUG: Executing command line: cd "/opt/local/var/macports/build/_opt_mports_dports_databases_rethinkdb/rethinkdb/work/rethinkdb-1.4.0" && ./configure --prefix=/opt/local * Detecting system configuration Bash: 3.2.48(1)-release Operating System: Darwin OS Version: Darwin 10.8.0 x86_64 Without tcmalloc: yes Build client drivers: yes Architecture: x86_64 C++ Compiler: too old * Error: GCC 4.2.2 is too old. At least GCC 4.4.3 is required * Aborting configure
This message about the gcc version number, despite the fact that we've already told the port to blacklist old gcc's and the port is trying to use clang. This port doesn't seem to be using the right compiler...
Change History (5)
comment:1 Changed 12 years ago by jmroot (Joshua Root)
comment:2 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)
That doesn't appear to be the case here. The clang version string is "Apple clang version 1.7 (tags/Apple/clang-77) (based on LLVM 2.9svn)". rethinkdb has a peculiar non-autoconf configure script and I haven't yet figured out how to tell it what compiler we want it to use. Perhaps it is not possible yet; see upstream issue 426.
comment:3 Changed 12 years ago by jmroot (Joshua Root)
It appears to ignore the environment entirely. According to ./configure --help it looks like you tell it which C++ compiler to use by passing an argument like cxx=/usr/bin/clang++
. (The autoselection looks for g++ first even though older versions are not usable but all clang versions are considered OK.)
comment:4 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)
It seems to honor the environment, at least the CXX variable MacPorts already sets.
Here, I think the problem is that this version of Xcode has clang but not clang++, and therefore sets CXX to llvm-g++-4.2, which reports its version as "i686-apple-darwin10-llvm-g++-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.6)". So I think we need to also blacklist llvm-gcc-4.2 and macports-llvm-gcc-4.2 and all versions of clang that don't include clang++.
comment:5 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)
Resolution: | → fixed |
---|---|
Status: | new → closed |
Or it assumes that gcc is the only compiler and misparses the clang version string as a gcc version string.