You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@mesos.apache.org by Kelvin Long <lo...@gmail.com> on 2012/12/13 13:19:29 UTC

mess 0.9.0 couldn't compile in Ubuntu 12.10

Hi all,

I am trying to compile the latest mesos 0.9.0 code in Ubuntu Server 12.10, however got the following error messages and couldn't compile:
----------------------------------------------------------------------------------------------------------------
In file included from ../../../third_party/libprocess/include/process/event.hpp:10:0,
                from ../../../third_party/libprocess/include/process/process.hpp:13,
                from ../../../third_party/libprocess/src/latch.cpp:2:
../../../third_party/libprocess/include/process/socket.hpp: In member function 'void Socket::cleanup()':
../../../third_party/libprocess/include/process/socket.hpp:64:16: error: 'close' was not declared in this scope
make[4]: *** [libprocess_la-latch.lo] Error 1
make[4]: Leaving directory `/opt/packget/mesos-0.9.0/build/third_party/libprocess'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/opt/packget/mesos-0.9.0/build/third_party/libprocess'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/opt/packget/mesos-0.9.0/build/third_party'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/opt/packget/mesos-0.9.0/build/third_party'
make: *** [all-recursive] Error 1
----------------------------------------------------------------------------------------------------------------

Then I searched around and saw similar issue found for Ubuntu 12.04 and followed the advice to add #include <unistd.h> in socket.hpp, then the error above was gone, however new error messages showed up and still couldn't compile:
----------------------------------------------------------------------------------------------------------------
../../src/common/hashmap.hpp:40:61: error: 'count' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
../third_party/boost-1.37.0/boost/uuid/seed_rng.hpp:153:53: warning: ignoring return value of 'size_t fread(void*, size_t, size_t, FILE*)', declared with attribute warn_unused_result [-Wunused-result]
make[2]: *** [sched/libmesos_no_third_party_la-sched.lo] Error 1
make[2]: Leaving directory `/opt/packget/mesos-0.9.0/build/src'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/opt/packget/mesos-0.9.0/build/src'
make: *** [all-recursive] Error 1
----------------------------------------------------------------------------------------------------------------

Would you please help to provide a fix as early as possible since we are trying to rollout an update to our production cluster.

Best,
Kelvin

Re: mess 0.9.0 couldn't compile in Ubuntu 12.10

Posted by Benjamin Mahler <bm...@twitter.com>.
Hi Kelvin,

By 'latest mesos 0.9.0 code', do you mean the 0.9.0 release?
The release hasn't changed recently, did you have 0.9.0 building on your
system previously?

I believe Ubuntu 12.10 uses gcc 4.7 by default, we currently don't build
with 4.7.
See: https://issues.apache.org/jira/browse/MESOS-271

On Thu, Dec 13, 2012 at 4:19 AM, Kelvin Long <lo...@gmail.com> wrote:

> Hi all,
>
> I am trying to compile the latest mesos 0.9.0 code in Ubuntu Server 12.10,
> however got the following error messages and couldn't compile:
>
> ----------------------------------------------------------------------------------------------------------------
> In file included from
> ../../../third_party/libprocess/include/process/event.hpp:10:0,
>                 from
> ../../../third_party/libprocess/include/process/process.hpp:13,
>                 from ../../../third_party/libprocess/src/latch.cpp:2:
> ../../../third_party/libprocess/include/process/socket.hpp: In member
> function 'void Socket::cleanup()':
> ../../../third_party/libprocess/include/process/socket.hpp:64:16: error:
> 'close' was not declared in this scope
> make[4]: *** [libprocess_la-latch.lo] Error 1
> make[4]: Leaving directory
> `/opt/packget/mesos-0.9.0/build/third_party/libprocess'
> make[3]: *** [all-recursive] Error 1
> make[3]: Leaving directory
> `/opt/packget/mesos-0.9.0/build/third_party/libprocess'
> make[2]: *** [all-recursive] Error 1
> make[2]: Leaving directory `/opt/packget/mesos-0.9.0/build/third_party'
> make[1]: *** [all] Error 2
> make[1]: Leaving directory `/opt/packget/mesos-0.9.0/build/third_party'
> make: *** [all-recursive] Error 1
>
> ----------------------------------------------------------------------------------------------------------------
>
> Then I searched around and saw similar issue found for Ubuntu 12.04 and
> followed the advice to add #include <unistd.h> in socket.hpp, then the
> error above was gone, however new error messages showed up and still
> couldn't compile:
>
> ----------------------------------------------------------------------------------------------------------------
> ../../src/common/hashmap.hpp:40:61: error: 'count' was not declared in
> this scope, and no declarations were found by argument-dependent lookup at
> the point of instantiation [-fpermissive]
> ../third_party/boost-1.37.0/boost/uuid/seed_rng.hpp:153:53: warning:
> ignoring return value of 'size_t fread(void*, size_t, size_t, FILE*)',
> declared with attribute warn_unused_result [-Wunused-result]
> make[2]: *** [sched/libmesos_no_third_party_la-sched.lo] Error 1
> make[2]: Leaving directory `/opt/packget/mesos-0.9.0/build/src'
> make[1]: *** [all] Error 2
> make[1]: Leaving directory `/opt/packget/mesos-0.9.0/build/src'
> make: *** [all-recursive] Error 1
>
> ----------------------------------------------------------------------------------------------------------------
>
> Would you please help to provide a fix as early as possible since we are
> trying to rollout an update to our production cluster.
>
> Best,
> Kelvin

Re: mess 0.9.0 couldn't compile in Ubuntu 12.10

Posted by Vinod Kone <vi...@twitter.com>.
We have made several build related fixes recently. Can you try building off trunk?

@vinodkone
Sent from my mobile 

On Dec 13, 2012, at 4:19 AM, Kelvin Long <lo...@gmail.com> wrote:

> Hi all,
> 
> I am trying to compile the latest mesos 0.9.0 code in Ubuntu Server 12.10, however got the following error messages and couldn't compile:
> ----------------------------------------------------------------------------------------------------------------
> In file included from ../../../third_party/libprocess/include/process/event.hpp:10:0,
>                from ../../../third_party/libprocess/include/process/process.hpp:13,
>                from ../../../third_party/libprocess/src/latch.cpp:2:
> ../../../third_party/libprocess/include/process/socket.hpp: In member function 'void Socket::cleanup()':
> ../../../third_party/libprocess/include/process/socket.hpp:64:16: error: 'close' was not declared in this scope
> make[4]: *** [libprocess_la-latch.lo] Error 1
> make[4]: Leaving directory `/opt/packget/mesos-0.9.0/build/third_party/libprocess'
> make[3]: *** [all-recursive] Error 1
> make[3]: Leaving directory `/opt/packget/mesos-0.9.0/build/third_party/libprocess'
> make[2]: *** [all-recursive] Error 1
> make[2]: Leaving directory `/opt/packget/mesos-0.9.0/build/third_party'
> make[1]: *** [all] Error 2
> make[1]: Leaving directory `/opt/packget/mesos-0.9.0/build/third_party'
> make: *** [all-recursive] Error 1
> ----------------------------------------------------------------------------------------------------------------
> 
> Then I searched around and saw similar issue found for Ubuntu 12.04 and followed the advice to add #include <unistd.h> in socket.hpp, then the error above was gone, however new error messages showed up and still couldn't compile:
> ----------------------------------------------------------------------------------------------------------------
> ../../src/common/hashmap.hpp:40:61: error: 'count' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
> ../third_party/boost-1.37.0/boost/uuid/seed_rng.hpp:153:53: warning: ignoring return value of 'size_t fread(void*, size_t, size_t, FILE*)', declared with attribute warn_unused_result [-Wunused-result]
> make[2]: *** [sched/libmesos_no_third_party_la-sched.lo] Error 1
> make[2]: Leaving directory `/opt/packget/mesos-0.9.0/build/src'
> make[1]: *** [all] Error 2
> make[1]: Leaving directory `/opt/packget/mesos-0.9.0/build/src'
> make: *** [all-recursive] Error 1
> ----------------------------------------------------------------------------------------------------------------
> 
> Would you please help to provide a fix as early as possible since we are trying to rollout an update to our production cluster.
> 
> Best,
> Kelvin