You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@mesos.apache.org by "Till Toenshoff (JIRA)" <ji...@apache.org> on 2013/12/20 06:39:07 UTC

[jira] [Commented] (MESOS-799) Mesos python egg is faulty on OS X Mavericks

    [ https://issues.apache.org/jira/browse/MESOS-799?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13853691#comment-13853691 ] 

Till Toenshoff commented on MESOS-799:
--------------------------------------

Niklas, I can confirm the point 2 and your patch from MESOS-798 neatly fixes that problem.   

Python itself does in fact not have to be built using gcc, a plain homebrew version (compiled using clang) worked in my tests. It is however imperative that the user did not force homebrew to build a fat binary (32 + 64 bit). By default only the active architecture is built (64 bit) and enforcing a 32bit version does in fact make no sense on OS X10.9.

> Mesos python egg is faulty on OS X Mavericks
> --------------------------------------------
>
>                 Key: MESOS-799
>                 URL: https://issues.apache.org/jira/browse/MESOS-799
>             Project: Mesos
>          Issue Type: Bug
>         Environment: Mac OS X Mavericks, GCC 4.7 & 4.8
>            Reporter: Niklas Quarfot Nielsen
>            Assignee: Niklas Quarfot Nielsen
>
> The Python framework test (and I suspect other Python frameworks) breaks on OS X Mavericks. From a quick study, this is what I found:
> 1) The chosen compiler in $(CC) is not propagated in src/Makefile.am to setup.py during python binding compilation.
> 2) When compiler is chosen, compiler flags in distutils are picked up from the ones used to compile Python (which most likely was clang). The effect of this is hard to pick up; Clang is able to bundle both 32bit and 64bit executable into one with multiple "-arch" flags. AFAIK GCC picks only one architecture (the last one) which in this case leaves a 32bit image only, which then is incompatible with the other binaries.
> Distutil can be configured by setting environment variables to overwrite for example linker and compiler flags. LDSHARED and CCSHARED are some, but additional need to be set to deal with the 32bit/64bit bundle issue.



--
This message was sent by Atlassian JIRA
(v6.1.4#6159)