desihub / specex

DESI spectrograph PSF fitting
BSD 3-Clause "New" or "Revised" License
0 stars 4 forks source link

specex installation failure #68

Open marcelo-alvarez opened 1 year ago

marcelo-alvarez commented 1 year ago

Specex won't install with desiconda/20220119-2.0.1 on Perlmutter, i.e.

source /global/common/software/desi/desi_environment.sh main
git clone https://github.com/desihub/specex
cd specex
python setup.py install --prefix .

fails with

CMake Error at CMakeLists.txt:3 (project):
  The CMAKE_C_COMPILER:

    /opt/cray/pe/craype/2.7.15/bin/cc

  is not a full path to an existing compiler tool.

The cleanest solution is likely to be to patch the current desiconda by updating cmake in desiconda to be consistent with the new version of craype (2.7.15 --> 2.7.19), e.g. by running

conda update cmake

Evidence that this will work is that specex installs successfully with a fresh desiconda installation that includes an updated cmake with consistent defaults, so that, e.g. ,CMAKE_C_COMPILER is set correctly to /opt/cray/pe/craype/2.7.19/bin/cc by default.

However, we are not applying this patch so as not to risk breaking anything, since the current specex/main is up-to-date and the patch is not required at this time. If we get into a situation where we need to update specex in the desiconda/20220119-2.0.1 environment, then we can consider applying the patch outlined above. @sbailey

marcelo-alvarez commented 1 year ago

On further investigation, it appears that the installation succeeds if "module load cudatoolkit" is executed beforehand. The correct C/C++ compilers are found in desiconda/20220119-2.0.1 without the need to update Cmake.

I will leave this open until we can find a solution that does not require "module load cudatoolkit", since this is not currently a part of the standard DESI environment on Perlmutter. @sbailey

weaverba137 commented 1 year ago

This was announced after the December perlmutter downtime, so it shouldn't actually come as a surprise. See https://docs.nersc.gov/development/languages/python/using-python-perlmutter/ and Rebecca Hartman-Baker's email on 22 December.