In /usr/bin/mpicxx.mpich line 29: prefix=/usr ^----^ SC2034: prefix appears unused. Verify use (or export if used externally). In /usr/bin/mpicxx.mpich line 30: exec_prefix=/usr ^---------^ SC2034: exec_prefix appears unused. Verify use (or export if used externally). In /usr/bin/mpicxx.mpich line 42: wl="-Wl," ^-- SC2034: wl appears unused. Verify use (or export if used externally). In /usr/bin/mpicxx.mpich line 45: libext="a" ^----^ SC2034: libext appears unused. Verify use (or export if used externally). In /usr/bin/mpicxx.mpich line 48: shlibext="so" ^------^ SC2034: shlibext appears unused. Verify use (or export if used externally). In /usr/bin/mpicxx.mpich line 51: libname_spec="lib\$name" ^----------^ SC2034: libname_spec appears unused. Verify use (or export if used externally). In /usr/bin/mpicxx.mpich line 54: library_names_spec="\$libname\$shrext" ^----------------^ SC2034: library_names_spec appears unused. Verify use (or export if used externally). In /usr/bin/mpicxx.mpich line 61: hardcode_libdir_separator="" ^-----------------------^ SC2034: hardcode_libdir_separator appears unused. Verify use (or export if used externally). In /usr/bin/mpicxx.mpich line 65: hardcode_direct="no" ^-------------^ SC2034: hardcode_direct appears unused. Verify use (or export if used externally). In /usr/bin/mpicxx.mpich line 69: hardcode_minus_L="no" ^--------------^ SC2034: hardcode_minus_L appears unused. Verify use (or export if used externally). In /usr/bin/mpicxx.mpich line 90: MPICH_CXX_OLD="$CXX" ^-----------^ SC2034: MPICH_CXX_OLD appears unused. Verify use (or export if used externally). In /usr/bin/mpicxx.mpich line 92: CXXname=`echo $CXX | sed 's/ /-/g'` ^-------------------------^ SC2006: Use $(...) notation instead of legacy backticked `...`. ^-----------------------^ SC2001: See if you can use ${variable//search/replace} instead. ^--^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: CXXname=$(echo "$CXX" | sed 's/ /-/g') In /usr/bin/mpicxx.mpich line 93: if [ -s $sysconfdir/mpicxx-$CXXname.conf ] ; then ^------^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: if [ -s $sysconfdir/mpicxx-"$CXXname".conf ] ; then In /usr/bin/mpicxx.mpich line 94: . $sysconfdir/mpicxx-$CXXname.conf ^-- SC1090: Can't follow non-constant source. Use a directive to specify location. ^------^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: . $sysconfdir/mpicxx-"$CXXname".conf In /usr/bin/mpicxx.mpich line 144: CXX=`echo A$arg | sed -e 's/A-cxx=//g'` ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. ^--^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: CXX=$(echo A"$arg" | sed -e 's/A-cxx=//g') In /usr/bin/mpicxx.mpich line 149: CXX=`echo A$arg | sed -e 's/A-CC=//g'` ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. ^--^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: CXX=$(echo A"$arg" | sed -e 's/A-CC=//g') In /usr/bin/mpicxx.mpich line 154: Show=echo ^--^ SC2209: Use var=$(command) to assign output (or quote to assign string). In /usr/bin/mpicxx.mpich line 158: CXXname=`echo A$arg | sed -e 's/A-config=//g'` ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. ^--^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: CXXname=$(echo A"$arg" | sed -e 's/A-config=//g') In /usr/bin/mpicxx.mpich line 160: . "$sysconfdir/mpicxx-$CXXname.conf" ^-- SC1090: Can't follow non-constant source. Use a directive to specify location. In /usr/bin/mpicxx.mpich line 167: Show=echo ^--^ SC2209: Use var=$(command) to assign output (or quote to assign string). In /usr/bin/mpicxx.mpich line 172: Show=echo ^--^ SC2209: Use var=$(command) to assign output (or quote to assign string). In /usr/bin/mpicxx.mpich line 187: profConf=`echo A$arg | sed -e 's/A-profile=//g'` ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. ^--^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: profConf=$(echo A"$arg" | sed -e 's/A-profile=//g') In /usr/bin/mpicxx.mpich line 197: NC=`echo "$CXX" | sed 's%\/% %g' | awk '{print $NF}' -` ^-- SC2034: NC appears unused. Verify use (or export if used externally). ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: NC=$(echo "$CXX" | sed 's%\/% %g' | awk '{print $NF}' -) In /usr/bin/mpicxx.mpich line 199: . $sysconfdir/mpixxx_opts.conf ^--------------------------^ SC1090: Can't follow non-constant source. Use a directive to specify location. In /usr/bin/mpicxx.mpich line 203: . ./mpixxx_opts.conf ^----------------^ SC1091: Not following: ./mpixxx_opts.conf was not specified as input (see shellcheck -x). In /usr/bin/mpicxx.mpich line 214: unset allargs[$argno] ^-------------^ SC2184: Quote arguments to unset so they're not glob expanded. In /usr/bin/mpicxx.mpich line 217: argno=`expr $argno + 1` ^---------------^ SC2006: Use $(...) notation instead of legacy backticked `...`. ^--^ SC2003: expr is antiquated. Consider rewriting this using $((..)), ${} or [[ ]]. Did you mean: argno=$(expr $argno + 1) In /usr/bin/mpicxx.mpich line 231: if [ "mpichcxx" != "mpich" ] ; then ^-- SC2050: This expression is constant. Did you forget the $ on a variable? In /usr/bin/mpicxx.mpich line 239: if [ -s "$libdir/lib$profConf.a" -o -s "$libdir/lib$profConf.so" ] ; then ^-- SC2166: Prefer [ p ] || [ q ] as [ p -o q ] is not well defined. In /usr/bin/mpicxx.mpich line 248: if [ -n "$profConffile" -a -s "$profConffile" ] ; then ^-- SC2166: Prefer [ p ] && [ q ] as [ p -a q ] is not well defined. In /usr/bin/mpicxx.mpich line 249: . $profConffile ^-----------^ SC1090: Can't follow non-constant source. Use a directive to specify location. ^-----------^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: . "$profConffile" In /usr/bin/mpicxx.mpich line 273: eval rpath_flags=\"${hardcode_libdir_flag_spec}\" ^--------------------------^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: eval rpath_flags=\""${hardcode_libdir_flag_spec}"\" In /usr/bin/mpicxx.mpich line 279: $Show $CXX ${final_cppflags} $PROFILE_INCPATHS ${final_cxxflags} ${final_ldflags} "${allargs[@]}" -I$includedir ^--^ SC2086: Double quote to prevent globbing and word splitting. ^---------------^ SC2086: Double quote to prevent globbing and word splitting. ^---------------^ SC2086: Double quote to prevent globbing and word splitting. ^---------------^ SC2086: Double quote to prevent globbing and word splitting. ^--------------^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: $Show "$CXX" "${final_cppflags}" "$PROFILE_INCPATHS" "${final_cxxflags}" "${final_ldflags}" "${allargs[@]}" -I$includedir In /usr/bin/mpicxx.mpich line 283: $Show $CXX ${final_cppflags} $PROFILE_INCPATHS ${final_cxxflags} ${final_ldflags} "${allargs[@]}" -I$includedir -L$libdir $cxxlibs $PROFILE_PRELIB $PROFILE_FOO $rpath_flags -lmpich $PROFILE_POSTLIB ${final_libs} ^--^ SC2086: Double quote to prevent globbing and word splitting. ^---------------^ SC2086: Double quote to prevent globbing and word splitting. ^---------------^ SC2086: Double quote to prevent globbing and word splitting. ^---------------^ SC2086: Double quote to prevent globbing and word splitting. ^--------------^ SC2086: Double quote to prevent globbing and word splitting. ^-------------^ SC2086: Double quote to prevent globbing and word splitting. ^----------^ SC2086: Double quote to prevent globbing and word splitting. ^----------^ SC2086: Double quote to prevent globbing and word splitting. ^--------------^ SC2086: Double quote to prevent globbing and word splitting. ^-----------^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: $Show "$CXX" "${final_cppflags}" "$PROFILE_INCPATHS" "${final_cxxflags}" "${final_ldflags}" "${allargs[@]}" -I$includedir -L$libdir $cxxlibs "$PROFILE_PRELIB" "$PROFILE_FOO" "$rpath_flags" -lmpich "$PROFILE_POSTLIB" "${final_libs}" In /usr/bin/mpicxx.mpich line 286: if [ "" = yes ] ; then ^-- SC2050: This expression is constant. Did you forget the $ on a variable? In /usr/bin/mpicxx.mpich line 287: fabric_dep=`pkg-config --static --libs $libdir/pkgconfig/libfabric.pc` ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: fabric_dep=$(pkg-config --static --libs $libdir/pkgconfig/libfabric.pc) In /usr/bin/mpicxx.mpich line 288: fabric_dep=`echo $fabric_dep | sed 's/-lfabric//'` ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. ^-- SC2001: See if you can use ${variable//search/replace} instead. ^---------^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: fabric_dep=$(echo "$fabric_dep" | sed 's/-lfabric//') In /usr/bin/mpicxx.mpich line 290: fabric_dep=`pkg-config --static --libs yes/lib/pkgconfig/libfabric.pc` ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: fabric_dep=$(pkg-config --static --libs yes/lib/pkgconfig/libfabric.pc) In /usr/bin/mpicxx.mpich line 292: fabric_dep=`pkg-config --static --libs libfabric` ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: fabric_dep=$(pkg-config --static --libs libfabric) In /usr/bin/mpicxx.mpich line 294: $Show $CXX ${final_cppflags} $PROFILE_INCPATHS ${final_cxxflags} ${final_ldflags} "${allargs[@]}" -I$includedir -L$libdir $cxxlibs $PROFILE_PRELIB $PROFILE_FOO $rpath_flags $libdir/libmpi.a $PROFILE_POSTLIB ${final_libs} ${fabric_dep} ^--^ SC2086: Double quote to prevent globbing and word splitting. ^---------------^ SC2086: Double quote to prevent globbing and word splitting. ^---------------^ SC2086: Double quote to prevent globbing and word splitting. ^---------------^ SC2086: Double quote to prevent globbing and word splitting. ^--------------^ SC2086: Double quote to prevent globbing and word splitting. ^-------------^ SC2086: Double quote to prevent globbing and word splitting. ^----------^ SC2086: Double quote to prevent globbing and word splitting. ^----------^ SC2086: Double quote to prevent globbing and word splitting. ^--------------^ SC2086: Double quote to prevent globbing and word splitting. ^-----------^ SC2086: Double quote to prevent globbing and word splitting. ^-----------^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: $Show "$CXX" "${final_cppflags}" "$PROFILE_INCPATHS" "${final_cxxflags}" "${final_ldflags}" "${allargs[@]}" -I$includedir -L$libdir $cxxlibs "$PROFILE_PRELIB" "$PROFILE_FOO" "$rpath_flags" $libdir/libmpi.a "$PROFILE_POSTLIB" "${final_libs}" "${fabric_dep}" In /usr/bin/mpicxx.mpich line 299: $Show $CXX ${final_cppflags} $PROFILE_INCPATHS ${final_cxxflags} "${allargs[@]}" -I$includedir ^--^ SC2086: Double quote to prevent globbing and word splitting. ^---------------^ SC2086: Double quote to prevent globbing and word splitting. ^---------------^ SC2086: Double quote to prevent globbing and word splitting. ^---------------^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: $Show "$CXX" "${final_cppflags}" "$PROFILE_INCPATHS" "${final_cxxflags}" "${allargs[@]}" -I$includedir For more information: https://www.shellcheck.net/wiki/SC1090 -- Can't follow non-constant source.... https://www.shellcheck.net/wiki/SC2034 -- MPICH_CXX_OLD appears unused. Ver... https://www.shellcheck.net/wiki/SC2050 -- This expression is constant. Did ...