-
Notifications
You must be signed in to change notification settings - Fork 60
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
PODIO_JSON_OUTPUT
not set downstream, but json support still compiled into libraries
#435
Comments
I can also reproduce this in my development environment. Quickest workaround for now seems to be to add a (Adding a few thoughts that we already partially discussed in private): I am also not sure whether we can make, e.g. a |
Another thought. Maybe we can make the current approach work? I don't actually understand what goes wrong in cling. Clearly it finds the dictionary and the (correct, for my system) nlohmann-json headers. So I don't really understand why it thinks the constructor signature doesn't match? Is this maybe due to an implicit c++ option that affects initializer lists? |
Looking at the error message again, I think the problem is actually in an |
Maybe it would be easiest to remove the #if __has_include("nlohmann/json.hpp")
#include "nlohmann/json.hpp"
// potentially a version check
#define PODIO_JSON_OUTPUT // or something else for easier internal use
#endif in that way we would at least not depend on some external |
|
This seems to be caused as follows:
PODIO_JSON_OUTPUT
is defined and libedm4hepDict.so includes theto_json
function (Component.h.jinja2 isinline
, but others aren't e.g. Collection.cc.jinja2).#define
isn't set so it gets confused.Here is a reproducer in our production environment which also works on my local spack with dd4hep, podio, edm4hep installed:
where
podio_issue.cxx
isThat returns
The text was updated successfully, but these errors were encountered: