From a02eebcd89facf82c3e8d3ab11c382882b85b138 Mon Sep 17 00:00:00 2001 From: edoapra Date: Wed, 31 May 2023 15:43:05 -0700 Subject: [PATCH 1/5] fix for clang C compilers --- src/libext/scalapack/build_scalapa.sh | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/libext/scalapack/build_scalapa.sh b/src/libext/scalapack/build_scalapa.sh index 6249acf437..0c8815e744 100755 --- a/src/libext/scalapack/build_scalapa.sh +++ b/src/libext/scalapack/build_scalapa.sh @@ -166,11 +166,6 @@ fi #if [[ ! -z "$BUILD_SCALAPACK" ]] ; then # Fortran_FLAGS+=-I"$NWCHEM_TOP"/src/libext/include #fi -#fix for clang 12 error in implicit-function-declaration -GOTCLANG=$( "$MPICC" -dM -E - /dev/null |grep __clang__|head -1|cut -c19) -if [[ ${GOTCLANG} == "1" ]] ; then - C_FLAGS=" -Wno-error=implicit-function-declaration " -fi echo "SCALAPACK_SIZE" is $SCALAPACK_SIZE if [[ ${FC} == ftn ]]; then if [[ ${PE_ENV} == PGI ]]; then @@ -213,6 +208,7 @@ if [[ -z "$I_MPI_CC" ]] ; then export I_MPI_CC="$CC" fi echo I_MPI_F90 is "$I_MPI_F90" +echo I_MPI_CC is "$I_MPI_CC" if [[ -z "$PE_ENV" ]] ; then #check if mpif90 and FC are consistent MPIF90_EXTRA=$(${NWCHEM_TOP}/src/config/strip_compiler.sh `${MPIF90} -show`) @@ -225,6 +221,11 @@ if [[ -z "$PE_ENV" ]] ; then exit 1 fi fi +#fix for clang 12 error in implicit-function-declaration +GOTCLANG=$( "$MPICC" -dM -E - /dev/null |grep __clang__|head -1|cut -c19) +if [[ ${GOTCLANG} == "1" ]] ; then + C_FLAGS=" -Wno-error=implicit-function-declaration " +fi if [[ "$SCALAPACK_SIZE" == 8 ]] ; then if [[ ${FC} == f95 ]] || [[ ${FC_EXTRA} == gfortran ]] ; then Fortran_FLAGS+=" -fdefault-integer-8 -w " From 578be40910c912c18cc6c20b70abe5f3ebb26034 Mon Sep 17 00:00:00 2001 From: edoapra Date: Wed, 7 Jun 2023 17:03:39 -0700 Subject: [PATCH 2/5] remove quote sign for mpi_libdev and mpi_bin --- travis/build_env.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/travis/build_env.sh b/travis/build_env.sh index f0741d592b..64fb681811 100755 --- a/travis/build_env.sh +++ b/travis/build_env.sh @@ -157,9 +157,9 @@ if [[ "$os" == "Linux" ]]; then if [[ "$USE_LIBXC" == "-1" ]]; then pkg_extra+=" libxc-dev" fi - echo pkg to install: gfortran python3-dev make perl python3 rsync "$mpi_libdev" "$mpi_bin" $pkg_extra + echo pkg to install: gfortran python3-dev make perl python3 rsync $mpi_libdev $mpi_bin $pkg_extra tries=0 ; until [ "$tries" -ge 10 ] ; do \ - sudo apt-get -y install gfortran python3-dev make perl python3 rsync "$mpi_libdev" "$mpi_bin" $pkg_extra \ + sudo apt-get -y install gfortran python3-dev make perl python3 rsync $mpi_libdev $mpi_bin $pkg_extra \ && break ;\ tries=$((tries+1)) ; echo attempt no. $tries ; sleep 30 ; done From 3179a43a8b72512fd777129f674fae5a848b3e81 Mon Sep 17 00:00:00 2001 From: edoapra Date: Wed, 7 Jun 2023 17:11:57 -0700 Subject: [PATCH 3/5] script updates from conda build --- src/NWints/simint/libsimint_source/build_simint.sh | 9 ++++++++- src/libext/tblite/build_tblite_cmake.sh | 10 +++++++++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/src/NWints/simint/libsimint_source/build_simint.sh b/src/NWints/simint/libsimint_source/build_simint.sh index 52103136e9..f57b16a50f 100755 --- a/src/NWints/simint/libsimint_source/build_simint.sh +++ b/src/NWints/simint/libsimint_source/build_simint.sh @@ -26,6 +26,11 @@ if [ -z "$(command -v patch)" ]; then exit 1 fi UNAME_S=$(uname -s) +if [ ! -z "${CONDA_TOOLCHAIN_HOST}" ]; then + arch=$(echo $CONDA_TOOLCHAIN_HOST | cut -d - -f 1) +else + arch=$(uname -m) +fi if [[ ${UNAME_S} == Linux ]]; then CPU_FLAGS=$(cat /proc/cpuinfo | grep flags |tail -n 1) CPU_FLAGS_2=$(cat /proc/cpuinfo | grep flags |tail -n 1) @@ -245,7 +250,9 @@ cd ../.. echo ln -sf simint.l${SIMINT_MAXAM}_p${PERMUTE_SLOW}_d${DERIV}.install simint_install ln -sf simint.l${SIMINT_MAXAM}_p${PERMUTE_SLOW}_d${DERIV}.install simint_install cd simint_install/lib -strip --strip-debug libsimint.a +if [[ "$arch" == "x86_64" ]]; then + strip --strip-debug libsimint.a +fi ln -sf libsimint.a libnwc_simint.a export SIMINT_HOME=${SRC_HOME}/simint.l${SIMINT_MAXAM}_p${PERMUTE_SLOW}_d${DERIV}.install echo 'SIMINT library built with maximum angular momentum='${SIMINT_MAXAM} diff --git a/src/libext/tblite/build_tblite_cmake.sh b/src/libext/tblite/build_tblite_cmake.sh index 505de2cc73..378b29b546 100755 --- a/src/libext/tblite/build_tblite_cmake.sh +++ b/src/libext/tblite/build_tblite_cmake.sh @@ -240,7 +240,15 @@ fi $CMAKE --install _build cd .. + +if [ ! -z "${CONDA_TOOLCHAIN_HOST}" ]; then + arch=$(echo $CONDA_TOOLCHAIN_HOST | cut -d - -f 1) +else + arch=$(uname -m) +fi if [[ $(uname -s) == "Linux" ]]; then - strip --strip-debug ../lib/libtblite.a + if [[ "$arch" == "x86_64" ]]; then + strip --strip-debug ../lib/libtblite.a + fi fi ln -sf ../lib/libtblite.a ../lib/libnwc_tblite.a From fa7482cf83d4391a38ee3021cc62787176b6a8cb Mon Sep 17 00:00:00 2001 From: edoapra Date: Thu, 8 Jun 2023 19:26:37 -0700 Subject: [PATCH 4/5] catch config failures. conda build ld fix --- src/libext/plumed/build_plumed.sh | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/libext/plumed/build_plumed.sh b/src/libext/plumed/build_plumed.sh index 1d7dd5f5f4..d5f1f9b05f 100755 --- a/src/libext/plumed/build_plumed.sh +++ b/src/libext/plumed/build_plumed.sh @@ -39,6 +39,9 @@ if [[ "$BLAS_SIZE" == 8 ]]; then else ILP64=" " fi +if [ ! -z "${CONDA_BUILD_SYSROOT}" ]; then + LDFLAGS_EXTRA+=" -Wl,-rpath,${PREFIX}/lib -L${PREFIX}/lib " +fi echo LDFLAGS_EXTRA is "$LDFLAGS_EXTRA" MODULES_EXTRA="--enable-modules=+cvhd" echo executing the command \ @@ -52,6 +55,14 @@ echo executing the command \ LDFLAGS="$BLASOPT $LDFLAGS_EXTRA" \ LIBS="$BLASOPT $LDFLAGS_EXTRA" \ --prefix=$NWCHEM_TOP/src/libext +if [[ "$?" != "0" ]]; then + echo " " + echo "configure failed" + echo " " + ls -lrta + cat config.log + exit 1 +fi make -j4 if [[ "$?" != "0" ]]; then echo " " From 5e91dd3b039ad1f44d9ecf945043b1c28a0d47e3 Mon Sep 17 00:00:00 2001 From: edoapra Date: Fri, 9 Jun 2023 15:38:53 -0700 Subject: [PATCH 5/5] added C_FLAGS for conda cross builds --- src/libext/tblite/build_tblite_cmake.sh | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/libext/tblite/build_tblite_cmake.sh b/src/libext/tblite/build_tblite_cmake.sh index 378b29b546..8b07a3603c 100755 --- a/src/libext/tblite/build_tblite_cmake.sh +++ b/src/libext/tblite/build_tblite_cmake.sh @@ -203,7 +203,10 @@ if [[ ${FC} == nvfortran ]] || [[ ${FC} == pgf90 ]]; then Fortran_FLAGS+="-Mbackslash -fast -tp host" fi if [ ! -z "${CONDA_BUILD_SYSROOT}" ]; then +if [ ! -z "${PREFIX}" ]; then Fortran_FLAGS+="-Wl,-rpath,${PREFIX}/lib -L${PREFIX}/lib" + C_FLAGS+="-Wl,-rpath,${PREFIX}/lib -L${PREFIX}/lib" +fi fi if [[ -z "$USE_OPENMP" ]]; then DOOPENMP=OFF @@ -227,9 +230,9 @@ fi cd tblite rm -rf _build -echo compiling TBlite stack with FC=$FC CC=$CC $CMAKE -B _build -DLAPACK_LIBRARIES="$BLASOPT" -DWITH_ILP64=$ilp64 -DWITH_OpenMP=$DOOPENMP -DCMAKE_INSTALL_PREFIX="../.." -DWITH_TESTS=OFF -DWITH_API=OFF -DWITH_APP=OFF -DCMAKE_INSTALL_LIBDIR="lib" -DCMAKE_IGNORE_PATH="/usr/local" -DCMAKE_Fortran_FLAGS="$Fortran_FLAGS" +echo compiling TBlite stack with FC=$FC CC=$CC $CMAKE -B _build -DLAPACK_LIBRARIES="$BLASOPT" -DWITH_ILP64=$ilp64 -DWITH_OpenMP=$DOOPENMP -DCMAKE_INSTALL_PREFIX="../.." -DWITH_TESTS=OFF -DWITH_API=OFF -DWITH_APP=OFF -DCMAKE_INSTALL_LIBDIR="lib" -DCMAKE_IGNORE_PATH="/usr/local" -DCMAKE_Fortran_FLAGS="$Fortran_FLAGS" -DCMAKE_C_FLAGS="$C_FLAGS" -FC=$FC CC=$CC $CMAKE -B _build -DLAPACK_LIBRARIES="$BLASOPT" -DWITH_ILP64=$ilp64 -DWITH_OpenMP=$DOOPENMP -DCMAKE_INSTALL_PREFIX="../.." -DWITH_TESTS=OFF -DWITH_API=OFF -DWITH_APP=OFF -DCMAKE_INSTALL_LIBDIR="lib" -DCMAKE_IGNORE_PATH="/usr/local" -DCMAKE_Fortran_FLAGS="$Fortran_FLAGS" +FC=$FC CC=$CC $CMAKE -B _build -DLAPACK_LIBRARIES="$BLASOPT" -DWITH_ILP64=$ilp64 -DWITH_OpenMP=$DOOPENMP -DCMAKE_INSTALL_PREFIX="../.." -DWITH_TESTS=OFF -DWITH_API=OFF -DWITH_APP=OFF -DCMAKE_INSTALL_LIBDIR="lib" -DCMAKE_IGNORE_PATH="/usr/local" -DCMAKE_Fortran_FLAGS="$Fortran_FLAGS" -DCMAKE_C_FLAGS="$C_FLAGS" $CMAKE --build _build --parallel 4 status=$? if [ $status -ne 0 ]; then