diff --git a/.github/workflows/pull_request.yml b/.github/workflows/pull_request.yml index 2b9cde7f..3832ed18 100644 --- a/.github/workflows/pull_request.yml +++ b/.github/workflows/pull_request.yml @@ -15,7 +15,7 @@ concurrency: cancel-in-progress: true env: - BOOST_VERSION: "1.78.0" + BOOST_VERSION: "1.81.0" CAA_ARTIFACT_NAME: circuits-and-assignments TO_ARTIFACT_NAME: transpiler-output INTEGRATION_TESTING_TARGETS: | @@ -143,7 +143,7 @@ jobs: (needs.prepare-targets.result == 'success' || needs.prepare-targets.result == 'skipped') strategy: matrix: - cpp-compiler: [ g++, clang++ ] + cpp-compiler: [ clang++ ] # TODO: g++ built binary can't find libboost_thread-mt-x64.so.1.83.0 in runtime. Nix build will fix it build-type: [ Release ] fail-fast: false outputs: @@ -234,6 +234,7 @@ jobs: # https://github.com/MarkusJx/prebuilt-boost/blob/main/versions-manifest.json platform_version: ${{ steps.strings.outputs.platform-version }} boost_install_dir: ${{ steps.strings.outputs.dependencies-dir }} + link: static+shared - name: Configure CMake env: @@ -246,8 +247,7 @@ jobs: -G "Unix Makefiles" \ -B build \ -DCMAKE_CXX_COMPILER=${{ matrix.cpp-compiler }} \ - -DCMAKE_BUILD_TYPE=${{ matrix.build-type }} \ - -DBoost_ARCHITECTURE=-x64 + -DCMAKE_BUILD_TYPE=${{ matrix.build-type }} - name: Build proof-producer working-directory: ${{ steps.strings.outputs.build-dir }} @@ -316,7 +316,7 @@ jobs: ${{ steps.strings.outputs.artifact-dir }}/transpiler_output_* - name: Upload .deb package - if: matrix.cpp-compiler == 'g++' && matrix.build-type == 'Release' + if: matrix.cpp-compiler == 'clang++' && matrix.build-type == 'Release' uses: actions/upload-artifact@v4 with: name: proof-producer.deb diff --git a/.github/workflows/release_linux.yml b/.github/workflows/release_linux.yml index a768d133..73b67c28 100644 --- a/.github/workflows/release_linux.yml +++ b/.github/workflows/release_linux.yml @@ -20,7 +20,7 @@ jobs: CONTAINER_TMP: /opt/ HOST_TMP: /home/runner/work/_temp/ DEBIAN_FRONTEND: noninteractive - BOOST_VERSION: "1.83.0" + BOOST_VERSION: "1.81.0" container: image: ubuntu:22.04 diff --git a/.github/workflows/reusable-generate-proofs-linux.yml b/.github/workflows/reusable-generate-proofs-linux.yml index 5423ecbb..07f0cdc2 100644 --- a/.github/workflows/reusable-generate-proofs-linux.yml +++ b/.github/workflows/reusable-generate-proofs-linux.yml @@ -33,7 +33,7 @@ on: type: string description: "Version of Boost to install" required: false - default: '1.78.0' + default: '1.81.0' outputs: artifact-name: @@ -49,7 +49,7 @@ jobs: runs-on: ubuntu-22.04 strategy: matrix: - cpp-compiler: [ g++, clang++ ] + cpp-compiler: [ clang++ ] # TODO: g++ built binary can't find libboost_thread-mt-x64.so.1.83.0 in runtime. Nix build will fix it build-type: [ Release ] fail-fast: false outputs: @@ -133,6 +133,7 @@ jobs: # https://github.com/MarkusJx/prebuilt-boost/blob/main/versions-manifest.json platform_version: ${{ steps.strings.outputs.platform-version }} boost_install_dir: ${{ steps.strings.outputs.dependencies-dir }} + link: static+shared - name: Configure CMake env: @@ -145,8 +146,7 @@ jobs: -G "Unix Makefiles" \ -B build \ -DCMAKE_CXX_COMPILER=${{ matrix.cpp-compiler }} \ - -DCMAKE_BUILD_TYPE=${{ matrix.build-type }} \ - -DBoost_ARCHITECTURE=-x64 + -DCMAKE_BUILD_TYPE=${{ matrix.build-type }} - name: Build proof-producer working-directory: ${{ steps.strings.outputs.build-dir }} @@ -180,11 +180,9 @@ jobs: - name: Upload circuits, assignments and proofs artifact # Only from a single matrix configuration. Assuming everyone produce the same results if not failed. - if: matrix.cpp-compiler == 'g++' && matrix.build-type == 'Release' + if: matrix.cpp-compiler == 'clang++' && matrix.build-type == 'Release' uses: actions/upload-artifact@v3 with: name: ${{ steps.set-artifact-name.outputs.artifact-name }} path: | ${{ steps.strings.outputs.artifact-dir }} - - diff --git a/bin/proof-generator/CMakeLists.txt b/bin/proof-generator/CMakeLists.txt index 87540818..b8bb5290 100644 --- a/bin/proof-generator/CMakeLists.txt +++ b/bin/proof-generator/CMakeLists.txt @@ -48,13 +48,18 @@ function(setup_proof_generator_target) endforeach() endif() - set_target_properties(${ARG_TARGET_NAME} PROPERTIES LINKER_LANGUAGE CXX EXPORT_NAME ${ARG_TARGET_NAME} CXX_STANDARD 17 CXX_STANDARD_REQUIRED TRUE) + if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang") + target_compile_options(${ARG_TARGET_NAME} PRIVATE "-fconstexpr-steps=2147483647") + elseif (CMAKE_CXX_COMPILER_ID STREQUAL "GNU") + target_compile_options(${ARG_TARGET_NAME} PRIVATE "-fconstexpr-ops-limit=4294967295") + endif () + target_include_directories(${ARG_TARGET_NAME} PUBLIC $ $ diff --git a/bin/proof-generator/include/nil/proof-generator/prover.hpp b/bin/proof-generator/include/nil/proof-generator/prover.hpp index c4bdd33b..ac6fbcad 100644 --- a/bin/proof-generator/include/nil/proof-generator/prover.hpp +++ b/bin/proof-generator/include/nil/proof-generator/prover.hpp @@ -25,7 +25,6 @@ #include #include -#include // TODO: remove this. Required only because of an incorrect assert check in zk #include #include @@ -35,7 +34,6 @@ #include #include #include -#include #include #include #include diff --git a/libs/actor/container b/libs/actor/container index 2cb15c95..401ae44c 160000 --- a/libs/actor/container +++ b/libs/actor/container @@ -1 +1 @@ -Subproject commit 2cb15c9585207b57ef86121c89fdf37539e2f8fd +Subproject commit 401ae44cb8e336add7d6344f7641ba87e5b467f4 diff --git a/libs/actor/math b/libs/actor/math index 884640f9..b2a2c26f 160000 --- a/libs/actor/math +++ b/libs/actor/math @@ -1 +1 @@ -Subproject commit 884640f90258640e545af406a9916ec3e9395ed7 +Subproject commit b2a2c26fc3bf04ca75f059d3e7a0ff1d9e9148e4 diff --git a/libs/actor/zk b/libs/actor/zk index f1bd7808..bb90c788 160000 --- a/libs/actor/zk +++ b/libs/actor/zk @@ -1 +1 @@ -Subproject commit f1bd780872a24306d3d481ea7916ee2fa04c03c8 +Subproject commit bb90c788fd630619bcb40b40e632cdd5ea51135d diff --git a/libs/crypto3 b/libs/crypto3 index 3de07753..261d07e4 160000 --- a/libs/crypto3 +++ b/libs/crypto3 @@ -1 +1 @@ -Subproject commit 3de0775395bf06c0e4969ff7f921cc7523904269 +Subproject commit 261d07e4ed974bc7ed2fb80edea58d70a04c3af3