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)

Or it assumes that gcc is the only compiler and misparses the clang version string as a gcc version string.

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: newclosed
Note: See TracTickets for help on using tickets.