[prev in list] [next in list] [prev in thread] [next in thread] 

List:       mesos-issues
Subject:    [jira] [Updated] (MESOS-5656) Incomplete modelling of 3rdparty dependencies in cmake build
From:       "Benjamin Bannier (JIRA)" <jira () apache ! org>
Date:       2016-10-31 9:33:58
Message-ID: JIRA.12980715.1466402622000.131229.1477906438624 () Atlassian ! JIRA
[Download RAW message or body]


     [ https://issues.apache.org/jira/browse/MESOS-5656?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel \
]

Benjamin Bannier updated MESOS-5656:
------------------------------------
    Assignee:     (was: Benjamin Bannier)

> Incomplete modelling of 3rdparty dependencies in cmake build
> ------------------------------------------------------------
> 
> Key: MESOS-5656
> URL: https://issues.apache.org/jira/browse/MESOS-5656
> Project: Mesos
> Issue Type: Bug
> Components: build, cmake
> Affects Versions: 1.0.0
> Reporter: Benjamin Bannier
> Labels: mesosphere
> 
> The cmake build incompletely models dependencies on 3rdparty components. This leads \
> to incomplete and unusable build files generated for e.g., ninja. When generating a \
> build file for ninja the build fails to start {code}
> % ninja
> ninja: error: '3rdparty/zookeeper-3.4.8/src/zookeeper-3.4.8/src/c/lib/libzookeeper_mt.a', \
> needed by 'src/slave/mesos-agent', missing and no known rule to make it {code}
> An identical problem exists with leveldb (apparent after working around the \
> zookeeper dep issue) {code}
> % ninja
> ninja: error: '3rdparty/leveldb-1.4/src/leveldb-1.4/libleveldb.a', needed by \
> 'src/slave/mesos-agent', missing and no known rule to make it {code}
> The problem here is that a number of targets depend on library files produced \
> implicitly via some {{ExternalProject}} library (via {{AGENT_LIBS}}), but we fail \
> to declare rules for these targets (I could imagine: via e.g., {{add_library}} with \
> {{IMPORTED}}). This appears to be no problem for build files generate for {{make}} \
> as it doesn't require rules for all dependency nodes. It appears that one should be \
> able to use {{ExternalProject_Add}}'s {{BUILD_BYPRODUCTS}}, e.g., {code}
> ExternalProject_Add(
> ${ZOOKEEPER_TARGET}
> BUILD_BYPRODUCTS  ${ZOOKEEPER_LIB}/lib/libzookeeper_mt.a
> PREFIX            ${ZOOKEEPER_CMAKE_ROOT}
> PATCH_COMMAND     ${ZOOKEEPER_PATCH_CMD}
> CONFIGURE_COMMAND ${ZOOKEEPER_CONFIG_CMD}
> ...
> {code}
> to declare rules for these files, but this was only added in cmake-3.2 while we at \
> least formally require only cmake-2.8, {code}
> cmake_minimum_required(VERSION 2.8)
> {code}
> {{git bisect}} points to the recent {{6e199cc255cbf561fac575568b0594ac2b2c14f9}} \
> for surfacing this.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic