Closed nuclearGoblin closed 2 years ago
Alternatively, resolving #71 will likely resolve this issue.
The error is the following: /usr/bin/ld: /nix/store/7g0k3gjnvswvllqjbcr02vsydzgpgzgm-xz-5.2.5/lib/liblzma.so.5: undefined reference to 'pthread_sigmask@GLIBC_2.32'
. It seems like a glbc conflict inside root.
Removing Root dependency should indeed fix a lot of issues. You use it from python scipts anyway. It does not seem to be critical for the simulation iteslf.
@altavir it would be nice to remove the ROOT
dependency but I don't think we want to at this stage. You are correct that the simulation itself (by design) doesn't depend on ROOT
. However the output structure utilizes one important feature of ROOT
output files--that each output element can essentially be jagged arrays.
Now, we could probably reproduce this in something like hdf5
but to remove the ROOT
dependency totally would result in something that limits the use in our field severely (particle physics).
What I would ultimately suggest is to build up an hdf5
output and include ROOT
as an option controlled by compiler directives. I think this may be work that we can schedule in the future but I hope it doesn't have to be done for this review (because it will take a long time).
What do you think?
@villaa It is up to you to decide. The issue #71 is not obligatory. I personally just hate ROOT (from software engeneering point of view) so I could be biased. In this particular case, it significantly complicates the build process and significantly limits application of the library. I think it should be still mentioned in the paper alongside with some reasoning because it is a significant complication.
People in accelerator physics community are obviously vendor-locked on ROOT, so it is not a problem for them, but luckily, people are stopping using it in non-accelerator physics (where I come from).
I'm about to start a PR updating the docs with a note on the installation method for ROOT in WSL. @altavir whenever you next try installing, could you confirm whether the installation works on your system if you get ROOT via the conda package instead of nix-env?
The latest ROOT from conda seems to be working. It seems that the problem is ROOT from NIX is built on top of incompatible libc.
I am submitting a documentation issue.
The files in question are: readthedocs pages
The problem is in the following category/categories: Undocumented Information
Description of the problem: Currently, the docs do not make it clear what setup is required for installation on WSL. This leads to issues with the installation that occur at the
make
step. Currently, these issues appear to be tied to how ROOT is installed.Here is what I know so far:
nix-env
or v6.24/06 on Ubuntu Bionic Beaver via pre-compiled binary will causemake
to fail.conda
on Ubuntu Bionic Beaver allowsmake
to succeed.make
to succeed.make
to fail on Ubuntu Bionic Beaver.Other possible issues/explanations:
The code does not make using ROOT v6.24 on WSL.Things that would be helpful to determine:
Does the code make if ROOT is compiled from source? (Currently testing)Does the code still make in v6.22/00 if ROOT is installed from something other than conda?Does the code make in v6.24 if ROOT is installed via conda?Tagging @altavir to continue our discussion from the review thread.