From 610a28ceca2ce7b3c65b71265b6853d98af1635b Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Thu, 16 Jan 2025 14:26:01 +0100 Subject: [PATCH 01/11] ubuntu 24 now comes with libtinfo6 rather than 5 --- .github/workflows/dynamic_arch.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/dynamic_arch.yml b/.github/workflows/dynamic_arch.yml index 9e55e73467..069059cf40 100644 --- a/.github/workflows/dynamic_arch.yml +++ b/.github/workflows/dynamic_arch.yml @@ -43,7 +43,7 @@ jobs: run: | if [ "$RUNNER_OS" == "Linux" ]; then sudo apt-get update - sudo apt-get install -y gfortran cmake ccache libtinfo5 + sudo apt-get install -y gfortran cmake ccache libtinfo6 elif [ "$RUNNER_OS" == "macOS" ]; then # It looks like "gfortran" isn't working correctly unless "gcc" is re-installed. brew reinstall gcc From 01ab072c2b2a640c80400308253522feacd0ff2c Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Thu, 16 Jan 2025 14:27:00 +0100 Subject: [PATCH 02/11] Ubuntu 24 now comes with libtinfo6 rather than 5 --- .github/workflows/codspeed-bench.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/codspeed-bench.yml b/.github/workflows/codspeed-bench.yml index 25e196ef2a..5fdc9d9229 100644 --- a/.github/workflows/codspeed-bench.yml +++ b/.github/workflows/codspeed-bench.yml @@ -36,7 +36,7 @@ jobs: run: | if [ "$RUNNER_OS" == "Linux" ]; then sudo apt-get update - sudo apt-get install -y gfortran cmake ccache libtinfo5 + sudo apt-get install -y gfortran cmake ccache libtinfo6 else echo "::error::$RUNNER_OS not supported" exit 1 From ef49e4113e5d719c18a7918733fd2018bc81da5a Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Thu, 16 Jan 2025 15:04:18 +0100 Subject: [PATCH 03/11] fix ubuntu at 22 for compatibility and update run action to v3 --- .github/workflows/codspeed-bench.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/codspeed-bench.yml b/.github/workflows/codspeed-bench.yml index 5fdc9d9229..7471e9ea0a 100644 --- a/.github/workflows/codspeed-bench.yml +++ b/.github/workflows/codspeed-bench.yml @@ -15,7 +15,7 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-latest] + os: [ubuntu-22] fortran: [gfortran] build: [make] pyver: ["3.12"] @@ -36,7 +36,7 @@ jobs: run: | if [ "$RUNNER_OS" == "Linux" ]; then sudo apt-get update - sudo apt-get install -y gfortran cmake ccache libtinfo6 + sudo apt-get install -y gfortran cmake ccache libtinfo5 else echo "::error::$RUNNER_OS not supported" exit 1 @@ -147,7 +147,7 @@ jobs: OPENBLAS_NUM_THREADS=1 pytest benchmarks/bench_blas.py -k 'gesdd' - name: Run benchmarks - uses: CodSpeedHQ/action@v2 + uses: CodSpeedHQ/action@v3 with: token: ${{ secrets.CODSPEED_TOKEN }} run: | From e0285c0174da675aa0a38549b6b1aeb51f67044a Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Thu, 16 Jan 2025 15:12:00 +0100 Subject: [PATCH 04/11] add glib2.0 for qemu --- .github/workflows/loongarch64_clang.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/loongarch64_clang.yml b/.github/workflows/loongarch64_clang.yml index f1a75ad343..fdb48309b9 100644 --- a/.github/workflows/loongarch64_clang.yml +++ b/.github/workflows/loongarch64_clang.yml @@ -41,7 +41,7 @@ jobs: - name: Install APT deps run: | sudo apt-get update - sudo apt-get install autoconf automake autotools-dev ninja-build make ccache + sudo apt-get install autoconf automake autotools-dev ninja-build make ccache libglib2.0-dev - name: Download and install loongarch64-toolchain run: | From 145a975a8a9f603e011d1dbe47543d347913110a Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Thu, 16 Jan 2025 15:16:01 +0100 Subject: [PATCH 05/11] add libglib2/gthread2 for qemu --- .github/workflows/mips64.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/mips64.yml b/.github/workflows/mips64.yml index 1491aff78b..57b26c2d47 100644 --- a/.github/workflows/mips64.yml +++ b/.github/workflows/mips64.yml @@ -41,7 +41,7 @@ jobs: run: | sudo apt-get update sudo apt-get install autoconf automake autotools-dev ninja-build make ccache \ - gcc-${{ matrix.triple }} gfortran-${{ matrix.triple }} libgomp1-mips64el-cross + gcc-${{ matrix.triple }} gfortran-${{ matrix.triple }} libgomp1-mips64el-cross libglib2.0-dev libgthread2.0-dev - name: checkout qemu uses: actions/checkout@v3 From 2bbb31e78fbc9f45b4d4f908efbf9e48e6639c3d Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Thu, 16 Jan 2025 16:08:16 +0100 Subject: [PATCH 06/11] Update mips64.yml --- .github/workflows/mips64.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/mips64.yml b/.github/workflows/mips64.yml index 57b26c2d47..16468ad5ce 100644 --- a/.github/workflows/mips64.yml +++ b/.github/workflows/mips64.yml @@ -41,7 +41,7 @@ jobs: run: | sudo apt-get update sudo apt-get install autoconf automake autotools-dev ninja-build make ccache \ - gcc-${{ matrix.triple }} gfortran-${{ matrix.triple }} libgomp1-mips64el-cross libglib2.0-dev libgthread2.0-dev + gcc-${{ matrix.triple }} gfortran-${{ matrix.triple }} libgomp1-mips64el-cross libglib2.0-dev - name: checkout qemu uses: actions/checkout@v3 From 863be814afb2285250bc4b99010ef50f1ba4a174 Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Thu, 16 Jan 2025 16:09:04 +0100 Subject: [PATCH 07/11] add glib2 for qemu --- .github/workflows/c910v.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/c910v.yml b/.github/workflows/c910v.yml index a47ca1dce6..fc1307c22f 100644 --- a/.github/workflows/c910v.yml +++ b/.github/workflows/c910v.yml @@ -37,7 +37,7 @@ jobs: run: | sudo apt-get update sudo apt-get install autoconf automake autotools-dev ninja-build make ccache \ - gcc-${{ matrix.apt_triple }} gfortran-${{ matrix.apt_triple }} libgomp1-riscv64-cross + gcc-${{ matrix.apt_triple }} gfortran-${{ matrix.apt_triple }} libgomp1-riscv64-cross libglib2.0-dev - name: checkout qemu uses: actions/checkout@v3 From c4fe2142c4e096004c21c27d82a28a51d1066587 Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Thu, 16 Jan 2025 16:35:35 +0100 Subject: [PATCH 08/11] Update qemu as the old version 7 no longer builds --- .github/workflows/mips64.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/mips64.yml b/.github/workflows/mips64.yml index 16468ad5ce..56da22c6b0 100644 --- a/.github/workflows/mips64.yml +++ b/.github/workflows/mips64.yml @@ -48,7 +48,7 @@ jobs: with: repository: qemu/qemu path: qemu - ref: 79dfa177ae348bb5ab5f97c0915359b13d6186e2 + ref: ae35f033b874c627d81d51070187fbf55f0bf1a7 - name: build qemu run: | @@ -59,8 +59,7 @@ jobs: - name: Compilation cache uses: actions/cache@v3 - with: - path: ~/.ccache + with: path: ~/.ccache key: ccache-${{ runner.os }}-${{ matrix.target }}-${{ github.ref }}-${{ github.sha }} restore-keys: | ccache-${{ runner.os }}-${{ matrix.target }}-${{ github.ref }} From b23b4ff9cb6a3c7d31223e922b939bf347a30346 Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Thu, 16 Jan 2025 17:30:48 +0100 Subject: [PATCH 09/11] install old libtinfo5 package as the 2019 flang binary depends on it --- .github/workflows/dynamic_arch.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/dynamic_arch.yml b/.github/workflows/dynamic_arch.yml index 069059cf40..f42d4c57fe 100644 --- a/.github/workflows/dynamic_arch.yml +++ b/.github/workflows/dynamic_arch.yml @@ -43,7 +43,9 @@ jobs: run: | if [ "$RUNNER_OS" == "Linux" ]; then sudo apt-get update - sudo apt-get install -y gfortran cmake ccache libtinfo6 + sudo apt-get install -y gfortran cmake ccache + wget http://security.ubuntu.com/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2ubuntu0.1_amd64.deb + sudo apt install ./libtinfo5_6.3-2ubuntu0.1_amd64.deb elif [ "$RUNNER_OS" == "macOS" ]; then # It looks like "gfortran" isn't working correctly unless "gcc" is re-installed. brew reinstall gcc From 5625e9de62eaf81b64568c1e0d9c46ee8489f45c Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Thu, 16 Jan 2025 17:34:02 +0100 Subject: [PATCH 10/11] work around build errors in T-head qemu (see xuantie-qemu issue 7) --- .github/workflows/c910v.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/c910v.yml b/.github/workflows/c910v.yml index fc1307c22f..1dd3a2c713 100644 --- a/.github/workflows/c910v.yml +++ b/.github/workflows/c910v.yml @@ -52,6 +52,7 @@ jobs: wget https://github.com/revyos/qemu/commit/5164bca5a4bcde4534dc1a9aa3a7f619719874cf.patch cd qemu patch -p1 < ../5164bca5a4bcde4534dc1a9aa3a7f619719874cf.patch + export CXXFLAGS="-Wno-error"; export CFLAGS="-Wno-error" ./configure --prefix=$GITHUB_WORKSPACE/qemu-install --target-list=riscv64-linux-user --disable-system make -j$(nproc) make install From b7198fc81b062f16642cd8810424eb9d0aeb9a2d Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Thu, 16 Jan 2025 19:27:40 +0100 Subject: [PATCH 11/11] fix ubuntu naming --- .github/workflows/codspeed-bench.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/codspeed-bench.yml b/.github/workflows/codspeed-bench.yml index 7471e9ea0a..94e0d708ed 100644 --- a/.github/workflows/codspeed-bench.yml +++ b/.github/workflows/codspeed-bench.yml @@ -15,7 +15,7 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-22] + os: [ubuntu-22.04] fortran: [gfortran] build: [make] pyver: ["3.12"]