You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@mesos.apache.org by haja gecko <ha...@gmail.com> on 2014/03/09 03:23:42 UTC

building meso-0.17.0 failing on maverick

Hi,

i'm having trouble building on OS X Mavericks, Xcode 5.0.2.
Also attached my config.log

Looks like some python egg missing? Not sure. Never used python before.
Any help would be appreciated.

Using gcc-4.8/gxx-4.8

I downloaded the tar.gz.
Here's the command's i used.

$CC=gcc-4.8 CXX=g++-4.8 ../configure

$...

$make

...

gcc-4.8 -fno-strict-aliasing -fno-common -dynamic -g -Os -pipe -fno-common
-fno-strict-aliasing -fwrapv -mno-fused-madd -DENABLE_DTRACE -DMACOSX
-DNDEBUG -Wall -Wstrict-prototypes -Wshorten-64-to-32 -DNDEBUG -g -fwrapv
-Os -Wall -Wstrict-prototypes -DENABLE_DTRACE -pipe -arch x86_64
-I/Users/hlieu/java/mesos-0.17.0/build/../include
-I/Users/hlieu/java/mesos-0.17.0/build/include
-I/Users/hlieu/java/mesos-0.17.0/build/src
-I/Users/hlieu/java/mesos-0.17.0/build/src/python/native
-I/Users/hlieu/java/mesos-0.17.0/build/3rdparty/libprocess/3rdparty/protobuf-2.5.0/src
-I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7
-c native/mesos_executor_driver_impl.cpp -o
build/temp.macosx-10.9-intel-2.7/native/mesos_executor_driver_impl.o

gcc-4.8: warning: '-mfused-madd' is deprecated; use '-ffp-contract=' instead

gcc-4.8: error: unrecognized command line option '-Wshorten-64-to-32'

error: command 'gcc-4.8' failed with exit status 1

make[2]: *** [python/dist/mesos-0.17.0-py2.7-macosx-10.9-intel.egg] Error 1

make[1]: *** [all] Error 2

make: *** [all-recursive] Error 1

Re: building meso-0.17.0 failing on maverick

Posted by Till Toenshoff <to...@me.com>.
I believe that we are doing that since commit c3505e319d759e68425aa3b7177fc4377bf8db77 had landed.

That patch should warn users during the configuration phase when invalid python / c++ compiler setups are detected.

Haja, could you please send your config.log directly to me (toenshoff@me.com) as I missed your original post and the archives seem to have removed your attachment.

On Mar 10, 2014, at 7:43 PM, Benjamin Mahler <be...@gmail.com> wrote:

> Is there anything we can do to enforce this compatibility matrix at configure time?
> 
> ---------- Forwarded message ----------
> From: Till Toenshoff <to...@me.com>
> Date: Mon, Mar 10, 2014 at 11:38 AM
> Subject: Re: building meso-0.17.0 failing on maverick
> To: dev@mesos.apache.org
> 
> 
> Hey there - I did unfortunately miss the initial question, hence I have to do a bit of guess-work here. Forgive me if that is entirely off.
> 
> 
> That flag is not explicitly set by Mesos, as Vinod mentioned. It is however implicitly done by distutils extraction the cflags out of the existing python installation. So in the end, Mesos does in fact use that flag at least for the Python egg compilation.
> 
> You can check that by running:
> python-config —cflags
> 
> I would expect something like the following as the result:
> 
> -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -fno-strict-aliasing -fno-common -dynamic -arch x86_64 -arch i386 -g -Os -pipe -fno-common -fno-strict-aliasing -fwrapv -mno-fused-madd -DENABLE_DTRACE -DMACOSX -DNDEBUG -Wall -Wstrict-prototypes -Wshorten-64-to-32 -DNDEBUG -g -fwrapv -Os -Wall -Wstrict-prototypes -DENABLE_DTRACE
> 
> 
> As you can see, there is this "-Wshorten-64-to-32” coming from and it is used when building the python egg. As you are using gcc to compile and not clang, the problem pops up.
> 
> If you really have to use gcc, then you will have to install an alternative Python distribution - I would recommend using homebrew or anything else.
> 
> As an alternative, use clang as that is AFAIK fully supported since Mesos 0.17.0.
> 
> The simplified compatibility matrix is as follows:
> 
>           apple-python  brew-python
> clang         X                    -
> gcc            -                     X
> 
> 
> Hope that helps. There is some more background on this issue on http://stackoverflow.com/questions/20733512/mesos-examplestest-pythonframework-check-fails-on-osx
> 
> cheerio!
> Till
> 
> On Mar 10, 2014, at 6:50 PM, Vinod Kone <vi...@gmail.com> wrote:
> 
> > On Sat, Mar 8, 2014 at 6:23 PM, haja gecko <ha...@gmail.com> wrote:
> >
> >> gcc-4.8: error: unrecognized command line option '-Wshorten-64-to-32'
> >>
> >>
> > This doesn't seem to be a valid gcc option. AFAICT, this is not being set
> > in our Makefiles. Do you have some alias that is setting this option?
> >
> > ➜  mesos git:(master) gcc-4.8 -Wshorten-64-to-32
> > gcc-4.8: error: unrecognized command line option '-Wshorten-64-to-32'
> > gcc-4.8: fatal error: no input files
> > compilation terminated.
> >
> > ➜  mesos git:(master) ack "shorten-64-to-32" *
> > ➜
> 
> 


Re: building meso-0.17.0 failing on maverick

Posted by Till Toenshoff <to...@me.com>.
Hey there - I did unfortunately miss the initial question, hence I have to do a bit of guess-work here. Forgive me if that is entirely off.


That flag is not explicitly set by Mesos, as Vinod mentioned. It is however implicitly done by distutils extraction the cflags out of the existing python installation. So in the end, Mesos does in fact use that flag at least for the Python egg compilation.

You can check that by running:  
python-config —cflags

I would expect something like the following as the result:

-I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -fno-strict-aliasing -fno-common -dynamic -arch x86_64 -arch i386 -g -Os -pipe -fno-common -fno-strict-aliasing -fwrapv -mno-fused-madd -DENABLE_DTRACE -DMACOSX -DNDEBUG -Wall -Wstrict-prototypes -Wshorten-64-to-32 -DNDEBUG -g -fwrapv -Os -Wall -Wstrict-prototypes -DENABLE_DTRACE


As you can see, there is this "-Wshorten-64-to-32” coming from and it is used when building the python egg. As you are using gcc to compile and not clang, the problem pops up.

If you really have to use gcc, then you will have to install an alternative Python distribution - I would recommend using homebrew or anything else.

As an alternative, use clang as that is AFAIK fully supported since Mesos 0.17.0.

The simplified compatibility matrix is as follows:

          apple-python  brew-python
clang         X                    -
gcc            -                     X


Hope that helps. There is some more background on this issue on http://stackoverflow.com/questions/20733512/mesos-examplestest-pythonframework-check-fails-on-osx

cheerio!
Till

On Mar 10, 2014, at 6:50 PM, Vinod Kone <vi...@gmail.com> wrote:

> On Sat, Mar 8, 2014 at 6:23 PM, haja gecko <ha...@gmail.com> wrote:
> 
>> gcc-4.8: error: unrecognized command line option '-Wshorten-64-to-32'
>> 
>> 
> This doesn't seem to be a valid gcc option. AFAICT, this is not being set
> in our Makefiles. Do you have some alias that is setting this option?
> 
> ➜  mesos git:(master) gcc-4.8 -Wshorten-64-to-32
> gcc-4.8: error: unrecognized command line option '-Wshorten-64-to-32'
> gcc-4.8: fatal error: no input files
> compilation terminated.
> 
> ➜  mesos git:(master) ack "shorten-64-to-32" *
> ➜


Re: building meso-0.17.0 failing on maverick

Posted by haja gecko <ha...@gmail.com>.
sorry, this is the wrong config file.
i've since re-attempted the build.

let me start over with the same settings as before.


On Tue, Mar 11, 2014 at 7:17 PM, haja gecko <ha...@gmail.com> wrote:

> config.log added here
>
> https://gist.github.com/hajagecko/9499418
>
>
>
> On Tue, Mar 11, 2014 at 5:29 PM, Till Toenshoff <to...@me.com> wrote:
>
>> Would you mind sharing your config.log via https://gist.github.com/?
>> Would be a bit easier for us and also for you as you would not have to
>> manually accept access for each and everyone that tries to help.
>>
>> cheers!
>> Till
>>
>> On Mar 12, 2014, at 1:21 AM, haja gecko <ha...@gmail.com> wrote:
>>
>> > hi vinod/till
>> >
>> > i am not setting any aliases for this option.
>> >
>> > i thought i was using clang, but i may be wrong, in which case the os
>> must
>> > be implicitly picking up the gcc-4.8 that i manually installed on
>> > mavericks. i went through several iterations of trying to build, so i
>> may
>> > have changed stuff on my OS that i am not aware off. Mac OS development
>> is
>> > pretty new to me, and all the accompanying dependencies.
>> >
>> > i will attempt the recommendations in the email thread and update as
>> > possible.
>> > Maybe i can help document some of this stuff as i struggle through it.
>> > Looking to help out with this project and i expect initially i'll be
>> > slogging through alot of the technical stuff as i try to learn some of
>> the
>> > awesome stuff i see going on here.
>> >
>> > thanks for the help.
>> >
>> > ​
>> > config.log<
>> https://docs.google.com/file/d/0BxSqBT3ijbPud2pVckhQclpKbTA/edit?usp=drive_web
>> >
>> > ​
>> >
>> >
>> > On Mon, Mar 10, 2014 at 10:50 AM, Vinod Kone <vi...@gmail.com>
>> wrote:
>> >
>> >> On Sat, Mar 8, 2014 at 6:23 PM, haja gecko <ha...@gmail.com>
>> wrote:
>> >>
>> >>> gcc-4.8: error: unrecognized command line option '-Wshorten-64-to-32'
>> >>>
>> >>>
>> >> This doesn't seem to be a valid gcc option. AFAICT, this is not being
>> set
>> >> in our Makefiles. Do you have some alias that is setting this option?
>> >>
>> >> ➜  mesos git:(master) gcc-4.8 -Wshorten-64-to-32
>> >> gcc-4.8: error: unrecognized command line option '-Wshorten-64-to-32'
>> >> gcc-4.8: fatal error: no input files
>> >> compilation terminated.
>> >>
>> >> ➜  mesos git:(master) ack "shorten-64-to-32" *
>> >> ➜
>> >>
>>
>>
>

Re: building meso-0.17.0 failing on maverick

Posted by haja gecko <ha...@gmail.com>.
config.log added here

https://gist.github.com/hajagecko/9499418



On Tue, Mar 11, 2014 at 5:29 PM, Till Toenshoff <to...@me.com> wrote:

> Would you mind sharing your config.log via https://gist.github.com/?
> Would be a bit easier for us and also for you as you would not have to
> manually accept access for each and everyone that tries to help.
>
> cheers!
> Till
>
> On Mar 12, 2014, at 1:21 AM, haja gecko <ha...@gmail.com> wrote:
>
> > hi vinod/till
> >
> > i am not setting any aliases for this option.
> >
> > i thought i was using clang, but i may be wrong, in which case the os
> must
> > be implicitly picking up the gcc-4.8 that i manually installed on
> > mavericks. i went through several iterations of trying to build, so i may
> > have changed stuff on my OS that i am not aware off. Mac OS development
> is
> > pretty new to me, and all the accompanying dependencies.
> >
> > i will attempt the recommendations in the email thread and update as
> > possible.
> > Maybe i can help document some of this stuff as i struggle through it.
> > Looking to help out with this project and i expect initially i'll be
> > slogging through alot of the technical stuff as i try to learn some of
> the
> > awesome stuff i see going on here.
> >
> > thanks for the help.
> >
> > ​
> > config.log<
> https://docs.google.com/file/d/0BxSqBT3ijbPud2pVckhQclpKbTA/edit?usp=drive_web
> >
> > ​
> >
> >
> > On Mon, Mar 10, 2014 at 10:50 AM, Vinod Kone <vi...@gmail.com>
> wrote:
> >
> >> On Sat, Mar 8, 2014 at 6:23 PM, haja gecko <ha...@gmail.com>
> wrote:
> >>
> >>> gcc-4.8: error: unrecognized command line option '-Wshorten-64-to-32'
> >>>
> >>>
> >> This doesn't seem to be a valid gcc option. AFAICT, this is not being
> set
> >> in our Makefiles. Do you have some alias that is setting this option?
> >>
> >> ➜  mesos git:(master) gcc-4.8 -Wshorten-64-to-32
> >> gcc-4.8: error: unrecognized command line option '-Wshorten-64-to-32'
> >> gcc-4.8: fatal error: no input files
> >> compilation terminated.
> >>
> >> ➜  mesos git:(master) ack "shorten-64-to-32" *
> >> ➜
> >>
>
>

Re: building meso-0.17.0 failing on maverick

Posted by Till Toenshoff <to...@me.com>.
Would you mind sharing your config.log via https://gist.github.com/? Would be a bit easier for us and also for you as you would not have to manually accept access for each and everyone that tries to help.

cheers!
Till  

On Mar 12, 2014, at 1:21 AM, haja gecko <ha...@gmail.com> wrote:

> hi vinod/till
> 
> i am not setting any aliases for this option.
> 
> i thought i was using clang, but i may be wrong, in which case the os must
> be implicitly picking up the gcc-4.8 that i manually installed on
> mavericks. i went through several iterations of trying to build, so i may
> have changed stuff on my OS that i am not aware off. Mac OS development is
> pretty new to me, and all the accompanying dependencies.
> 
> i will attempt the recommendations in the email thread and update as
> possible.
> Maybe i can help document some of this stuff as i struggle through it.
> Looking to help out with this project and i expect initially i'll be
> slogging through alot of the technical stuff as i try to learn some of the
> awesome stuff i see going on here.
> 
> thanks for the help.
> 
> ​
> config.log<https://docs.google.com/file/d/0BxSqBT3ijbPud2pVckhQclpKbTA/edit?usp=drive_web>
> ​
> 
> 
> On Mon, Mar 10, 2014 at 10:50 AM, Vinod Kone <vi...@gmail.com> wrote:
> 
>> On Sat, Mar 8, 2014 at 6:23 PM, haja gecko <ha...@gmail.com> wrote:
>> 
>>> gcc-4.8: error: unrecognized command line option '-Wshorten-64-to-32'
>>> 
>>> 
>> This doesn't seem to be a valid gcc option. AFAICT, this is not being set
>> in our Makefiles. Do you have some alias that is setting this option?
>> 
>> ➜  mesos git:(master) gcc-4.8 -Wshorten-64-to-32
>> gcc-4.8: error: unrecognized command line option '-Wshorten-64-to-32'
>> gcc-4.8: fatal error: no input files
>> compilation terminated.
>> 
>> ➜  mesos git:(master) ack "shorten-64-to-32" *
>> ➜
>> 


Re: building meso-0.17.0 failing on maverick

Posted by haja gecko <ha...@gmail.com>.
hi vinod/till

i am not setting any aliases for this option.

i thought i was using clang, but i may be wrong, in which case the os must
be implicitly picking up the gcc-4.8 that i manually installed on
mavericks. i went through several iterations of trying to build, so i may
have changed stuff on my OS that i am not aware off. Mac OS development is
pretty new to me, and all the accompanying dependencies.

i will attempt the recommendations in the email thread and update as
possible.
Maybe i can help document some of this stuff as i struggle through it.
Looking to help out with this project and i expect initially i'll be
slogging through alot of the technical stuff as i try to learn some of the
awesome stuff i see going on here.

thanks for the help.

​
 config.log<https://docs.google.com/file/d/0BxSqBT3ijbPud2pVckhQclpKbTA/edit?usp=drive_web>
​


On Mon, Mar 10, 2014 at 10:50 AM, Vinod Kone <vi...@gmail.com> wrote:

> On Sat, Mar 8, 2014 at 6:23 PM, haja gecko <ha...@gmail.com> wrote:
>
> > gcc-4.8: error: unrecognized command line option '-Wshorten-64-to-32'
> >
> >
> This doesn't seem to be a valid gcc option. AFAICT, this is not being set
> in our Makefiles. Do you have some alias that is setting this option?
>
> ➜  mesos git:(master) gcc-4.8 -Wshorten-64-to-32
> gcc-4.8: error: unrecognized command line option '-Wshorten-64-to-32'
> gcc-4.8: fatal error: no input files
> compilation terminated.
>
> ➜  mesos git:(master) ack "shorten-64-to-32" *
> ➜
>

Re: building meso-0.17.0 failing on maverick

Posted by Vinod Kone <vi...@gmail.com>.
On Sat, Mar 8, 2014 at 6:23 PM, haja gecko <ha...@gmail.com> wrote:

> gcc-4.8: error: unrecognized command line option '-Wshorten-64-to-32'
>
>
This doesn't seem to be a valid gcc option. AFAICT, this is not being set
in our Makefiles. Do you have some alias that is setting this option?

➜  mesos git:(master) gcc-4.8 -Wshorten-64-to-32
gcc-4.8: error: unrecognized command line option '-Wshorten-64-to-32'
gcc-4.8: fatal error: no input files
compilation terminated.

➜  mesos git:(master) ack "shorten-64-to-32" *
➜

Re: building meso-0.17.0 failing on maverick

Posted by haja gecko <ha...@gmail.com>.
Hi,

Here's my config.log

https://gist.github.com/hajagecko/9499418

so i re-configured, rebuild using gcc-4.8/g++-4.8 as so

$mkdir build

$cd build

$CC=gcc-4.8 CXX=g++-4.8 ../configure

...

$make

...

gcc-4.8 -fno-strict-aliasing -fno-common -dynamic -g -Os -pipe -fno-common
-fno-strict-aliasing -fwrapv -mno-fused-madd -DENABLE_DTRACE -DMACOSX
-DNDEBUG -Wall -Wstrict-prototypes -Wshorten-64-to-32 -DNDEBUG -g -fwrapv
-Os -Wall -Wstrict-prototypes -DENABLE_DTRACE -pipe -arch x86_64
-I/Users/hlieu/java/mesos-0.17.0/build/../include
-I/Users/hlieu/java/mesos-0.17.0/build/include
-I/Users/hlieu/java/mesos-0.17.0/build/src
-I/Users/hlieu/java/mesos-0.17.0/build/src/python/native
-I/Users/hlieu/java/mesos-0.17.0/build/3rdparty/libprocess/3rdparty/protobuf-2.5.0/src
-I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7
-c native/mesos_executor_driver_impl.cpp -o
build/temp.macosx-10.9-intel-2.7/native/mesos_executor_driver_impl.o

gcc-4.8: warning: '-mfused-madd' is deprecated; use '-ffp-contract=' instead

gcc-4.8: error: unrecognized command line option '-Wshorten-64-to-32'

error: command 'gcc-4.8' failed with exit status 1

make[2]: *** [python/dist/mesos-0.17.0-py2.7-macosx-10.9-intel.egg] Error 1

make[1]: *** [all] Error 2

make: *** [all-recursive] Error 1



As Till said -Wshorten-64-to-32 is being added by my python version.

 build 501 > python-config --cflags

-I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7
-I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7
-fno-strict-aliasing -fno-common -dynamic -g -Os -pipe -fno-common
-fno-strict-aliasing -fwrapv -mno-fused-madd -DENABLE_DTRACE -DMACOSX
-DNDEBUG -Wall -Wstrict-prototypes -Wshorten-64-to-32 -DNDEBUG -g -fwrapv
-Os -Wall -Wstrict-prototypes -DENABLE_DTRACE -arch x86_64

I did previous try clang, and that also ended in error.
Most likely due to my python, so i'll try using clang with the proper
python.



On Sat, Mar 8, 2014 at 6:23 PM, haja gecko <ha...@gmail.com> wrote:

> Hi,
>
> i'm having trouble building on OS X Mavericks, Xcode 5.0.2.
> Also attached my config.log
>
> Looks like some python egg missing? Not sure. Never used python before.
> Any help would be appreciated.
>
> Using gcc-4.8/gxx-4.8
>
> I downloaded the tar.gz.
> Here's the command's i used.
>
> $CC=gcc-4.8 CXX=g++-4.8 ../configure
>
> $...
>
> $make
>
> ...
>
> gcc-4.8 -fno-strict-aliasing -fno-common -dynamic -g -Os -pipe -fno-common
> -fno-strict-aliasing -fwrapv -mno-fused-madd -DENABLE_DTRACE -DMACOSX
> -DNDEBUG -Wall -Wstrict-prototypes -Wshorten-64-to-32 -DNDEBUG -g -fwrapv
> -Os -Wall -Wstrict-prototypes -DENABLE_DTRACE -pipe -arch x86_64
> -I/Users/hlieu/java/mesos-0.17.0/build/../include
> -I/Users/hlieu/java/mesos-0.17.0/build/include
> -I/Users/hlieu/java/mesos-0.17.0/build/src
> -I/Users/hlieu/java/mesos-0.17.0/build/src/python/native
> -I/Users/hlieu/java/mesos-0.17.0/build/3rdparty/libprocess/3rdparty/protobuf-2.5.0/src
> -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7
> -c native/mesos_executor_driver_impl.cpp -o
> build/temp.macosx-10.9-intel-2.7/native/mesos_executor_driver_impl.o
>
> gcc-4.8: warning: '-mfused-madd' is deprecated; use '-ffp-contract='
> instead
>
> gcc-4.8: error: unrecognized command line option '-Wshorten-64-to-32'
>
> error: command 'gcc-4.8' failed with exit status 1
>
> make[2]: *** [python/dist/mesos-0.17.0-py2.7-macosx-10.9-intel.egg] Error 1
>
> make[1]: *** [all] Error 2
>
> make: *** [all-recursive] Error 1
>