[ https://issues.apache.org/jira/browse/MESOS-3909?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15047595#comment-15047595 ]
James Peach commented on MESOS-3909: ------------------------------------ There are a number of solutions to this that I can see 1. Move the picojson dependencies into a .cpp file in stout stout is supposed to be a header-only library, and this would undo that. I'm not sure of the history of why stout needs to be header-only, but maybe this restriction can be loosened. 2. Copy the picojson dependencies into a .cpp in libmesos This works since picojson is just an internal dependency of Mesos. It needs a little ifdef hackery and it might be tricky to avoid copying the relevant picojson code, so maintainability is a question. 3. Install picojson.h We would need to install picojson.h as <stout/picojson.h> and adjust Mesos include paths appropriately. Using an unbundled picojson would no longer work (though it probably doesn't work right today). 4. Do nothing You can't build a Mesos isolator without fishing in the Mesos code for picojson.h. This seems undesirable since it makes release engineering of isolator modules harder. > isolator module headers depend on picojson headers > -------------------------------------------------- > > Key: MESOS-3909 > URL: https://issues.apache.org/jira/browse/MESOS-3909 > Project: Mesos > Issue Type: Bug > Components: c++ api, modules > Reporter: James Peach > Assignee: James Peach > > When trying to build an isolator module, stout headers end up depending on > {{picojson.hpp}} which is not installed. > {code} > In file included from /opt/mesos/include/mesos/module/isolator.hpp:25: > In file included from /opt/mesos/include/mesos/slave/isolator.hpp:30: > In file included from /opt/mesos/include/process/dispatch.hpp:22: > In file included from /opt/mesos/include/process/process.hpp:26: > In file included from /opt/mesos/include/process/event.hpp:21: > In file included from /opt/mesos/include/process/http.hpp:39: > /opt/mesos/include/stout/json.hpp:23:10: fatal error: 'picojson.h' file not > found > #include <picojson.h> > ^ > 8 warnings and 1 error generated. > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)