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 <to...@me.com> on 2014/01/03 12:03:39 UTC

Re: Review Request 16436: Try to build a usable, native python egg during autoconf phase

-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/16436/
-----------------------------------------------------------

(Updated Jan. 3, 2014, 11:03 a.m.)


Review request for mesos, Benjamin Hindman, Ben Mahler, and Niklas Nielsen.


Changes
-------

opened up rr for mesos, add bmahler and benhindman


Bugs: MESOS-799
    https://issues.apache.org/jira/browse/MESOS-799


Repository: mesos-git


Description
-------

This autoconf check does a rather complex test for covering MESOS-799. It builds and test-runs a minimal egg that links against a static library that imports a standard C++ library object. A static library (built using the standard mesos build settings) is needed in this puzzle because the egg producing distutils possibly use slightly different build settings (derived from python-config). 
If that check succeeds, we can be rather sure that the mesos-egg itself will be functional from a build-env point of view. When this test fails, the user is given a sort of explanation and a hint to work around the issue.

Note that this check is performed regardless of the base OS. The error message however is OS specific.


Diffs
-----

  configure.ac f69908a 

Diff: https://reviews.apache.org/r/16436/diff/


Testing (updated)
-------

./bootstrap ./configure - all on linux and OSX 10.9 (with and without clang, with and without default python)


Thanks,

TILL TOENSHOFF


Re: Review Request 16436: Try to build a usable, native python egg during autoconf phase

Posted by Ben Mahler <be...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/16436/#review31578
-----------------------------------------------------------

Ship it!


Thanks Till!

In the interest of https://reviews.apache.org/r/16664/ I'm committing this now with some small formatting fixes. Please mark as submitted!

- Ben Mahler


On Jan. 3, 2014, 11:32 p.m., TILL TOENSHOFF wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/16436/
> -----------------------------------------------------------
> 
> (Updated Jan. 3, 2014, 11:32 p.m.)
> 
> 
> Review request for mesos, Benjamin Hindman, Ben Mahler, Niklas Nielsen, and Vinod Kone.
> 
> 
> Bugs: MESOS-799
>     https://issues.apache.org/jira/browse/MESOS-799
> 
> 
> Repository: mesos-git
> 
> 
> Description
> -------
> 
> This autoconf check does a rather complex test for covering MESOS-799. It builds and test-runs a minimal egg that links against a static library that imports a standard C++ library object. A static library (built using the standard mesos build settings) is needed in this puzzle because the egg producing distutils possibly use slightly different build settings (derived from python-config). 
> If that check succeeds, we can be rather sure that the mesos-egg itself will be functional from a build-env point of view. When this test fails, the user is given a sort of explanation and a hint to work around the issue.
> 
> Note that this check is performed regardless of the base OS. The error message however is OS specific.
> 
> 
> Diffs
> -----
> 
>   configure.ac f69908a 
> 
> Diff: https://reviews.apache.org/r/16436/diff/
> 
> 
> Testing
> -------
> 
> ./bootstrap ./configure - all on linux and OSX 10.9 (with and without clang, with and without default python)
> 
> 
> Thanks,
> 
> TILL TOENSHOFF
> 
>


Re: Review Request 16436: Try to build a usable, native python egg during autoconf phase

Posted by TILL TOENSHOFF <to...@me.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/16436/
-----------------------------------------------------------

(Updated Jan. 3, 2014, 11:32 p.m.)


Review request for mesos, Benjamin Hindman, Ben Mahler, Niklas Nielsen, and Vinod Kone.


Changes
-------

Fixed:
- linewrap indention
- needless python import (os)

Updated:
- error messages with second option


Bugs: MESOS-799
    https://issues.apache.org/jira/browse/MESOS-799


Repository: mesos-git


Description
-------

This autoconf check does a rather complex test for covering MESOS-799. It builds and test-runs a minimal egg that links against a static library that imports a standard C++ library object. A static library (built using the standard mesos build settings) is needed in this puzzle because the egg producing distutils possibly use slightly different build settings (derived from python-config). 
If that check succeeds, we can be rather sure that the mesos-egg itself will be functional from a build-env point of view. When this test fails, the user is given a sort of explanation and a hint to work around the issue.

Note that this check is performed regardless of the base OS. The error message however is OS specific.


Diffs (updated)
-----

  configure.ac f69908a 

Diff: https://reviews.apache.org/r/16436/diff/


Testing
-------

./bootstrap ./configure - all on linux and OSX 10.9 (with and without clang, with and without default python)


Thanks,

TILL TOENSHOFF


Re: Review Request 16436: Try to build a usable, native python egg during autoconf phase

Posted by TILL TOENSHOFF <to...@me.com>.

> On Jan. 3, 2014, 8:39 p.m., Vinod Kone wrote:
> > configure.ac, lines 509-510
> > <https://reviews.apache.org/r/16436/diff/4/?file=413415#file413415line509>
> >
> >     Is setting PYTHON env variable to a non-default distribution also an option?
> 
> TILL TOENSHOFF wrote:
>     How about these?
>     
>     OSX-specific:
>     
>     --- snip ---
>     It appears we were unable to build a usable native Python egg.
>     You might be using the default Mac OS X Python distribution which
>     is incompatible for building native eggs using this compiler
>     setup.
>     See https://issues.apache.org/jira/browse/MESOS-799 for more
>     details.
>     There are two possible workarounds for this issue:
>     1. Disable Python, but that will mean that we don't build Python 
>     bindings.
>     2. Use an alternative Python that is built matching the build 
>     settings of Mesos.
>     --- snap ---
>     
>     All other systems:
>     
>     --- snip ---
>     It appears we were unable to build a usable native Python egg.
>     There are two possible workarounds for this issue:
>     1. Disable Python, but that will mean that we don't build Python 
>     bindings.
>     2. Use an alternative Python distribution that is built matching 
>     the build settings of Mesos. 
>     --- snap ---
> 
> Vinod Kone wrote:
>     LGTM. Maybe you could be a bit specific about how to use an alternate python distribution? e.g., PYTHON=/path/to/python ./configure?

I hesitated to be that verbose as we generally are not. For example, we are telling the user to disable python (or java etc) but not exactly how to do that within this specific kind of error messages. My guess was that this was intentionally, hence I followed the pattern.


- TILL


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/16436/#review31157
-----------------------------------------------------------


On Jan. 3, 2014, 11:32 p.m., TILL TOENSHOFF wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/16436/
> -----------------------------------------------------------
> 
> (Updated Jan. 3, 2014, 11:32 p.m.)
> 
> 
> Review request for mesos, Benjamin Hindman, Ben Mahler, Niklas Nielsen, and Vinod Kone.
> 
> 
> Bugs: MESOS-799
>     https://issues.apache.org/jira/browse/MESOS-799
> 
> 
> Repository: mesos-git
> 
> 
> Description
> -------
> 
> This autoconf check does a rather complex test for covering MESOS-799. It builds and test-runs a minimal egg that links against a static library that imports a standard C++ library object. A static library (built using the standard mesos build settings) is needed in this puzzle because the egg producing distutils possibly use slightly different build settings (derived from python-config). 
> If that check succeeds, we can be rather sure that the mesos-egg itself will be functional from a build-env point of view. When this test fails, the user is given a sort of explanation and a hint to work around the issue.
> 
> Note that this check is performed regardless of the base OS. The error message however is OS specific.
> 
> 
> Diffs
> -----
> 
>   configure.ac f69908a 
> 
> Diff: https://reviews.apache.org/r/16436/diff/
> 
> 
> Testing
> -------
> 
> ./bootstrap ./configure - all on linux and OSX 10.9 (with and without clang, with and without default python)
> 
> 
> Thanks,
> 
> TILL TOENSHOFF
> 
>


Re: Review Request 16436: Try to build a usable, native python egg during autoconf phase

Posted by TILL TOENSHOFF <to...@me.com>.

> On Jan. 3, 2014, 8:39 p.m., Vinod Kone wrote:
> > configure.ac, line 469
> > <https://reviews.apache.org/r/16436/diff/4/?file=413415#file413415line469>
> >
> >     os module seems to be unused?

True, was a leftover.


> On Jan. 3, 2014, 8:39 p.m., Vinod Kone wrote:
> > configure.ac, lines 509-510
> > <https://reviews.apache.org/r/16436/diff/4/?file=413415#file413415line509>
> >
> >     Is setting PYTHON env variable to a non-default distribution also an option?

How about these?

OSX-specific:

--- snip ---
It appears we were unable to build a usable native Python egg.
You might be using the default Mac OS X Python distribution which
is incompatible for building native eggs using this compiler
setup.
See https://issues.apache.org/jira/browse/MESOS-799 for more
details.
There are two possible workarounds for this issue:
1. Disable Python, but that will mean that we don't build Python 
bindings.
2. Use an alternative Python that is built matching the build 
settings of Mesos.
--- snap ---

All other systems:

--- snip ---
It appears we were unable to build a usable native Python egg.
There are two possible workarounds for this issue:
1. Disable Python, but that will mean that we don't build Python 
bindings.
2. Use an alternative Python distribution that is built matching 
the build settings of Mesos. 
--- snap ---


- TILL


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/16436/#review31157
-----------------------------------------------------------


On Jan. 3, 2014, 11:03 a.m., TILL TOENSHOFF wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/16436/
> -----------------------------------------------------------
> 
> (Updated Jan. 3, 2014, 11:03 a.m.)
> 
> 
> Review request for mesos, Benjamin Hindman, Ben Mahler, and Niklas Nielsen.
> 
> 
> Bugs: MESOS-799
>     https://issues.apache.org/jira/browse/MESOS-799
> 
> 
> Repository: mesos-git
> 
> 
> Description
> -------
> 
> This autoconf check does a rather complex test for covering MESOS-799. It builds and test-runs a minimal egg that links against a static library that imports a standard C++ library object. A static library (built using the standard mesos build settings) is needed in this puzzle because the egg producing distutils possibly use slightly different build settings (derived from python-config). 
> If that check succeeds, we can be rather sure that the mesos-egg itself will be functional from a build-env point of view. When this test fails, the user is given a sort of explanation and a hint to work around the issue.
> 
> Note that this check is performed regardless of the base OS. The error message however is OS specific.
> 
> 
> Diffs
> -----
> 
>   configure.ac f69908a 
> 
> Diff: https://reviews.apache.org/r/16436/diff/
> 
> 
> Testing
> -------
> 
> ./bootstrap ./configure - all on linux and OSX 10.9 (with and without clang, with and without default python)
> 
> 
> Thanks,
> 
> TILL TOENSHOFF
> 
>


Re: Review Request 16436: Try to build a usable, native python egg during autoconf phase

Posted by Vinod Kone <vi...@gmail.com>.

> On Jan. 3, 2014, 8:39 p.m., Vinod Kone wrote:
> > configure.ac, lines 509-510
> > <https://reviews.apache.org/r/16436/diff/4/?file=413415#file413415line509>
> >
> >     Is setting PYTHON env variable to a non-default distribution also an option?
> 
> TILL TOENSHOFF wrote:
>     How about these?
>     
>     OSX-specific:
>     
>     --- snip ---
>     It appears we were unable to build a usable native Python egg.
>     You might be using the default Mac OS X Python distribution which
>     is incompatible for building native eggs using this compiler
>     setup.
>     See https://issues.apache.org/jira/browse/MESOS-799 for more
>     details.
>     There are two possible workarounds for this issue:
>     1. Disable Python, but that will mean that we don't build Python 
>     bindings.
>     2. Use an alternative Python that is built matching the build 
>     settings of Mesos.
>     --- snap ---
>     
>     All other systems:
>     
>     --- snip ---
>     It appears we were unable to build a usable native Python egg.
>     There are two possible workarounds for this issue:
>     1. Disable Python, but that will mean that we don't build Python 
>     bindings.
>     2. Use an alternative Python distribution that is built matching 
>     the build settings of Mesos. 
>     --- snap ---

LGTM. Maybe you could be a bit specific about how to use an alternate python distribution? e.g., PYTHON=/path/to/python ./configure?


- Vinod


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/16436/#review31157
-----------------------------------------------------------


On Jan. 3, 2014, 11:32 p.m., TILL TOENSHOFF wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/16436/
> -----------------------------------------------------------
> 
> (Updated Jan. 3, 2014, 11:32 p.m.)
> 
> 
> Review request for mesos, Benjamin Hindman, Ben Mahler, Niklas Nielsen, and Vinod Kone.
> 
> 
> Bugs: MESOS-799
>     https://issues.apache.org/jira/browse/MESOS-799
> 
> 
> Repository: mesos-git
> 
> 
> Description
> -------
> 
> This autoconf check does a rather complex test for covering MESOS-799. It builds and test-runs a minimal egg that links against a static library that imports a standard C++ library object. A static library (built using the standard mesos build settings) is needed in this puzzle because the egg producing distutils possibly use slightly different build settings (derived from python-config). 
> If that check succeeds, we can be rather sure that the mesos-egg itself will be functional from a build-env point of view. When this test fails, the user is given a sort of explanation and a hint to work around the issue.
> 
> Note that this check is performed regardless of the base OS. The error message however is OS specific.
> 
> 
> Diffs
> -----
> 
>   configure.ac f69908a 
> 
> Diff: https://reviews.apache.org/r/16436/diff/
> 
> 
> Testing
> -------
> 
> ./bootstrap ./configure - all on linux and OSX 10.9 (with and without clang, with and without default python)
> 
> 
> Thanks,
> 
> TILL TOENSHOFF
> 
>


Re: Review Request 16436: Try to build a usable, native python egg during autoconf phase

Posted by Vinod Kone <vi...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/16436/#review31157
-----------------------------------------------------------



configure.ac
<https://reviews.apache.org/r/16436/#comment59528>

    os module seems to be unused?



configure.ac
<https://reviews.apache.org/r/16436/#comment59526>

    Is setting PYTHON env variable to a non-default distribution also an option?


- Vinod Kone


On Jan. 3, 2014, 11:03 a.m., TILL TOENSHOFF wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/16436/
> -----------------------------------------------------------
> 
> (Updated Jan. 3, 2014, 11:03 a.m.)
> 
> 
> Review request for mesos, Benjamin Hindman, Ben Mahler, and Niklas Nielsen.
> 
> 
> Bugs: MESOS-799
>     https://issues.apache.org/jira/browse/MESOS-799
> 
> 
> Repository: mesos-git
> 
> 
> Description
> -------
> 
> This autoconf check does a rather complex test for covering MESOS-799. It builds and test-runs a minimal egg that links against a static library that imports a standard C++ library object. A static library (built using the standard mesos build settings) is needed in this puzzle because the egg producing distutils possibly use slightly different build settings (derived from python-config). 
> If that check succeeds, we can be rather sure that the mesos-egg itself will be functional from a build-env point of view. When this test fails, the user is given a sort of explanation and a hint to work around the issue.
> 
> Note that this check is performed regardless of the base OS. The error message however is OS specific.
> 
> 
> Diffs
> -----
> 
>   configure.ac f69908a 
> 
> Diff: https://reviews.apache.org/r/16436/diff/
> 
> 
> Testing
> -------
> 
> ./bootstrap ./configure - all on linux and OSX 10.9 (with and without clang, with and without default python)
> 
> 
> Thanks,
> 
> TILL TOENSHOFF
> 
>


Re: Review Request 16436: Try to build a usable, native python egg during autoconf phase

Posted by Niklas Nielsen <ni...@qni.dk>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/16436/#review31152
-----------------------------------------------------------

Ship it!



configure.ac
<https://reviews.apache.org/r/16436/#comment59523>

    Looking at the surrounding code, it looks like wrapped lines should be indented with 2 spaces (try to see line 532-535).
    
    So it becomes:
    
    CXX=... \
      LDFLAGS=...



configure.ac
<https://reviews.apache.org/r/16436/#comment59521>

    Same here.


- Niklas Nielsen


On Jan. 3, 2014, 11:03 a.m., TILL TOENSHOFF wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/16436/
> -----------------------------------------------------------
> 
> (Updated Jan. 3, 2014, 11:03 a.m.)
> 
> 
> Review request for mesos, Benjamin Hindman, Ben Mahler, and Niklas Nielsen.
> 
> 
> Bugs: MESOS-799
>     https://issues.apache.org/jira/browse/MESOS-799
> 
> 
> Repository: mesos-git
> 
> 
> Description
> -------
> 
> This autoconf check does a rather complex test for covering MESOS-799. It builds and test-runs a minimal egg that links against a static library that imports a standard C++ library object. A static library (built using the standard mesos build settings) is needed in this puzzle because the egg producing distutils possibly use slightly different build settings (derived from python-config). 
> If that check succeeds, we can be rather sure that the mesos-egg itself will be functional from a build-env point of view. When this test fails, the user is given a sort of explanation and a hint to work around the issue.
> 
> Note that this check is performed regardless of the base OS. The error message however is OS specific.
> 
> 
> Diffs
> -----
> 
>   configure.ac f69908a 
> 
> Diff: https://reviews.apache.org/r/16436/diff/
> 
> 
> Testing
> -------
> 
> ./bootstrap ./configure - all on linux and OSX 10.9 (with and without clang, with and without default python)
> 
> 
> Thanks,
> 
> TILL TOENSHOFF
> 
>