> On Jan 19, 2016, at 2:03 PM, Kapil Arya <[email protected]> wrote:
>
> Hi All,
>
> I wanted to get your opinion on installing the 3rdparty packages glog,
> protobuf, boost and picojson[1] when installing Mesos itself. These
> packages are required to build Mesos modules.
An alternative approach could be to hide these headers so they are internal to
Mesos and not incidentally required by innocent modules. IIRC this should be
fairly easy for picojson, but (much) harder for glog, protobuf and boost.
> Currently, a module write has to manually install these 3rdparty
> packages, either system-wide or locally, and update the compilation
> flags such as CPPFLAGS to point to the installation which is
> error-prone. Further, one might have a system-wide installation with
> the wrong package version, causing even more headache.
If you are looking at this, could you please also look at these:
https://issues.apache.org/jira/browse/MESOS-2537
https://issues.apache.org/jira/browse/MESOS-4096
MESOS-2537 provides consistent behaviour for building against optionally
bundled dependencies (and fixes the --enable-foo semantics).
MESOS-4096 makes it impossible to run stout tests against a protobuf that is
not version 2.5.0.
> The proposal here is to install these 3rdparty packages when
> installing Mesos. To avoid any conflicts with system-wide or local
> installation, we can install them as follows:
>
> ${PREFIX}/include/mesos/3rdparty -- for header files
> ${PREFIX}/<LIBDIR>/mesos/3rdparty -- for library files (LIBDIR can be
> lib or lib64 depending upon the installation)
>
> where PREFIX refers to the `--prefix` flag for Mesos configure script.
>
> We would then update `mesos.pc` with the correct flags so that a
> module write can simply use `pkg-config` to get all the required
> flags.
>
> I have created an issue
> https://issues.apache.org/jira/browse/MESOS-4434 to track this.
>
> Best,
> Kapil
>
>
> [1]: picojson is currently installed in ${PREFIX}/include. See
> https://issues.apache.org/jira/browse/MESOS-3909