Troubleshooting¶
This section describes some common problems developers have run into and some suggested solutions.
Solver errors when configuring conda environment¶
When setting up compass conda environment, compilers and system modules, by calling:
./conda/configure_compass_env.sh ...
you may run into an error like:
Encountered problem while solving:
- nothing provides geos 3.5.* needed by cartopy-0.14.3-np110py27_4
...
subprocess.CalledProcessError: ...
Details of the error may vary but the message indicates in some way that there
was a problem solving for the requested combination of packages. This likely
indicates that you have an existing compass development environment
(dev_compass_*
) that can’t be updated to be compatible with the new
set of development packages given in:
conda/build*/spec-file*.txt
The solution should be to recreate the environment rather than trying to update it:
./conda/configure_compass_env.sh --recreate ...
The --recreate
flag will first delete the existing dev_compass_*
conda
environment before creating it again with the new set of packages required for
developing with the requested compiler and MPI type.
Proxy on LANL Macs¶
If you are on a LANL Mac using the VPN and you see errors like:
An HTTP error occurred when trying to retrieve this URL.
this likely indicates that you need to set some proxy-related variables.
From a LANL internal site:
Bash, and other shells do not honor the system wide proxy settings on the Mac. There are a couple of ways for a person to manage these settings.
First, would be to the following will work in one’s
~/.profile
- that way every time a shell is spawned with your username, these settings will be enabled:proxy_enable() { export ALL_PROXY=proxyout.lanl.gov:8080 export all_proxy=proxyout.lanl.gov:8080 export NO_PROXY=localhost,127.0.0.1,*.lanl.gov,lanl.gov export no_proxy=localhost,127.0.0.1,*.lanl.gov,lanl.gov } proxy_disable() { unset ALL_PROXY unset all_proxy unset NO_PROXY unset no_proxy } proxy_enable
If you follow this approach, you would then call proxy_disable
anytime you
want to turn off the proxy (e.g. if the VPN is not running).
gethostbyname failed¶
If you see errors like the following (particularly on LANL Macs):
Fatal error in MPI_Init: Other MPI error, error stack:
MPIR_Init_thread(159)..............:
MPID_Init(164).....................: channel initialization failed
MPIDI_CH3_Init(95).................:
MPID_nem_init(314).................:
MPID_nem_tcp_init(173).............:
MPID_nem_tcp_get_business_card(395):
GetSockInterfaceAddr(369)..........: gethostbyname failed, pn2034311.lanl.gov (errno 0)
this likely indicates that MPI is having a problem finding the local host.
The solution is to set the following config option in the parallel
section
of your user config file:
# The parallel section describes options related to running tests in parallel
[parallel]
# whether to use mpirun or srun to run the model
parallel_executable = mpirun -host localhost
The example config files have been updated to include this flag.