-
Notifications
You must be signed in to change notification settings - Fork 13
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
Iguana #69
Iguana #69
Conversation
…f workers. Now explicity pass the paths via the input list
gInterpreter->AddIncludePath(IGUANA+"/include"); | ||
|
||
gROOT->ProcessLine("#include <iguana/algorithms/AlgorithmBoilerplate.h>"); | ||
gROOT->ProcessLine("#include <iguana/algorithms/AlgorithmSequence.h>"); | ||
gROOT->ProcessLine("#include <iguana/algorithms/Algorithm.h>"); | ||
|
||
gSystem->Load("$IGUANA/lib/libIguanaServices.so"); | ||
gSystem->Load("$IGUANA/lib/libIguanaAlgorithms.so"); | ||
gSystem->Load("$IGUANA/lib/libIguanaValidators.so"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If this is all $IGUANA
is used for, then I don't think it's necessary, since $ROOT_INCLUDE_PATH
and $(DY)LD_LIBRARY_PATH
should be sufficient. Have you tested that?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You are correct, in principle includes and lib directories can be linked in that way. However I do have a preference for the explicit setting of the variable for a couple fo reasons. I think it is simpler and clearer for inexperienced users installing on their own machines and when there are multiple versions of dependencies on a machine (in this case iguana) you can easily switch between them and know exactly which one you are using. For example on ifarm at the moment when I was trying to just use ROOT_INCLUDE_PATH for linking clas12root there turned out to be an issue that module unload did not remove clas12root from the ROOT_INCLUDE_PATH and I got strange and difficult to debug errors.
I do not have particularly strong opinion on this, so could be persuaded to change.
Cheers
Derek
This PR is associated with the following upstream PRs: |
Can you provide an example of how to reproduce the problem with a (clas12root) module not unloading correctly? I currently can't reproduce it. |
FWIW, ROOT_INCLUDE_PATH is necessary to make clas12root (and clas12-elSpectro) movable |
Actually, no I cannot reproduce this, clas12root is removed from ROOT_INCLUDE_PATH. |
Include an Iguana interface for clas12root
Header only classes given in iguana/ loaded at runtime via LoadIguana.C
Simple usage, configuration done behind the scenes :