> On Jan. 7, 2014, 7:58 a.m., Niklas Nielsen wrote: > > configure.ac, line 146 > > <https://reviews.apache.org/r/16664/diff/1/?file=417618#file417618line146> > > > > Indentation: Is space in front on purpose?
Nope, thanks! > On Jan. 7, 2014, 7:58 a.m., Niklas Nielsen wrote: > > configure.ac, lines 568-575 > > <https://reviews.apache.org/r/16664/diff/1/?file=417618#file417618line568> > > > > Could this be combined with Till's python egg test? I think it turned > > out to be an issue with universal binaries, so GCC built eggs actually > > could work with clang built Python binaries. > > Till can probably comment :) > > TILL TOENSHOFF wrote: > TL/DR: I think its a good idea to commit > https://reviews.apache.org/r/16436/ as that prevents us from having to > disable anything by default. > > The problems are confusing, hence I shall try to draft my understanding > of the mesos python-bridge vs. OSX problems. While revisiting the issue, > a few omissions popped up in my earlier evaluation. > > Setup: homebrew gcc-4.7, apple default clang 5.0 (llvm 3.3), osx 10.9.1, > apple default python 2.7.5, homebrew python 2.7.3 > > Facts: > - Python eggs do dynamically link against the standard c++ library. > That would be stdlibc++ or libc++ depending on the original python build > setup. > - The OSX default distribution of Python is a universal (32+64bit) build > and linked against libc++. > - Python distutils partially enforce the original build settings of > the Python distribution on the egg build process. Note that some build > settings can still be overridden as done in by > https://reviews.apache.org/r/16419/ - cheers Niklas! > - Mesos is linked statically into the Python bridge by the build process. > > > Scenario A; default OSX Python (clang, libc++) vs. Mesos (clang, libc++) > Issue/s: > - distutils produce a bunch of universal build related warnings as Mesos > is 64bit only, no errors > Result: > OK > > > Scenario B; default OSX Python (clang, libc++) vs. Mesos (gcc, stdlibc++) > Issue/s: > - distutils enforce a universal build using "-arch x86_64 -arch i386"- > flags on gcc. As gcc in its standard version does not allow building > both architectures in a single run, only the last supplied one will be > built. > Result: > Python bridge NOT usable on a OSX 64bit platform. > > > Scenario C; homebrew Python (gcc, stdlibc++, 64bit only) vs. > Mesos (gcc, stdlibc++) > Issue/s: > - none > Result: > OK > > > Scenario D; homebrew Python (gcc, stdlibc++, 64bit only) vs. > Mesos (clang, libc++) > Issue/s: > - crash by segmentation fault > Result: > Python bridge NOT usable on a OSX 64bit platform. > > > Benjamin Hindman wrote: > Sounds great Till. Let's get that committed! Okay, I killed the part of my patch that checks for non-clang Python on OS X and instead checked that Till's code does the trick. Thanks Till! - Benjamin ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/16664/#review31293 ----------------------------------------------------------- On Jan. 6, 2014, 7:40 p.m., Benjamin Hindman wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/16664/ > ----------------------------------------------------------- > > (Updated Jan. 6, 2014, 7:40 p.m.) > > > Review request for mesos, Ben Mahler, Niklas Nielsen, and Vinod Kone. > > > Repository: mesos-git > > > Description > ------- > > When building with clang we assume --with-cxx11. For example: > > CC=/path/to/clang CXX=/path/to/clang++ ../configure > > But when building with gcc 4.8 you need to specify C++11: > > CC=/path/to/gcc CXX=/path/to/g++ ../configure --with-cxx11 > > At this point in time compiling using C++11 with gcc 4.8 on OS X does not > work with Python so it is explicitely disabled. > > > Diffs > ----- > > configure.ac f69908af84882088ccbf14f89cf46c3a5364cabf > m4/ax_cxx_compile_stdcxx_11.m4 PRE-CREATION > > Diff: https://reviews.apache.org/r/16664/diff/ > > > Testing > ------- > > $ CC=/path/to/clang CXX=/path/to/clang++ ../configure && make check > $ CC=/path/to/gcc CXX=/path/to/g++ ../configure --with-cxx11 && make check > > > Thanks, > > Benjamin Hindman > >
