-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
[CMake] Existing ROOT headers from the system might be picked up when compiling ROOT #13101
Comments
Hi! It seems ROOT picks up some outdated headers from This is a general problem that has nothing to do with RooFit, I have seen it several times happening in different contexts before. You can avoid this problem by un-installing ROOT from your system before you build the new ROOT version. Since this is a build-related issue, I have changed the issue title to reflect this and have assigned @bellenot. If uninstalling the existing ROOT release is not an acceptable solution for you for whatever reason, maybe @bellenot can comment more on what are the options. |
@guitargeek thank you! I'm glad that ROOT doesn't have so many errors :) Yes, this is a strange issue. |
Sorry, I have no experience with Linux install/uninstall/update procedures, but I'll try to figure out what can be done (not sure if it's really a CMake/ROOT issue though) |
So I deleted my freshly installed ROOT and pulled the newest version from the repository. When running
I got an error `-- Looking for VDT -- Could NOT find Vdt: Found unsuitable version "0.3", but required is at least "0.4" (found /opt/root/install/include) As I wrote, the directory /opt/root/install does not exist. When running the same command for the second time, the error is gone. |
CMake thinks If the directory does not exist, starting fresh from an empty build directory with no ROOT binary available in your environment should work fine. (the command works the second time because after the first time ROOT switches the cmake configuration to |
I have no solution here, just making the cross reference that this is almost a duplicate of this issue: So these two issues can probably be fixed in one go. |
Is this perhaps what this PR #8709 tries to solve? |
I think so, yes. We should bump the priority of this, because the problem with compiling ROOT when there is already ROOT on the system comes back often (I just closed a duplicate issue once again). |
Yes, this is what the PR tries to solve. I'm reviving this PR now. @ynikitenko, I would like to find the package that caused this behaviour for you. It looks like it's either VDT (which should hopefully be fixed by this PR) or nlohmann::json. Is there a way you can get the log of the first CMake configure run? I would like to know if CMake managed to find json or VDT in the system directories. If you don't have it, no worries, I'll just double check that it's not json, and we hope that the fix for VDT works. |
Check duplicate issues.
Description
Can't install RooFit because of RooJSON.
Tried to change method names to those with underscores, got another error about a protected field:
Commented the body of the whole function. Got another error.
Reproducer
Clone ROOT repository, go to the build directory,
ROOT version
Most recent ROOT version from the master branch at that time.
Should I use that? I thought there is continuous integration and people check for errors before committing.
Installation method
built from source
Operating system
Arch Linux
Additional context
Had to remove RooFit support from
CMakeCache.txt
.The text was updated successfully, but these errors were encountered: