Skip to content

Giving group read and execute perms for 'decomp' in binary dir (ATDV-156)

Created by: bartlettroscoe

The strategy that I am using to install Trilinos (for SPARC testing and upgrades) using the 'jenkins' entity account requires that all of the files being installed be group readable so the install command can be run by another user in the group (the atdm-devops-admin user in our case, see ATDV-156). If the base build directory is properly protected with permissions this does not loosen the protection of this 'decomp' script at all (as it is just group readable not group writable).

Without this patch, when I use this approach, I get the install failure:

CMake Error at packages/seacas/scripts/cmake_install.cmake:46 (file):
  file INSTALL cannot copy file
  "/ascldap/users/rabartl/jenkins_base/BUILD/packages/seacas/scripts/decomp"
  to
  "/ascldap/users/atdm-devops-admin/trilinos_installs/2019-04-24/waterman-cuda-9.2-release-debug/bin/decomp".
Call Stack (most recent call first):
  packages/seacas/cmake_install.cmake:89 (include)
  cmake_install.cmake:181 (include)

With this patch it installs just fine.

How was this tested?

I tested this on 'waterman' using:

$ cd /rabartl/jenkins_base/BUILD/

$ rm -r CMake*

$ source ../Trilinos/cmake/std/atdm/load-env.sh \
  Trilinos-atdm-waterman-cuda-9.2-release-debug
Hostname 'waterman11' matches known ATDM host 'waterman' and system 'waterman'
Setting compiler and build options for buld name 'Trilinos-atdm-waterman-cuda-9.2-release-debug'
Using waterman compiler stack CUDA-9.2 to build RELEASE-DEBUG code with Kokkos node type CUDA and KOKKOS_ARCH=Power9,Volta70

$ time cmake \
  -GNinja \
  -DTrilinos_CONFIGURE_OPTIONS_FILE:STRING=cmake/std/atdm/ATDMDevEnv.cmake \
  -DTrilinos_ENABLE_TESTS=ON \
  -DTrilinos_ENABLE_ALL_PACKAGS=ON \
  -DCMAKE_INSTALL_PREFIX=/home/atdm-devops-admin/trilinos_installs/2019-04-24/waterman-cuda-9.2-release-debug \
  ../Trilinos \
  &> configure.out

real    8m22.918s
user    5m25.198s
sys     0m38.330s

$ time ninja -j24 &> make.out

real    162m49.930s
user    3138m7.412s
sys     245m29.096s

$ time /home/atdm-devops-admin/tools/run-as-atdm-devops-admin \
  cmake -P cmake_pbp_install.cmake &> make.install.out

real    1m20.888s
user    0m7.688s
sys     0m20.765s

With the install passes just fine showing no errors. The permissions on the 'decomp' file are:

$  ls -l /home/rabartl/jenkins_base/Trilinos/packages/seacas/scripts/decomp
-rwxrwxr-x 1 rabartl wg-run-as-atdm-devops 18836 Apr 24 08:54 /home/rabartl/jenkins_base/Trilinos/packages/seacas/scripts/decomp

$ ls -l /home/rabartl/jenkins_base/BUILD/packages/seacas/scripts/decomp 
-rwxr-x--- 1 rabartl wg-run-as-atdm-devops 18683 Apr 24 09:48 /home/rabartl/jenkins_base/BUILD/packages/seacas/scripts/decomp

$ ls -l /home/atdm-devops-admin/trilinos_installs/2019-04-24/waterman-cuda-9.2-release-debug/bin/decomp 
-rwxr-xr-x 1 atdm-devops-admin rabartl 18683 Apr 24 09:48 /home/atdm-devops-admin/trilinos_installs/2019-04-24/waterman-cuda-9.2-release-debug/bin/decomp

All that looks good.

Merge request reports