-
Notifications
You must be signed in to change notification settings - Fork 60
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # 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: