From a2846cf457b646c272135e7be89a2c616f38bf9e Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 5 Mar 2026 15:50:48 +0000 Subject: [PATCH 1/3] Update build system for OpenMS 3.5 compatibility MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Fix THIRDPARTY paths: Linux/64bit → Linux/x86_64, Windows/64bit → Windows/x86_64 - Upgrade Qt5 to Qt6 (required by OpenMS 3.5) - Update Python package version pins to match streamlit-template - Use robust regex for pyopenms filtering in requirements.txt - Bump OPENMS_VERSION to 3.5.0 in CI workflow https://claude.ai/code/session_0178Y5KgGPyEhxUrh888CM5V --- .../workflows/build-windows-executable-app.yaml | 14 +++++--------- Dockerfile | 8 ++++---- 2 files changed, 9 insertions(+), 13 deletions(-) diff --git a/.github/workflows/build-windows-executable-app.yaml b/.github/workflows/build-windows-executable-app.yaml index 83d3f8bc..72eac499 100644 --- a/.github/workflows/build-windows-executable-app.yaml +++ b/.github/workflows/build-windows-executable-app.yaml @@ -11,7 +11,7 @@ on: # Define needed TOPP tools here env: TOPP_TOOLS: "FLASHDeconv FLASHTnT DecoyDatabase" - OPENMS_VERSION: 3.2.0 + OPENMS_VERSION: 3.5.0 PYTHON_VERSION: 3.11.0 # Name of the installer APP_NAME: FLASHApp-0.9.15 @@ -61,14 +61,10 @@ jobs: path: 'OpenMS' - name: Install Qt - uses: jurplel/install-qt-action@v3 + uses: jurplel/install-qt-action@v4 with: - version: '5.15.2' # 5.12.7 is broken https://bugreports.qt.io/browse/QTBUG-81715, > 5.15.2 is not available on official archives (https://github.com/miurahr/aqtinstall/issues/636) - host: 'windows' # default: win64_msvc2017_64 - target: 'desktop' - install-deps: 'true' - cache: 'false' - aqtversion: '==3.1.*' + version: '6.8.3' + arch: 'win64_msvc2022_64' # https://github.com/marketplace/actions/visual-studio-shell - name: Set up Visual Studio shell @@ -137,7 +133,7 @@ jobs: # add third-party binaries to PATH # use flat THIRDPARTY structure mkdir -p _thirdparty - cp -R OpenMS/THIRDPARTY/Windows/64bit/* _thirdparty/ + cp -R OpenMS/THIRDPARTY/Windows/x86_64/* _thirdparty/ cp -R OpenMS/THIRDPARTY/All/* _thirdparty/ # add third-party binaries to PATH for thirdpartytool in ${{ github.workspace }}/_thirdparty/* diff --git a/Dockerfile b/Dockerfile index 2605265d..0f6eb4d8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -53,7 +53,7 @@ RUN apt-get install -y --no-install-recommends --no-install-suggests libboost-da libboost-regex1.74-dev \ libboost-math1.74-dev \ libboost-random1.74-dev -RUN apt-get install -y --no-install-recommends --no-install-suggests qtbase5-dev libqt5svg5-dev libqt5opengl5-dev +RUN apt-get install -y --no-install-recommends --no-install-suggests qt6-base-dev libqt6svg6-dev libqt6opengl6-dev libqt6openglwidgets6 libgl-dev # Install Github CLI RUN (type -p wget >/dev/null || (apt-get update && apt-get install wget -y)) \ @@ -80,7 +80,7 @@ SHELL ["mamba", "run", "-n", "streamlit-env", "/bin/bash", "-c"] # Install up-to-date cmake via mamba and packages for pyOpenMS build. RUN mamba install cmake -RUN pip install --upgrade pip && python -m pip install -U setuptools nose 'Cython<3.1' 'autowrap<0.23' pandas 'numpy==1.26.4' pytest +RUN pip install --upgrade pip && python -m pip install -U setuptools nose cython "autowrap<=0.24" pandas numpy pytest # Clone OpenMS branch and the associcated contrib+thirdparties+pyOpenMS-doc submodules. RUN git clone --recursive --depth=1 -b ${OPENMS_BRANCH} --single-branch ${OPENMS_REPO} && cd /OpenMS @@ -90,7 +90,7 @@ WORKDIR /OpenMS RUN mkdir /thirdparty && \ git submodule update --init THIRDPARTY && \ cp -r THIRDPARTY/All/* /thirdparty && \ - cp -r THIRDPARTY/Linux/64bit/* /thirdparty && \ + cp -r THIRDPARTY/Linux/x86_64/* /thirdparty && \ chmod -R +x /thirdparty ENV PATH="/thirdparty/LuciPHOr2:/thirdparty/MSGFPlus:/thirdparty/Sirius:/thirdparty/ThermoRawFileParser:/thirdparty/Comet:/thirdparty/Fido:/thirdparty/MaRaCluster:/thirdparty/MyriMatch:/thirdparty/OMSSA:/thirdparty/Percolator:/thirdparty/SpectraST:/thirdparty/XTandem:/thirdparty/crux:${PATH}" @@ -116,7 +116,7 @@ RUN pip install dist/*.whl # Install other dependencies (excluding pyopenms) COPY requirements.txt ./requirements.txt -RUN grep -v '^pyopenms' requirements.txt > requirements_cleaned.txt && mv requirements_cleaned.txt requirements.txt +RUN grep -Ev '^pyopenms([=<>!~].*)?$' requirements.txt > requirements_cleaned.txt && mv requirements_cleaned.txt requirements.txt RUN pip install -r requirements.txt WORKDIR / From 7a077313be6afce74ad60759a7e34973e7e50e75 Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 5 Mar 2026 19:22:51 +0000 Subject: [PATCH 2/3] Fix autowrap version pin and DOPENMP cmake flag MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Pin autowrap==0.23.0 to match FVdeploy's requirements_bld.txt (FVdeploy requires exactly 0.23.0, not the >=0.24.0 of official 3.5.0) - Pin Cython>=3.1 and numpy>=2.0 to match FVdeploy requirements - Fix DOPENMP=ON → -DOPENMP=ON (was missing -D prefix, ignored by cmake) https://claude.ai/code/session_0178Y5KgGPyEhxUrh888CM5V --- Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 0f6eb4d8..1ef20918 100644 --- a/Dockerfile +++ b/Dockerfile @@ -80,7 +80,7 @@ SHELL ["mamba", "run", "-n", "streamlit-env", "/bin/bash", "-c"] # Install up-to-date cmake via mamba and packages for pyOpenMS build. RUN mamba install cmake -RUN pip install --upgrade pip && python -m pip install -U setuptools nose cython "autowrap<=0.24" pandas numpy pytest +RUN pip install --upgrade pip && python -m pip install -U setuptools nose 'Cython>=3.1' 'autowrap==0.23.0' pandas 'numpy>=2.0' pytest # Clone OpenMS branch and the associcated contrib+thirdparties+pyOpenMS-doc submodules. RUN git clone --recursive --depth=1 -b ${OPENMS_BRANCH} --single-branch ${OPENMS_REPO} && cd /OpenMS @@ -103,7 +103,7 @@ RUN mkdir /openms-build WORKDIR /openms-build # Configure. -RUN /bin/bash -c "cmake -DCMAKE_BUILD_TYPE='Release' -DCMAKE_PREFIX_PATH='/OpenMS/contrib-build/;/usr/;/usr/local' -DHAS_XSERVER=OFF -DBOOST_USE_STATIC=OFF -DPYOPENMS=ON ../OpenMS -DPY_MEMLEAK_DISABLE=On DOPENMP=ON" +RUN /bin/bash -c "cmake -DCMAKE_BUILD_TYPE='Release' -DCMAKE_PREFIX_PATH='/OpenMS/contrib-build/;/usr/;/usr/local' -DHAS_XSERVER=OFF -DBOOST_USE_STATIC=OFF -DPYOPENMS=ON ../OpenMS -DPY_MEMLEAK_DISABLE=On -DOPENMP=ON" # Build TOPP tools and clean up. RUN make -j4 TOPP From 189011bbac48feeb26db295474e9f1ae360f0f2c Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 5 Mar 2026 19:32:11 +0000 Subject: [PATCH 3/3] Fix numpy ABI mismatch: update pin from 1.26.4 to >=2.0 pyOpenMS is compiled against numpy 2.x (required by FVdeploy's requirements_bld.txt), but requirements.txt pinned numpy==1.26.4 which would downgrade it at runtime, causing an ABI mismatch crash. https://claude.ai/code/session_0178Y5KgGPyEhxUrh888CM5V --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index badde513..3237a816 100644 --- a/requirements.txt +++ b/requirements.txt @@ -50,7 +50,7 @@ matplotlib==3.10.1 # via pyopenms narwhals==1.32.0 # via altair -numpy==1.26.4 +numpy>=2.0 # via # contourpy # matplotlib