diff --git a/.github/workflows/deploy_nwx_docs.yaml b/.github/workflows/deploy_nwx_docs.yaml index 71e01ca..070ce8d 100644 --- a/.github/workflows/deploy_nwx_docs.yaml +++ b/.github/workflows/deploy_nwx_docs.yaml @@ -76,10 +76,13 @@ jobs: # Generate the module docs source files - name: Generate Module Docs if: inputs.generate_module_docs == true - run: python3 /scripts/generate_module_dox.py ${{ inputs.doc_target }} + run: | + . /pyenv/bin/activate + python3 /scripts/generate_module_dox.py ${{ inputs.doc_target }} # Build the Sphinx docs and then deploy - name: Sphinx Docs run: | + . /pyenv/bin/activate cd docs if [ -f requirements.txt ]; then pip install -r requirements.txt diff --git a/.github/workflows/test_nwx_docs.yaml b/.github/workflows/test_nwx_docs.yaml index a4d5a72..617a28d 100644 --- a/.github/workflows/test_nwx_docs.yaml +++ b/.github/workflows/test_nwx_docs.yaml @@ -29,8 +29,6 @@ on: required: false default: true - - jobs: test_build_docs: runs-on: ubuntu-latest @@ -67,6 +65,7 @@ jobs: shell: bash - name: Sphinx Docs run: | + . /pyenv/bin/activate cd docs if [ -f requirements.txt ]; then pip install -r requirements.txt diff --git a/.github/workflows/test_nwx_library.yaml b/.github/workflows/test_nwx_library.yaml index 5caedbf..9c43626 100644 --- a/.github/workflows/test_nwx_library.yaml +++ b/.github/workflows/test_nwx_library.yaml @@ -87,6 +87,7 @@ jobs: echo 'include(/toolchains/error_flag.cmake)' >> $toolchain - name: Install Python Requirements run: | + . /pyenv/bin/activate if [ -f requirements.txt ]; then pip install -r requirements.txt fi diff --git a/nwx_build_environment/add_catch2.dockerfile b/nwx_build_environment/add_catch2.dockerfile index 9535f72..2d0a28b 100644 --- a/nwx_build_environment/add_catch2.dockerfile +++ b/nwx_build_environment/add_catch2.dockerfile @@ -15,7 +15,7 @@ FROM nwx_buildenv:latest ARG VERSION=3.6.0 -ARG COMPILER=gcc-11 +ARG COMPILER=gcc-13 # Install catch2 ## RUN cd /tmp \ diff --git a/nwx_build_environment/add_cereal.dockerfile b/nwx_build_environment/add_cereal.dockerfile index 38abde0..ac75b2b 100644 --- a/nwx_build_environment/add_cereal.dockerfile +++ b/nwx_build_environment/add_cereal.dockerfile @@ -15,7 +15,7 @@ FROM nwx_buildenv:latest ARG VERSION=1.3.0 -ARG COMPILER=gcc-11 +ARG COMPILER=gcc-13 # Install cereal RUN cd /tmp \ diff --git a/nwx_build_environment/add_gauxc.dockerfile b/nwx_build_environment/add_gauxc.dockerfile index f29dc34..e07a80d 100644 --- a/nwx_build_environment/add_gauxc.dockerfile +++ b/nwx_build_environment/add_gauxc.dockerfile @@ -15,7 +15,7 @@ FROM nwx_buildenv:latest ARG VERSION=71008cffd5d13d5ee813fb13d14d8bf7b06b8f6e -ARG COMPILER=gcc-11 +ARG COMPILER=gcc-13 # Install libfort ## RUN cd /tmp \ @@ -24,6 +24,7 @@ RUN cd /tmp \ && git checkout ${VERSION} \ && cmake -Bbuild -H. -GNinja \ -DGAUXC_ENABLE_HDF5=OFF \ + -DGAUXC_ENABLE_OPENMP=OFF \ -DBUILD_TESTING=OFF \ -DCMAKE_POSITION_INDEPENDENT_CODE=ON \ -DCMAKE_INSTALL_PREFIX=/nwx_dependencies/${COMPILER} \ diff --git a/nwx_build_environment/add_libfort.dockerfile b/nwx_build_environment/add_libfort.dockerfile index 9af4728..bb33b1b 100644 --- a/nwx_build_environment/add_libfort.dockerfile +++ b/nwx_build_environment/add_libfort.dockerfile @@ -15,7 +15,7 @@ FROM nwx_buildenv:latest ARG VERSION=0.4.2 -ARG COMPILER=gcc-11 +ARG COMPILER=gcc-13 # Install libfort ## RUN cd /tmp \ diff --git a/nwx_build_environment/add_libint.dockerfile b/nwx_build_environment/add_libint.dockerfile index b61684f..ee52b33 100644 --- a/nwx_build_environment/add_libint.dockerfile +++ b/nwx_build_environment/add_libint.dockerfile @@ -15,7 +15,7 @@ FROM nwx_buildenv:latest ARG VERSION=2.9.0 -ARG COMPILER=gcc-11 +ARG COMPILER=gcc-13 # Install libfort ## RUN cd /tmp \ diff --git a/nwx_build_environment/add_madness.dockerfile b/nwx_build_environment/add_madness.dockerfile deleted file mode 100644 index e2d90a9..0000000 --- a/nwx_build_environment/add_madness.dockerfile +++ /dev/null @@ -1,36 +0,0 @@ -# Copyright 2025 NWChemEx-Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -FROM nwx_buildenv:latest - -ARG VERSION=3d585293f0094588778dbd3bec24b65e7bbe6a5d -ARG COMPILER=gcc-11 - -# Install MADNESS -RUN cd /tmp \ - && git clone https://github.com/m-a-d-n-e-s-s/madness.git \ - && cd madness \ - && git checkout ${VERSION}\ - && cmake -Bbuild -H. -GNinja \ - -DENABLE_UNITTESTS=OFF \ - -DMADNESS_BUILD_MADWORLD_ONLY=ON \ - -DMADNESS_ENABLE_CEREAL=ON \ - -DENABLE_MKL=OFF \ - -DENABLE_ACML=OFF \ - -DBUILD_TESTING=OFF \ - -DCMAKE_PREFIX_PATH=/nwx_dependencies/${COMPILER} \ - -DCMAKE_INSTALL_PREFIX=/nwx_dependencies/${COMPILER} \ - -DCMAKE_TOOLCHAIN_FILE=/toolchains/${COMPILER}.cmake \ - && cmake --build build --target install \ - && rm -rf /tmp/madness diff --git a/nwx_build_environment/add_spdlog.dockerfile b/nwx_build_environment/add_spdlog.dockerfile index ee33e03..0d45163 100644 --- a/nwx_build_environment/add_spdlog.dockerfile +++ b/nwx_build_environment/add_spdlog.dockerfile @@ -15,7 +15,7 @@ FROM nwx_buildenv:latest ARG VERSION=ad0e89cbfb4d0c1ce4d097e134eb7be67baebb36 -ARG COMPILER=gcc-11 +ARG COMPILER=gcc-13 # Install spdlog RUN cd /tmp \ diff --git a/nwx_build_environment/add_tiledarray.dockerfile b/nwx_build_environment/add_tiledarray.dockerfile deleted file mode 100644 index b6bfede..0000000 --- a/nwx_build_environment/add_tiledarray.dockerfile +++ /dev/null @@ -1,34 +0,0 @@ -# Copyright 2025 NWChemEx-Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -FROM nwx_buildenv:latest - -ARG VERSION=63e180bf55849c173585a734c5e7456cbf31a986 -ARG COMPILER=gcc-11 - -# Install TiledArray -RUN cd /tmp \ - && git clone https://github.com/ValeevGroup/TiledArray.git tiledarray \ - && cd tiledarray \ - && git checkout ${VERSION} \ - && cmake -Bbuild -H. -GNinja \ - -DTA_BUILD_UNITTEST=OFF \ - -DBUILD_TESTING=OFF \ - -DBLAS_THREAD_LAYER=sequential \ - -DCMAKE_PREFIX_PATH=/nwx_dependencies/${COMPILER} \ - -DCMAKE_INSTALL_PREFIX=/nwx_dependencies/${COMPILER} \ - -DCMAKE_TOOLCHAIN_FILE=/toolchains/${COMPILER}.cmake \ - && cmake --build build --target install \ - && cd .. \ - && rm -rf tiledarray diff --git a/nwx_build_environment/buildenv.sh b/nwx_build_environment/buildenv.sh index 0c6cf23..e7c0bc3 100755 --- a/nwx_build_environment/buildenv.sh +++ b/nwx_build_environment/buildenv.sh @@ -18,7 +18,7 @@ docker build -t nwx_buildenv -f nwx_buildenv.dockerfile . deps=("cereal" "gauxc" "libfort" "spdlog" "libint") for dep in "${deps[@]}" do - docker build -t nwx_buildenv -f add_${dep}.dockerfile --build-arg COMPILER=gcc-11 . + docker build -t nwx_buildenv -f add_${dep}.dockerfile --build-arg COMPILER=gcc-13 . docker build -t nwx_buildenv -f add_${dep}.dockerfile --build-arg COMPILER=clang-14 . docker image prune -f done diff --git a/nwx_build_environment/nwx_buildenv.dockerfile b/nwx_build_environment/nwx_buildenv.dockerfile index c5f192c..aeb769d 100644 --- a/nwx_build_environment/nwx_buildenv.dockerfile +++ b/nwx_build_environment/nwx_buildenv.dockerfile @@ -12,15 +12,16 @@ # See the License for the specific language governing permissions and # limitations under the License. -FROM ubuntu:jammy +FROM ubuntu:noble RUN apt-get update \ && DEBIAN_FRONTEND=noninteractive TZ=Etc/UTC apt-get install -y \ - gcc-11 g++-11 \ - clang-14 libc++-14-dev libc++abi-14-dev libomp-dev \ + gcc-13 g++-13 \ + clang-14 libc++-14-dev libc++abi-14-dev \ + libomp-dev \ doxygen \ graphviz \ - python3-dev python3-pip python3-sphinx\ + python3-dev python3-pip python3-sphinx python3-venv\ cmake \ ninja-build \ git \ @@ -29,14 +30,17 @@ RUN apt-get update \ libgslcblas0 libgsl-dev \ libeigen3-dev \ liblapacke liblapacke-dev \ - libboost-all-dev \ - libopenblas-base libopenblas-dev \ + libboost-dev \ + libopenblas-dev \ libscalapack-openmpi-dev \ wget \ libxml2-dev \ libxslt-dev \ nwchem \ + && python3 -m venv /pyenv \ + && . /pyenv/bin/activate \ && pip install gcovr numpy qcelemental qcengine networkx ase \ + && deactivate \ && apt-get clean && rm -rf /var/lib/apt/lists/* COPY toolchains /toolchains diff --git a/nwx_build_environment/toolchains/gcc-11.cmake b/nwx_build_environment/toolchains/gcc-13.cmake similarity index 90% rename from nwx_build_environment/toolchains/gcc-11.cmake rename to nwx_build_environment/toolchains/gcc-13.cmake index 23818e4..1d38941 100644 --- a/nwx_build_environment/toolchains/gcc-11.cmake +++ b/nwx_build_environment/toolchains/gcc-13.cmake @@ -12,5 +12,5 @@ # See the License for the specific language governing permissions and # limitations under the License. -set(CMAKE_C_COMPILER gcc-11) -set(CMAKE_CXX_COMPILER g++-11) +set(CMAKE_C_COMPILER gcc-13) +set(CMAKE_CXX_COMPILER g++-13) diff --git a/nwx_build_environment/toolchains/nwx_base.cmake b/nwx_build_environment/toolchains/nwx_base.cmake index a6d2f0c..3b7db3f 100644 --- a/nwx_build_environment/toolchains/nwx_base.cmake +++ b/nwx_build_environment/toolchains/nwx_base.cmake @@ -19,7 +19,6 @@ set(CATCH_ENABLE_COVERAGE ON) set(CMAKE_BUILD_TYPE Debug) list(APPEND CMAKE_PREFIX_PATH "/nwx_dependencies/${CMAKE_C_COMPILER}") -# list(APPEND CMAKE_PREFIX_PATH "/usr/share/cmake/libint2/") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --coverage -std=c++17 -Wall") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DOMPI_SKIP_MPICXX") @@ -32,7 +31,6 @@ set(BLAS_LIBRARIES "-L${LIBDIR} -lopenblas") set(LAPACK_LIBRARIES "-L${LIBDIR} -llapack ${BLAS_LIBRARIES}") set(ScaLAPACK_LIBRARIES "-L${LIBDIR} -lscalapack-openmpi ${LAPACK_LIBRARIES}") -set(BUILD_CPPYY_PYBINDINGS OFF) set(BUILD_PYBIND11_PYBINDINGS ON) -set(Python_EXECUTABLE /usr/bin/python3) -set(NWX_MODULE_DIRECTORY /NWX_PyModules) +set(Python_EXECUTABLE /pyenv/python3) +set(Python3_EXECUTABLE /pyenv/python3) diff --git a/nwx_build_environment/toolchains/nwx_gcc-11.cmake b/nwx_build_environment/toolchains/nwx_gcc-13.cmake similarity index 94% rename from nwx_build_environment/toolchains/nwx_gcc-11.cmake rename to nwx_build_environment/toolchains/nwx_gcc-13.cmake index aacbc27..abb1108 100644 --- a/nwx_build_environment/toolchains/nwx_gcc-11.cmake +++ b/nwx_build_environment/toolchains/nwx_gcc-13.cmake @@ -12,5 +12,5 @@ # See the License for the specific language governing permissions and # limitations under the License. -include(/toolchains/gcc-11.cmake) +include(/toolchains/gcc-13.cmake) include(/toolchains/nwx_base.cmake)