> 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 :)

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.


- TILL


-----------------------------------------------------------
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
> 
>

Reply via email to