[
https://issues.apache.org/jira/browse/MESOS-2096?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Niklas Quarfot Nielsen updated MESOS-2096:
------------------------------------------
Sprint: Mesosphere Q1 Sprint 2 - 2/6, Mesosphere Q1 Sprint 3 - 2/20 (was:
Mesosphere Q1 Sprint 2 - 2/6)
> Allow Mesos modules to be built outside the Mesos source tree
> -------------------------------------------------------------
>
> Key: MESOS-2096
> URL: https://issues.apache.org/jira/browse/MESOS-2096
> Project: Mesos
> Issue Type: Bug
> Reporter: Kapil Arya
> Assignee: Kapil Arya
> Priority: Blocker
>
> We want to be able to provide a mechanism to allow third parties to build
> Mesos modules outside the Mesos source tree. Ideally, we would want to build
> Mesos modules without the need to build Mesos itself, provided that the
> public headers and corresponding shared libraries are available.
> Building a Mesos module requires access to the following components:
> 1. stout headers
> 2. libprocess headers and corresponding dynamic libraries (current, just
> libmesos.so)
> 3. protobufs
> 4. glog
> 5. boost
> Of the above components, stout headers and libprocess headers are already
> installed as part of standard Mesos installation.
> The problem lies with the bundled packages such as protobufs. It is the
> understanding that Mesos modules should be built with the same version of
> these packages with which Mesos was built. Since Mesos may have used the
> bundled versions, there is no way to build a module without having access to
> the Mesos source tree and the build directory.
> Having access to the source and build directory solves only part of the
> problem. The module build system needs to be aware of the configure
> parameters that were used for building Mesos (and accordingly, the bundled
> packages). A hackish solution is to force Mesos build system to emit the
> necessary information in a format that can be consumed by the module build
> system.
> A better solution is to remove the bundled packages -- protobuf, boost, and
> glog -- from the Mesos distribution and instead rely on system provided
> packages. Since these packages are usually available on most distros, we
> just need to do a configure check in Mesos and fail if they are not
> installed.
> Once these dependencies are resolved, we can export the header files defining
> module "kinds" such as isolator.hpp, authenticator.hpp, etc. At this point,
> there won't any known blockers that could prevent building modules out of
> Mesos tree.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)