mesos-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Kapil Arya <ka...@mesosphere.io>
Subject Re: Install some 3rdparty packages needed for building Mesos modules
Date Wed, 20 Jan 2016 06:22:13 GMT
On Tue, Jan 19, 2016 at 11:58 PM, James Peach <jorgar@gmail.com> wrote:
>
>> On Jan 19, 2016, at 2:03 PM, Kapil Arya <kapil@mesosphere.io> 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.

That's a lot of work and super hard to maintain IMHO :(.

>> 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).

I'll take a look at this one.

> MESOS-4096 makes it impossible to run stout tests against a protobuf that is not version
2.5.0.

At some point, AlexR and I tried to work on it, but with the stout
directory structure, it got harder to fix then it seemed at first.

>
>> 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
>

Mime
View raw message