On Tue, Jan 19, 2016 at 11:58 PM, James Peach <jor...@gmail.com> wrote:
>
>> On Jan 19, 2016, at 2:03 PM, Kapil Arya <ka...@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
>

Reply via email to