-
Notifications
You must be signed in to change notification settings - Fork 35
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
MathMore and optional features #64
Comments
Additionnally compiling by hand and enabling
|
Is there anthing you're specficially after? The conda based root images have more features enabled. |
I specifically want to use docker to include root in some of my developments with a Dockerfile. About ROOT, I specifically need mathmore and gsl mainly. I have manage to compile ROOT with minimal cmake options including these mathmore and libgsl0-dev. However, following this. There is an issue about GSL component detection.
Would you have any idea how to fix ? |
hmm maybe you are missing the GSLConfig.cmake file in your system. What does 'locate GSLConfig.cmake' print? If it exists, then maybe adding it to cmake prefix path would help. |
I have checked and "find_package(GSL REQUIRED)" is working fine it can locate GSL. The fix I found is to remove GSL from the ROOT component still require Matrix (that is using it) and then load GSL on my own. But this looks very different compared to what I was doing in the past. I never had to load GSL by myself while using Polynomial or Matrix classes |
Maybe @krasznaa has some ideas where the bug might come from |
Wait... 😕 I think it's your code @xkzl that is doing something funky here. 🤔 The error that you quoted is printed by the code that is checking whether all the ROOT components that you specified to find_package(ROOT REQUIRED COMPONENTS ...) are part of ROOT. But GSL is not a component in ROOT. It is "just" something that ROOT itself privately depends on. Since the dependency is private, So, you should just not be listing " Or did I misunderstand the issue completely? 😕 |
I think that the problem is that:
leads later to an error when trying to run the user script. He has to add in the script gSystem->Load("libGSL"). So there is a problem with the runpath library or something like that. Or he has to call separately find_package(GSL) and add GSL_LIBRARIES while calling target_link_libraries Before he didn't need to do anything like that, the private internal dependencies where automatically taken care of. So it's not detecting well the builtin and one has to install the system-wide. At least that's what I understood from his message. |
Maybe related: root-project/root#8709 |
Hi ppl, I agree, that my initial issue appeared when adding Matrix as root compoennt. In the recent version of ROOT I had to add find_package(GSL) in order to compile my root library to be used with my root programs, so perhap it is related to @ferdymercury suggestion. Right now it is working and my problem is fixed by adding manually GSL, but it doesnt sounds natural. |
About the mathmore features, I just enabled partial features and recompiled ROOT in my docker component. |
Hi, Interesting. But let's look at things in order.
Yet GSL is only linked privately against the TMVA library. 😦 https://github.com/root-project/root/blob/master/tmva/tmva/CMakeLists.txt#L419-L431 This all looks very similar to the thing that I fixed with #11844. 🤔
But the linker in most situations (this is another longer story...) does need to find In most cases you achieve this by making sure that So, to summarize:
This private dependency linking business is a messy thing for sure. 😦 We've had to deal with this in the ATLAS offline software build since forever... 🤔 |
I will try to make a minimal reproducer. Thank you so much for your detailed explanation! Very helpful. |
TMVA bug will be fixed by root-project/root#14330 |
@xkzl please close if the compilation issues you encountered are fixed by 6.30.04 ;) Maybe you also need to cherry-pick this: root-project/root#14330 |
Hi,
I have been using root-project/root:latest docker image, but mathmore and many features are missing.
Is there a prebuilt image including all features available or this is only minimal root ?
Cheers, M.
The text was updated successfully, but these errors were encountered: