radiasoft / zgoubi

Git repo for zgoubi source code
https://sourceforge.net/projects/zgoubi/
GNU General Public License v2.0
9 stars 3 forks source link

Reconcile branches #90

Closed robnagler closed 4 years ago

robnagler commented 4 years ago

@dtabell I think this summarizes the activities I will be performing:

dtabell commented 4 years ago

That sounds tight to me.

robnagler commented 4 years ago

It seems that the parallel branch has a new requirement: OpenCoarrays:

CMake Error at CMakeLists.txt:116 (find_package):
  Could not find a package configuration file provided by "OpenCoarrays" with
  any of the following names:

    OpenCoarraysConfig.cmake
    opencoarrays-config.cmake

I followed the instructions to install the latest release, and it didn't do anything. The file install-opencoarrays.log is empty and the output is:

$ ./install.sh --package opencoarrays --install-prefix ~/xx
2020-05-19 21:06:51 UTC [     info] __file: /home/vagrant/src/radiasoft/zgoubi/build/OpenCoarrays-2.8.0/install.sh
2020-05-19 21:06:51 UTC [     info] __dir: /home/vagrant/src/radiasoft/zgoubi/build/OpenCoarrays-2.8.0
2020-05-19 21:06:51 UTC [     info] __base: install
2020-05-19 21:06:51 UTC [     info] __os: Linux
2020-05-19 21:06:51 UTC [     info] __usage: /home/vagrant/src/radiasoft/zgoubi/build/OpenCoarrays-2.8.0/install.sh-usage
2020-05-19 21:06:51 UTC [     info] LOG_LEVEL: 6
2020-05-19 21:06:51 UTC [     info] -b (--install-branch):
2020-05-19 21:06:51 UTC [     info] -B (--list-branches):
2020-05-19 21:06:51 UTC [     info] -c (--with-c):
2020-05-19 21:06:51 UTC [     info] -C (--with-cxx):
2020-05-19 21:06:51 UTC [     info] -d (--debug):            0
2020-05-19 21:06:51 UTC [     info] -D (--print-downloader):
2020-05-19 21:06:51 UTC [     info] -e (--verbose):          0
2020-05-19 21:06:51 UTC [     info] -f (--with-fortran):
2020-05-19 21:06:51 UTC [     info] -h (--help):             0
2020-05-19 21:06:51 UTC [     info] -i (--install-prefix):   /home/vagrant/xx
2020-05-19 21:06:51 UTC [     info] -I (--install-version):
2020-05-19 21:06:51 UTC [     info] -j (--num-threads):      4
2020-05-19 21:06:51 UTC [     info] -l (--list-packages):    0
2020-05-19 21:06:51 UTC [     info] -m (--with-cmake):
2020-05-19 21:06:51 UTC [     info] -M (--with-mpi):
2020-05-19 21:06:51 UTC [     info] -n (--no-color):         0
2020-05-19 21:06:51 UTC [     info] -o (--only-download):    0
2020-05-19 21:06:51 UTC [     info] -p (--package):          opencoarrays
2020-05-19 21:06:51 UTC [     info] -P (--print-path):
2020-05-19 21:06:51 UTC [     info] -r (--prefix-root):
2020-05-19 21:06:51 UTC [     info] -u (--from-url):
2020-05-19 21:06:51 UTC [     info] -U (--print-url):
2020-05-19 21:06:51 UTC [     info] -v (--version):          0
2020-05-19 21:06:51 UTC [     info] -V (--print-version):
2020-05-19 21:06:51 UTC [     info] -y (--yes-to-all):       0
2020-05-19 21:06:51 UTC [     info] -Z (--bootstrap):        0
2020-05-19 21:06:51 UTC [     info] num_threads="4"
2020-05-19 21:06:51 UTC [     info] opencoarrays_src_dir=/home/vagrant/src/radiasoft/zgoubi/build/OpenCoarrays-2.8.0
2020-05-19 21:06:51 UTC [     info] build_path="/home/vagrant/src/radiasoft/zgoubi/build/OpenCoarrays-2.8.0"/prerequisites/builds
2020-05-19 21:06:51 UTC [     info] build_script="/home/vagrant/src/radiasoft/zgoubi/build/OpenCoarrays-2.8.0"/prerequisites/build.sh
2020-05-19 21:06:51 UTC [     info] Checking whether the directory /home/vagrant/xx exists...
2020-05-19 21:06:51 UTC [     info] yes
2020-05-19 21:06:51 UTC [     info] Checking whether I have write permissions to /home/vagrant/xx ...
2020-05-19 21:06:51 UTC [     info] yes
2020-05-19 21:06:57 UTC [     info] Cleaning up. Done

No files are installed.

install.sh is quite complex and of course imports other scripts:

# Include stack management functions
#. ./prerequisites/stack.sh
# shellcheck source=./prerequisites/stack.sh
source $opencoarrays_src_dir/prerequisites/stack.sh
stack_new dependency_pkg
stack_new dependency_exe
stack_new dependency_path
stack_new script_installed

# shellcheck source=./prerequisites/install-functions/find_or_install.sh
source $opencoarrays_src_dir/prerequisites/install-functions/find_or_install.sh

# shellcheck source=./prerequisites/install-functions/print_header.sh
source $opencoarrays_src_dir/prerequisites/install-functions/print_header.sh

# shellcheck source=./prerequisites/install-functions/build_opencoarrays.sh
source $opencoarrays_src_dir/prerequisites/install-functions/build_opencoarrays.sh

# shellcheck source=./prerequisites/install-functions/report_results.sh
source $opencoarrays_src_dir/prerequisites/install-functions/report_results.sh

# shellcheck source=./prerequisites/install-functions/install-xcode-clt.sh
source "${opencoarrays_src_dir}/prerequisites/install-functions/install-xcode-clt.sh"

@dtabell do you want me going down this path?

This is what I've accomplished:

rouson commented 4 years ago

@robnagler in case it helps, the OpenCoarrays installer is really just for users who cannot or prefer not to install via a package manager or by invoking cmake directly. That includes a surprising many users and the installer is there to help in that situation. I recommend installing via package manager or by invoking cmake directly after ensuring that all prerequisites are present.

robnagler commented 4 years ago

Thanks @rouson! We are using Fedora 29, and there is no RPM installer listed on the installer page.

That's why I tried install.sh, which is the next recommended method. I invoked it with no arguments at first, then I tried this:

./install.sh --package opencoarrays --install-prefix ~/xx

It created the directory ~/xx, but it's empty. Maybe I'm not giving it the right arguments. I tried using --root-prefix, but that didn't help.

Any other ideas?

rouson commented 4 years ago

@robnagler two fixes for Fedora installation issues were merged into the OpenCoarrays master branch a few days ago so you might try pulling in the latest commits if you don't have them.

If that doesn't help, I'll be glad to diagnose and fix the problem. Is the following still the way to build the Fedora virtual machine that you're using?

curl radia.run | bash -s debug vagrant-sirepo-dev

Here's the tail of what the above command yields for me:

++ install_err 'v.radia.run: host not found and IP address not supplied'
++ trap - EXIT
++ [[ -n v.radia.run: host not found and IP address not supplied ]]
++ install_msg 'v.radia.run: host not found and IP address not supplied
If you don'\''t know what to do, please contact support@radiasoft.net.'
++ echo 'v.radia.run: host not found and IP address not supplied
If you don'\''t know what to do, please contact support@radiasoft.net.'
v.radia.run: host not found and IP address not supplied
If you don't know what to do, please contact support@radiasoft.net.
++ [[ -z 1 ]]
++ exit 1
robnagler commented 4 years ago

Yes, installers are hard, aren't they? I fixed our installer the case where the router is restricting DNS lookups for private IP addresses (see https://github.com/radiasoft/download/issues/98).

However, I was able to get the install to work with your suggestion to use the git clone, and I was able to build the parallel branch of this repo. Thanks!

robnagler commented 4 years ago

I merged parallel and fix-common-blocks into merge-parallel. Should that be the new fix-common-blocks?

I am unable to merge merge-parallel into master, way too many conflicts.

robnagler commented 4 years ago

@dtabell 957a6db8bb6fa7c0abe954bda5b7cb9f42f92916 reverts my test.sh changes so they are now compatible with the work in the fix-common-blocks & parallel branches. I had to fix warmSnake check, but afaict, that script goes away and is replaced by run-test.sh.

LMK if you want me to merge parallel into fix-common-blocks. Otherwise, I think I'm done with this.

Travis runs: https://travis-ci.org/github/radiasoft/zgoubi/builds/689451612