[jira] [Commented] (MESOS-5656) Incomplete modelling of 3rdparty dependencies in cmake build

2017-08-11 Thread Andrew Schwartzmeyer (JIRA)

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

Andrew Schwartzmeyer commented on MESOS-5656:
-

I have this working in my current set of CMake patches.

> 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: cmake
>Affects Versions: 1.0.0
>Reporter: Benjamin Bannier
>Assignee: Andrew Schwartzmeyer
>  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.4.14#64029)


[jira] [Commented] (MESOS-5656) Incomplete modelling of 3rdparty dependencies in cmake build

2016-10-31 Thread Benjamin Bannier (JIRA)

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

Benjamin Bannier commented on MESOS-5656:
-

Unassigning myself as there is no clear way forward.

> 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
>Assignee: 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)