When Chapel is installed with make install we do not directly expose printchplenv or printchplbuilds.py (they are not in PATH). However, a user can still run them by specifying a full path, for example /usr/share/chapel/2.2/util/printchplenv.
However, printchplenv will print different (and wrong!) information from chpl --print-chpl-settings. This is because before calling printchplenv, chpl sets some additional variables based on whether or not chpl is prefix-installed. These variables are CHPL_RUNTIME_LIB, CHPL_RUNTIME_INCL, and CHPL_THIRD_PARTY. If they are not set (which users aren't doing anyways), then printchplenv will infer these based off of CHPL_HOME, which in a prefix-install is incorrect
printchplbuilds.py suffers from the same issues as printchplenv, except it also lacks the ability to infer CHPL_HOME and hardcodes CHPL_RUNTIME_LIB
This all results in chpl --print-chpl-settings and printchplenv printing different results. For example, because CHPL_THIRD_PARTY is incorrect for printchplenv, chpl --print-chpl-settings may report CHPL_GMP=bundled while printchplenv will always report CHPL_GMP=none.
This doesn't affect the correctness of programs compiled with chpl. Because it takes a heroic effort to run printchplenv in a prefix-install most users probably won't notice, but the different output can be confusing.
When Chapel is installed with
make install
we do not directly exposeprintchplenv
orprintchplbuilds.py
(they are not in PATH). However, a user can still run them by specifying a full path, for example/usr/share/chapel/2.2/util/printchplenv
.However,
printchplenv
will print different (and wrong!) information fromchpl --print-chpl-settings
. This is because before callingprintchplenv
,chpl
sets some additional variables based on whether or notchpl
is prefix-installed. These variables areCHPL_RUNTIME_LIB
,CHPL_RUNTIME_INCL
, andCHPL_THIRD_PARTY
. If they are not set (which users aren't doing anyways), thenprintchplenv
will infer these based off ofCHPL_HOME
, which in a prefix-install is incorrectprintchplbuilds.py
suffers from the same issues asprintchplenv
, except it also lacks the ability to inferCHPL_HOME
and hardcodesCHPL_RUNTIME_LIB
This all results in
chpl --print-chpl-settings
andprintchplenv
printing different results. For example, becauseCHPL_THIRD_PARTY
is incorrect forprintchplenv
,chpl --print-chpl-settings
may reportCHPL_GMP=bundled
whileprintchplenv
will always reportCHPL_GMP=none
.This doesn't affect the correctness of programs compiled with
chpl
. Because it takes a heroic effort to runprintchplenv
in a prefix-install most users probably won't notice, but the different output can be confusing.