Hi Kapil,

Thank you for your guide, I have created two pull requests on Github.

One is for using built-in picojson header file(git submodule), the other is
let the script to choose the library path.

https://github.com/mesos/modules/pull/6

https://github.com/mesos/modules/pull/7


Thanks.

On Wed, Sep 23, 2015 at 11:13 PM, Kapil Arya <ka...@mesosphere.io> wrote:

> On Wed, Sep 23, 2015 at 1:42 AM, zhiwei <zhiw...@gmail.com> wrote:
>
> > Hi Kapil,
> >
> > I don't know how to contribute to modules project, but there are two
> > issues:
> >
>
> One possibility is to simply create a pull request on github :-).
>
>
> >
> > My testing machine is Ubuntu 14.04 amd64.
> >
> > *1. Mesos lib64 dir*
> >
> > https://github.com/mesos/modules/blob/master/config ure.ac#L39
> > <https://github.com/mesos/modules/blob/master/configure.ac#L39>
> >
> > MESOS_LDFLAGS="-L${mesos}/lib64 -lmesos -lglog -lprotobuf"
> >
> > Mesos installs the libraries(*.so) to $prefix/lib directory by default,
> not
> > $prefix/lib64.
> >
>
> I guess we need to test for both $prefix/lib and $prefix/lib64 and choose
> appropriately.
>
>
> >
> >
> > *2. picojson.h header file*
> >
> > I workaround this issue to insert a line:
> >
> > https://github.com/mesos/modules/blob/master/configure.ac#L55
> >
> > if test -d "$mesos_build_dir"; then
> > cp $mesos_build_dir/3rdparty/libprocess/3rdparty/picojson-*/picojson.h
> > $mesos_build_dir/include
> >
>
> This wouldn't work if we didn't have mesos sources. A possibility is to
> include the picojson header directly into the sources or add a submodule to
> the repo that points to the picojson repo.
>
>
> >
> >
> > Thanks.
> >
> > On Fri, Sep 18, 2015 at 2:15 PM, Qian AZ Zhang <zhang...@cn.ibm.com>
> > wrote:
> >
> > > Hi Kapil,
> > >
> > > Any updates? :-)
> > >
> > > I have resolved that issue with a workaround by using the option
> > > "--disable-java", like:
> > >     ../configure --with-glog=/usr --with-protobuf=/usr
> --with-boost=/usr
> > > --disable-java
> > > And then I did "make" and "make install" successfully.
> > >
> > > However, after I cloned the code from https://github.com/mesos/modules
> > and
> > > found an error to build it:
> > >     $ ../configure --with-mesos=/usr/local
> > >     checking for gcc... gcc
> > >     checking whether the C compiler works... yes
> > >     ...
> > >     checking for google/protobuf/message.h... yes
> > >     checking picojson.h usability... no
> > >     checking picojson.h presence... no
> > >     checking for picojson.h... no
> > >     configure: error: picojson is not installed.
> > >
> > > So it can not find picojson.h. And I checked the source code tree of
> > > Mesos, and found picojson as a 3rd party lib are here:
> > > mesos/3rdparty/libprocess/3rdparty/picojson-4f93734.tar.gz, maybe we
> > should
> > > put the picojson.h to /usr/local/include during "make install"?
> > >
> > >
> > > Regards,
> > > Qian Zhang
> > >
> > > [image: Inactive hide details for Kapil Arya ---09/18/2015
> > 00:34:08---I'll
> > > take a look shortly and will report back with the status. Ka]Kapil Arya
> > > ---09/18/2015 00:34:08---I'll take a look shortly and will report back
> > with
> > > the status. Kapil
> > >
> > > From: Kapil Arya <ka...@mesosphere.io>
> > > To: dev <dev@mesos.apache.org>
> > > Date: 09/18/2015 00:34
> > > Subject: Re: Failed to build Mesos module
> > > ------------------------------
> > >
> > >
> > >
> > > I'll take a look shortly and will report back with the status.
> > >
> > > Kapil
> > >
> > >
> > > On Thu, Sep 17, 2015 at 10:56 AM, Qian AZ Zhang <zhang...@cn.ibm.com>
> > > wrote:
> > >
> > > > Thanks Kapil.
> > > >
> > > > I am now following the steps in https://github.com/mesos/modules to
> > > build
> > > > my module, but it failed:
> > > > stack@u1404u1:~/mesos/build$ ../configure --with-glog=/usr/local
> > > > --with-protobuf=/usr/local --with-boost=/usr/local
> > > > checking build system type... x86_64-unknown-linux-gnu
> > > > checking host system type... x86_64-unknown-linux-gnu
> > > > checking target system type... x86_64-unknown-linux-gnu
> > > > ...
> > > > checking for /usr/share/java/protobuf.jar... no
> > > > configure: error: cannot find
> PROTOBUF_JAR=/usr/share/java/protobuf.jar
> > > >
> > > > And I have already installed protobuf, glog and boost libraries in my
> > > > machine with the command:
> > > > sudo apt-get install libprotobuf-dev libboost-dev libgoogle-glog-dev
> > > >
> > > > Can you please help? Thanks!
> > > >
> > > >
> > > > Regards,
> > > > Qian Zhang
> > > >
> > > > [image: Inactive hide details for Kapil Arya ---09/17/2015
> > > > 21:50:55---Hello Qian, Please follow the instructions on
> > > > https://github.com/]Kapil Arya ---09/17/2015 21:50:55---Hello Qian,
> > > > Please follow the instructions on https://github.com/mesos/modules
> to
> > > get
> > > >
> > > > From: Kapil Arya <ka...@mesosphere.io>
> > > > To: dev <dev@mesos.apache.org>
> > > > Date: 09/17/2015 21:50
> > > > Subject: Re: Failed to build Mesos module
> > > > ------------------------------
> > > >
> > > >
> > > >
> > > > Hello Qian,
> > > >
> > > > Please follow the instructions on https://github.com/mesos/modules
> to
> > > get
> > > > up and running with building a mesos module. Apparently, building
> mesos
> > > > modules requires you to build Mesos without bundled protobuf, glog
> and
> > > > boost libraries. Thus, you need to have them installed system wide.
> The
> > > > above repo has a readme and a few test modules that you can play
> with.
> > > >
> > > > Please let us know if you need any more help.
> > > >
> > > > Kapil
> > > >
> > > > On Thu, Sep 17, 2015 at 9:20 AM, Qian AZ Zhang <zhang...@cn.ibm.com>
> > > > wrote:
> > > >
> > > > >
> > > > >
> > > > > Hi all,
> > > > >
> > > > > I am trying to follow the doc (
> > > > >
> > > > >
> > > >
> > >
> >
> https://github.com/apache/mesos/blob/master/docs/modules.md#writing-mesos-modules
> > > > > ) to implement a test module, but when I built the module, I got
> the
> > > > > following error:
> > > > >     user1@test1:~/mesos/src/examples$ g++ -lmesos -fpic -o
> > > test_module.o
> > > > > test_module.cpp
> > > > >     In file included from /usr/local/include/mesos/mesos.hpp:22:0,
> > > > >                      from test_module.hpp:22,
> > > > >                      from test_module.cpp:2:
> > > > >     /usr/local/include/mesos/mesos.pb.h:9:42: fatal error:
> > > > > google/protobuf/stubs/common.h: No such file or directory
> > > > >      #include <google/protobuf/stubs/common.h>
> > > > > ^
> > > > >     compilation terminated.
> > > > >
> > > > > It seems it can not find the header file:
> > > > google/protobuf/stubs/common.h. I
> > > > > see this header file is in the Mesos source code tree, but not in
> > > > > /usr/local/include/mesos ( I have done "make install" after
> building
> > > > Mesos
> > > > > source code).
> > > > >
> > > > > Any help will be appreciated, thanks!
> > > > >
> > > > >
> > > > > Regards,
> > > > > Qian Zhang
> > > >
> > > >
> > >
> > >
> >
>

Reply via email to