njoy / NJOY21

NJOY for the 21st Century
https://www.njoy21.io/NJOY21
Other
74 stars 38 forks source link

Can't Build v1.0.6 #147

Open herter4171 opened 3 years ago

herter4171 commented 3 years ago

I've been trying to build v1.0.6, because some tooling I was given used that version. All I've done to build is

git clone --branch v1.0.6 https://github.com/njoy/NJOY21.git
cd NJOY21
git submodule update --init
mkdir build && cd build
cmake ..

I did see on the v1.0.6 readme that a signature file could be generated, but I don't have the means to generate that file without that version of the binary. I can't make sense of the CMake errors, but something isn't right here. CMake logs can be viewed here.

How can I get this built?

herter4171 commented 3 years ago

Well, I got a signature file from someone upstream. The script fetch_subprojects.py seems to ignore the njoy21 commit spec, because it just checks out the head of master. To get around that, I run

sed -i '90,91d' metaconfigure/fetch_subprojects.py

Removing those lines allows the build to proceed with the desired tag checkout.

I still think there's a broader issue here regarding the ease of building old tags, because I shouldn't have to modify Python scripts to make it work. Also, downloading an archive for a tag doesn't yield anything buildable, because git is so embedded in the build system.

whaeck commented 3 years ago

I was already looking into your issue, and experiencign the same issues as you. We've actually completely overhauled the build system some time ago and removed all of the subprojects and metaconfigure business. More recent versions of NJOY21 use this new system and it builds a lot cleaner.

We are actually planning on generating off-line installation packages as well (which we can implement with the newer build system).

Is there a particular reason why you need to stick to this version of NJOY21?

herter4171 commented 3 years ago

@whaeck, I had a feeling, and thanks for looking into this. I was handed some tooling to generate nuclear data libraries that isn't exactly verbose about NJOY21 errors, and I haven't got it to cooperate on v1.2.2 or v1.1.0. The docs I have say they used v1.0.6, so I'm checking to see if that's a hard requirement.