Re: [AMBER] Broken AmberTools19 cpptraj compilation for GNU, Intel and PGI on a Cray with -crayxt5 flag

From: Daniel Roe <daniel.r.roe.gmail.com>
Date: Fri, 15 Nov 2019 14:50:58 -0500

Hi,

I'm currently working on a patch to make cpptraj's configure a bit
more forgiving. I hope to have it out soon.

As a temporary workaround, you should hopefully be able to just
comment out the 'exit' statement in
$AMBERHOME/AmberTools/src/cpptraj/configure:

```Line 928
      # If compiler was also specified make sure it matches as a sanity check
      if [ ! -z "$SPECIFIED_COMPILER" -a "$SPECIFIED_COMPILER" !=
"$COMPILERS" ] ; then
        echo "Error: $SPECIFIED_COMPILER compilers specified but need
$COMPILERS based on CXX = $CXX" > /dev/stderr
        exit 1
      fi

Comment out the 'exit 1'. Make sure you make a backup copy of
configure that you can use to restore cpptraj's configure so the patch
applies properly when it comes out.

Sorry for the inconvenience.

-Dan

On Fri, Nov 15, 2019 at 11:42 AM Victor Holanda Rusu
<victorusu.gmail.com> wrote:
>
> Dear List,
>
> AFAIK, the only way to make Amber compile on a Cray using the cray wrappers
> is either by using the cray compiler or by adding the -crayxt5 flag.
>
> But, when one attempts to compile AmberTools19 with either the gnu, intel
> or pgi compilers on a cray with the -crayxt5 flag, he/she gets the
> following me error message similar to
>
> Error: gnu compilers specified but need cray based on CXX = CC
>
> The issue is inside the cpptraj configure script
> (AmberTools/src/cpptraj/configure), which does not accept the use of Cray
> compiler wrappers for GNU, Intel and PGI compilers.
>
> 917 SPECIFIED_COMPILER=$COMPILERS
>
> 918 echo "Determining compilers from CXX ($CXX)"
>
> 919 case "$CXX" in
>
> 920 # NOTE - Have to look for clang++ first since it overlaps with
> g++
> 921 *clang++* ) COMPILERS='clang' ;;
>
> 922 *g++* ) COMPILERS='gnu' ;;
>
> 923 *icpc* ) COMPILERS='intel' ;;
>
> 924 *pgc++* ) COMPILERS='pgi' ;;
>
> 925 *CC* ) COMPILERS='cray' ;;
>
> 926 * ) echo "Warning: Could not detect compiler type ($CXX);
> assuming GNU" > /dev/stderr;;
> 927 esac
>
> 928 # If compiler was also specified make sure it matches as a
> sanity check
> 929 if [ ! -z "$SPECIFIED_COMPILER" -a "$SPECIFIED_COMPILER" !=
> "$COMPILERS" ] ; then
> 930 echo "Error: $SPECIFIED_COMPILER compilers specified but need
> $COMPILERS based on CXX = $CXX" > /dev/stderr
>
> Is it really necessary to perform this check?
> Or can you change it to a more generic way, something similar to
> 925 *CC* )
> if [ "X$PE_ENV" == "XCRAY" ]; then
> COMPILERS='cray' ;;
> elif [ "X$PE_ENV" == "XGNU" ]; then
> COMPILERS='gnu' ;;
> elif [ "X$PE_ENV" == "XCLANG" ]; then
> COMPILERS='clang' ;;
> elif [ "X$PE_ENV" == "XINTEL" ]; then
> COMPILERS='intel' ;;
> elif [ "X$PE_ENV" == "XPGI" ]; then
> COMPILERS='pgi' ;;
> else
> COMPILERS='UNKNOWN' ;;
> fi
> ;;
>
> Thanks.
>
>
> Best regards,
>
> Victor Holanda
> _______________________________________________
> AMBER mailing list
> AMBER.ambermd.org
> http://lists.ambermd.org/mailman/listinfo/amber

_______________________________________________
AMBER mailing list
AMBER.ambermd.org
http://lists.ambermd.org/mailman/listinfo/amber
Received on Fri Nov 15 2019 - 12:00:02 PST
Custom Search