From bf71dcf9a9dee19d42b8ed9063b1d3c4786ead1f Mon Sep 17 00:00:00 2001 From: Christopher Milan Date: Mon, 8 Jun 2026 17:02:29 -0700 Subject: [PATCH 1/6] statically link boost --- .github/workflows/test.yml | 2 +- ocelot/CMakeLists.txt | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index c26f676a..7cd5c626 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -21,7 +21,7 @@ jobs: run: sudo apt-get update && sudo apt-get -y --no-install-recommends install git g++ cmake ninja-build llvm-15-dev zlib1g-dev libglew-dev flex bison libfl-dev libboost-thread-dev libboost-filesystem-dev libzstd-dev - name: Install macOS deps if: runner.os == 'macOS' - run: brew install cmake ninja llvm@15 zlib glew flex bison boost@1.85 zstd ncurses + run: brew install cmake ninja llvm@15 zlib glew flex bison boost zstd ncurses - name: Configure (Linux) if: runner.os == 'Linux' run: cmake -S ocelot -B ocelot/build -G Ninja -DBUILD_TESTS=ON -DBUILD_TESTS_CUDA=OFF -DLLVM_DIR=$(llvm-config-15 --cmakedir) diff --git a/ocelot/CMakeLists.txt b/ocelot/CMakeLists.txt index c084efa9..765fbdf2 100644 --- a/ocelot/CMakeLists.txt +++ b/ocelot/CMakeLists.txt @@ -30,7 +30,10 @@ if (APPLE) "/opt/homebrew/opt/bison") endif() -find_package(Boost COMPONENTS system filesystem REQUIRED) +set(Boost_USE_STATIC_LIBS ON) +set(Boost_USE_MULTITHREADED ON) + +find_package(Boost COMPONENTS filesystem thread REQUIRED) find_package(FLEX 2.5 REQUIRED) find_package(BISON 2.5 REQUIRED) find_package(GLEW REQUIRED) @@ -244,7 +247,6 @@ set(${PROJECT_NAME}_INCLUDE_DIRS set(${PROJECT_NAME}_LINK_LIBRARIES GLEW::GLEW hydrazine - Boost::system Boost::filesystem ZLIB::ZLIB ${CURSES_LIBRARIES} From 98fcdd622da716add2ba0c21a1b069e6fe1ad5c0 Mon Sep 17 00:00:00 2001 From: Christopher Milan Date: Mon, 8 Jun 2026 18:27:10 -0700 Subject: [PATCH 2/6] build boost in ci --- .github/workflows/test.yml | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 7cd5c626..7665af0f 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -18,13 +18,29 @@ jobs: submodules: recursive - name: Install Linux deps if: runner.os == 'Linux' - run: sudo apt-get update && sudo apt-get -y --no-install-recommends install git g++ cmake ninja-build llvm-15-dev zlib1g-dev libglew-dev flex bison libfl-dev libboost-thread-dev libboost-filesystem-dev libzstd-dev + run: sudo apt-get update && sudo apt-get -y --no-install-recommends install git g++ cmake ninja-build llvm-15-dev zlib1g-dev libglew-dev flex bison libfl-dev libzstd-dev - name: Install macOS deps if: runner.os == 'macOS' run: brew install cmake ninja llvm@15 zlib glew flex bison boost zstd ncurses + - uses: actions/checkout@v6 + if: runner.os == 'Linux' + with: + repository: boostorg/boost + path: boost + ref: boost-1.90.0 + - name: Build Boost (Linux) + if: runner.os == 'Linux' + run: | + git submodule update --depth 1 --init tools/boostdep + git submodule update --depth 1 --init libs/filesystem + git submodule update --depth 1 --init libs/thread + python tools/boostdep/depinst/depinst.py -X test -g "--depth 1" filesystem + python tools/boostdep/depinst/depinst.py -X test -g "--depth 1" thread + ./bootstrap.sh --prefix=${{ github.workspace }}/boost-fpic + ./b2 install link=static runtime-link=shared threading=multi variant=release cxxflags=-fPIC - name: Configure (Linux) if: runner.os == 'Linux' - run: cmake -S ocelot -B ocelot/build -G Ninja -DBUILD_TESTS=ON -DBUILD_TESTS_CUDA=OFF -DLLVM_DIR=$(llvm-config-15 --cmakedir) + run: cmake -S ocelot -B ocelot/build -G Ninja -DBUILD_TESTS=ON -DBUILD_TESTS_CUDA=OFF -DLLVM_DIR=$(llvm-config-15 --cmakedir) -DBOOST_ROOT=${{ github.workspace }}/boost-fpic - name: Configure (macOS) if: runner.os == 'macOS' run: cmake -S ocelot -B ocelot/build -G Ninja -DBUILD_TESTS=ON -DBUILD_TESTS_CUDA=OFF -DCMAKE_POLICY_VERSION_MINIMUM=3.5 From dd54024d2cc3e926f418fa116a168c172a553a5f Mon Sep 17 00:00:00 2001 From: Christopher Milan Date: Mon, 8 Jun 2026 18:29:27 -0700 Subject: [PATCH 3/6] oops --- .github/workflows/test.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 7665af0f..c7a5269c 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -31,6 +31,7 @@ jobs: - name: Build Boost (Linux) if: runner.os == 'Linux' run: | + cd ${{ github.workspace }}/boost git submodule update --depth 1 --init tools/boostdep git submodule update --depth 1 --init libs/filesystem git submodule update --depth 1 --init libs/thread From 240418b2c09e6c55012d0d46970dda0011a63c20 Mon Sep 17 00:00:00 2001 From: Christopher Milan Date: Mon, 8 Jun 2026 18:42:21 -0700 Subject: [PATCH 4/6] random --- .github/workflows/test.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index c7a5269c..bd470d5f 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -35,8 +35,10 @@ jobs: git submodule update --depth 1 --init tools/boostdep git submodule update --depth 1 --init libs/filesystem git submodule update --depth 1 --init libs/thread + git submodule update --depth 1 --init libs/random python tools/boostdep/depinst/depinst.py -X test -g "--depth 1" filesystem python tools/boostdep/depinst/depinst.py -X test -g "--depth 1" thread + python tools/boostdep/depinst/depinst.py -X test -g "--depth 1" random ./bootstrap.sh --prefix=${{ github.workspace }}/boost-fpic ./b2 install link=static runtime-link=shared threading=multi variant=release cxxflags=-fPIC - name: Configure (Linux) From b8e700447d5ce24e6db73da461a5b1c9665ad85c Mon Sep 17 00:00:00 2001 From: Christopher Milan Date: Mon, 8 Jun 2026 18:49:12 -0700 Subject: [PATCH 5/6] asio and cleanup --- .github/workflows/test.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index bd470d5f..31b1fd26 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -33,12 +33,10 @@ jobs: run: | cd ${{ github.workspace }}/boost git submodule update --depth 1 --init tools/boostdep - git submodule update --depth 1 --init libs/filesystem - git submodule update --depth 1 --init libs/thread - git submodule update --depth 1 --init libs/random python tools/boostdep/depinst/depinst.py -X test -g "--depth 1" filesystem python tools/boostdep/depinst/depinst.py -X test -g "--depth 1" thread python tools/boostdep/depinst/depinst.py -X test -g "--depth 1" random + python tools/boostdep/depinst/depinst.py -X test -g "--depth 1" asio ./bootstrap.sh --prefix=${{ github.workspace }}/boost-fpic ./b2 install link=static runtime-link=shared threading=multi variant=release cxxflags=-fPIC - name: Configure (Linux) From d8f81398ec97db2713c45c25f29c275aa12c5f3a Mon Sep 17 00:00:00 2001 From: Christopher Milan Date: Mon, 8 Jun 2026 18:54:59 -0700 Subject: [PATCH 6/6] ugh --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 31b1fd26..4c8c56e7 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -32,7 +32,7 @@ jobs: if: runner.os == 'Linux' run: | cd ${{ github.workspace }}/boost - git submodule update --depth 1 --init tools/boostdep + git submodule update --depth 1 --init tools/boostdep libs/filesystem libs/thread libs/random libs/asio python tools/boostdep/depinst/depinst.py -X test -g "--depth 1" filesystem python tools/boostdep/depinst/depinst.py -X test -g "--depth 1" thread python tools/boostdep/depinst/depinst.py -X test -g "--depth 1" random