Join GitHub today
GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together.Sign up
HPX won't compile with -DHPX_WITH_APEX=TRUE #3805
HPX should build
Steps to Reproduce the Problem
configure hpx with -DHPX_WITH_APEX=TRUE
any platform, any compiler
referenced this issue
Apr 18, 2019
The fix is, to add the HPX.PP module to the dependencies of APEX.
@msimberg APEX depends on HPX as it uses its functionalities. At the same point we have added hooks into HPX to APEX which makes the two circular dependent. I'm not sure how we can remove this.
For this reason, we decided to build APEX as a static library while compiling against the HPX API headers, while linking HPX with that built static library to resolve the APEX dependencies in HPX. Any better suggestion would be certainly welcome.
Hartmut Kaiser <email@example.com> schrieb am Fr., 19. Apr. 2019 14:52:
@sithhell <https://github.com/sithhell> you can't be serious in requiring for all people that depend on HPX to list all small module dependencies manually. Is that what everybody will have to do in the end?
That's certainly not what I said. The problem in the case of APEX is that it depends on parts parts of hpx and hpx depends on parts of APEX. To fix this circular dependency, the Apex build system tried to set up the include paths etc manually, without depending on what the different targets depend on. The usage for consumers of hpx won't change at all. They'll consume the top level hpx target (as they do now) and call it a day. For anything in between (like APEX), things will change a bit, and the transition period might lead to non optimal (as in listing indirect dependencies until the higher level one exists) intermediate steps. This is what happened in this case with the config module.
Naively the answer is more hooks and callbacks, but I can't judge how much work that would actually be.