11. Known Issues¶
11.1. General¶
gcc@13(gcc,g++,gfortran) andapple-clang@15(clang,clang++) not yet supportedOur software stack doesn’t build with
gcc@13yet. This is also true when combining the LLVM or Appleclangcompiler withgfortran@13. We also don’t support the latest release ofapple-clang@15yet.Build errors for
mapl@2.35.2withmpich@4.1.1This problem is described in https://github.com/JCSDA/spack-stack/issues/608.
Issues starting/finding
ecflow_serverdue to a mismatch of hostnamesOn some systems,
ecflow_servergets confused by multiple hostnames, e.g.localhostandMYORG-L-12345. Theecflow_start.shscript reports the hostname it wants to use. This name (or both) must be in/etc/hostsin the correct address line, often the loopback address (127.0.0.1).Installation of duplicate packages
ecbuild,hdf5One reason for this is an external
cmake@3.20installation, which confuses the concretizer when building a complex environment such as theskylab-devor`unified-devenvironment. For certain packages (and thus their dependencies), a newer version thancmake@3.20is required, for otherscmake@3.20works, and spack then thinks that it needs to build two identical versions of the same package with different versions ofcmake. The solution is to remove any externalcmake@3.20package (and best also earlier versions) in the site config and run the concretization step again. Another reason on Ubuntu 20 is the presence of externalopensslpackages, which should be removed before re-running the concretization step.Installation of duplicate package
ncoWe tracked this down to multiple versions of
bisonbeing used. The best solution is to remove externalbisonversions earlier than 3.8 from the site config (packages.yaml).Installing/using graphical applications after switching user using
sudo suWhen using a role account to install spack-stack, it is sometimes necessary to run graphical applications such as the
qtonline installer. The following website describes in detail how this can be done: https://www.thegeekdiary.com/how-to-set-x11-forwarding-export-remote-display-for-users-who-switch-accounts-using-sudo/==> Error: the key "core_compilers" must be set in modules.yamlduringspack module [lmod|tcl] refreshThis error usually indicates that the wrong module type is used in the
spack module ... refreshcommand. For example, the system is configured forlmod, but the command used isspack module tcl refresh.
11.2. MSU Hercules¶
wgrib2@2.0.8doesn’t build on Hercules, usewgrib2@3.1.1instead.
11.3. NASA Discover¶
Timeout when fetching software during spack installs.
Discover’s connection to the outside world can be very slow and spack sometimes aborts with fetch timeouts. Try again until it works, sometimes have to wait for a bit.
configure: error: cannot guess build type; you must specify onewhen buildingfreetypeor other packages that use configure scriptsThis can happen if a spack install is started in a
screensession, because Discover puts the temporary data in directories like/gpfsm/dnb33/tdirs/login/discover13.29716.dheinzel, which get wiped out after some time. Withoutscreen, this problem doesn’t occur.
11.4. NOAA Parallel Works¶
With the default module path, spack will detect the system as Cray, therefore one needs to remove it when building or using spack environments
libxml2won’t untar during thespack installstep, because of an issue with the filesystem. This can be avoided by makinglibxml2an external packageThe
/contribfilesystem can be very, very slow
11.5. UW (Univ. of Wisconsin) S4¶
Compiler errors when using too many threads for parallel builds
Using more than two threads when running
make(e.g.make -j4) can lead to compiler errors like the following:
[94%] Linking CXX executable test_ufo_parameters
icpc: error #10106: Fatal error in /home/opt/intel/oneapi/2022.1/compiler/2022.0.1/linux/bin/intel64/../../bin/intel64/mcpcom, terminated by kill signal
...
11.8. macOS¶
Error
invalid argument '-fgnu89-inline' not allowed with 'C++'This error occurs on macOS Monterey with
mpich-3.4.3installed via Homebrew when trying to build the jedi bundles that useecbuild. The reason was that the C compiler flag-fgnu89-inlinefrom/usr/local/Cellar/mpich/3.4.3/lib/pkgconfig/mpich.pcwas added to the C++ compiler flags by ecbuild. The solution was to setCC=mpicc FC=mpif90 CXX=mpicxxwhen callingecbuildfor those bundles. Note that it is recommended to installmpichoropenmpiwith spack-stack, not with Homebrew.Installation of
gdalfails with errorxcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance.If this happens, install the full
Xcodeapplication in addition to the Apple command line utilities, and switchxcode-selectover withsudo xcode-select -s /Applications/Xcode.app/Contents/Developer(change the path if you installed Xcode somewhere else).Error
AttributeError: Can't get attribute 'Mark' on <module 'ruamel.yaml.error' from ...when runningspack installSome users are seeing this with Python 3.10 installed via Homebrew on macOS. Run
export | grep SPACK_PYTHONto verify the Python version used, then runbrew listto check if there are alternative Python versions available. Manually settingSPACK_PYTHONto a different version, for example viaexport SPACK_PYTHON=/usr/local/bin/python3.9, solves the problem.Errors handling exceptions on macOS.
A large number of errors related to handling exceptions thrown by applications was found when using default builds or Homebrew installations of
mpichoropenmpi, which use flat namespaces. With our spack version,mpichandopenmpiare installed with a+two_level_namespaceoption that fixes the problem.Errors such as
Symbol not found: __cg_png_create_info_structCan happen when trying to use the raster plotting scripts in
fv3-jedi-tools. In that case, exportingDYLD_LIBRARY_PATH=/usr/lib/:$DYLD_LIBRARY_PATHcan help. Ifgitcommands fail after this, you might need to verify wherewhich gitpoints to (Homebrew vs module) and unload thegitmodule.apple-clang@15.0.0not yet supportedBuilding with
apple-clang@15.0.0is under development and should be working soon. In the meantime, please useapple-clang@14.xor older versions.
11.9. Ubuntu¶
The lmod version in Ubuntu 22.04 LTS breaks spack modules.
Ubuntu 22.04 LTS will install lmod 6.6 from official apt repositories. Module files authored by spack use the depends_on directive that was introduced in lmod 7.0. The new site config instructions in Section 6.2 circumvent the issue by using tcl/tk environment modules. If you attempt to use lmod 6.6 you will get the following error:
$ module load stack-python Lmod has detected the following error: Unable to load module: python/3.10.8 /home/ubuntu/spack-stack-1.3.1/envs/skylab-4/install/modulefiles/gcc/11.3.0/python/3.10.8.lua : [string "-- -*- lua -*-..."]:16: attempt to call global 'depends_on' (a nil value)