From d1919e58b8122a114a77735a0968891a19765b9b Mon Sep 17 00:00:00 2001 From: Alexander Smorkalov Date: Tue, 9 Dec 2025 09:30:05 +0300 Subject: [PATCH] Use static BLAS and LAPACK dependnecy to reduce conflicts with other packages. --- docker/manylinux2014/Dockerfile_aarch64 | 4 ++-- docker/manylinux2014/Dockerfile_x86_64 | 4 ++-- docker/manylinux_2_28/Dockerfile_aarch64 | 4 ++-- docker/manylinux_2_28/Dockerfile_x86_64 | 4 ++-- setup.py | 3 +++ 5 files changed, 11 insertions(+), 8 deletions(-) diff --git a/docker/manylinux2014/Dockerfile_aarch64 b/docker/manylinux2014/Dockerfile_aarch64 index 98cd3125..7d937476 100644 --- a/docker/manylinux2014/Dockerfile_aarch64 +++ b/docker/manylinux2014/Dockerfile_aarch64 @@ -1,4 +1,4 @@ -# Version: 20250630 +# Version: 20251209 # Image name: quay.io/opencv-ci/opencv-python-manylinux2014-aarch64 FROM quay.io/pypa/manylinux2014_aarch64:latest @@ -19,7 +19,7 @@ ENV LD_LIBRARY_PATH /usr/local/lib:$LD_LIBRARY_PATH # epel-release need for aarch64 to get openblas packages RUN yum install zlib-devel curl-devel xcb-util-renderutil-devel xcb-util-devel xcb-util-image-devel xcb-util-keysyms-devel xcb-util-wm-devel mesa-libGL-devel libxkbcommon-devel libxkbcommon-x11-devel libXi-devel lapack-devel epel-release -y && \ - yum install openblas-devel dejavu-sans-fonts -y && \ + yum install openblas-devel openblas-static dejavu-sans-fonts -y && \ cp /usr/include/lapacke/lapacke*.h /usr/include/ && \ cp /usr/include/openblas/*.h /usr/include/ && \ # libpng will be built from source diff --git a/docker/manylinux2014/Dockerfile_x86_64 b/docker/manylinux2014/Dockerfile_x86_64 index 3ed3aa49..7d5226b6 100644 --- a/docker/manylinux2014/Dockerfile_x86_64 +++ b/docker/manylinux2014/Dockerfile_x86_64 @@ -1,4 +1,4 @@ -# Version: 20250630 +# Version: 20251209 # Image name: quay.io/opencv-ci/opencv-python-manylinux2014-x86-64 FROM quay.io/pypa/manylinux2014_x86_64:latest @@ -19,7 +19,7 @@ ENV LD_LIBRARY_PATH /usr/local/lib:$LD_LIBRARY_PATH # epel-release need for aarch64 to get openblas packages RUN yum install zlib-devel curl-devel xcb-util-renderutil-devel xcb-util-devel xcb-util-image-devel xcb-util-keysyms-devel xcb-util-wm-devel mesa-libGL-devel libxkbcommon-devel libxkbcommon-x11-devel libXi-devel lapack-devel epel-release -y && \ - yum install openblas-devel dejavu-sans-fonts -y && \ + yum install openblas-devel openblas-static dejavu-sans-fonts -y && \ cp /usr/include/openblas/*.h /usr/include/ && \ cp /usr/include/lapacke/lapacke*.h /usr/include/ && \ # libpng will be built from source diff --git a/docker/manylinux_2_28/Dockerfile_aarch64 b/docker/manylinux_2_28/Dockerfile_aarch64 index e1241d99..fe0ac2cb 100644 --- a/docker/manylinux_2_28/Dockerfile_aarch64 +++ b/docker/manylinux_2_28/Dockerfile_aarch64 @@ -1,4 +1,4 @@ -# Version: 20251013 +# Version: 20251209 # Image name: quay.io/opencv-ci/opencv-python-manylinux_2_28-aarch64 FROM quay.io/pypa/manylinux_2_28_aarch64:latest @@ -15,7 +15,7 @@ ENV LD_LIBRARY_PATH /usr/local/lib:$LD_LIBRARY_PATH # epel-release need for aarch64 to get openblas packages RUN yum install zlib-devel curl-devel xcb-util-renderutil-devel xcb-util-devel xcb-util-image-devel xcb-util-keysyms-devel xcb-util-wm-devel mesa-libGL-devel libxkbcommon-devel libxkbcommon-x11-devel libXi-devel lapack-devel epel-release -y && \ - yum install openblas-devel dejavu-sans-fonts ccache yasm nasm ninja-build openssl openssl-devel -y && \ + yum install openblas-devel openblas-static dejavu-sans-fonts ccache yasm nasm ninja-build openssl openssl-devel -y && \ # libpng will be built from source yum remove libpng -y diff --git a/docker/manylinux_2_28/Dockerfile_x86_64 b/docker/manylinux_2_28/Dockerfile_x86_64 index 7fd75ebd..ebc56a3a 100644 --- a/docker/manylinux_2_28/Dockerfile_x86_64 +++ b/docker/manylinux_2_28/Dockerfile_x86_64 @@ -1,4 +1,4 @@ -# Version: 20251013 +# Version: 20251209 # Image name: quay.io/opencv-ci/opencv-python-manylinux_2_28-x86-64 FROM quay.io/pypa/manylinux_2_28_x86_64:latest @@ -15,7 +15,7 @@ ENV LD_LIBRARY_PATH /usr/local/lib:$LD_LIBRARY_PATH # epel-release need for aarch64 to get openblas packages RUN yum install zlib-devel curl-devel xcb-util-renderutil-devel xcb-util-devel xcb-util-image-devel xcb-util-keysyms-devel xcb-util-wm-devel mesa-libGL-devel libxkbcommon-devel libxkbcommon-x11-devel libXi-devel lapack-devel epel-release -y && \ - yum install openblas-devel dejavu-sans-fonts ccache yasm nasm ninja-build openssl openssl-devel -y && \ + yum install openblas-devel openblas-static dejavu-sans-fonts ccache yasm nasm ninja-build openssl openssl-devel -y && \ # libpng will be built from source yum remove libpng -y diff --git a/setup.py b/setup.py index 7c470824..41ca8418 100755 --- a/setup.py +++ b/setup.py @@ -190,6 +190,9 @@ def main(): "-DPYTHON3_LIMITED_API=ON", "-DBUILD_OPENEXR=ON", ] + + ( + if is_CI_build ["-DBLA_STATIC=ON"] else [] + ) + ( # CMake flags for windows/arm64 build ["-DCMAKE_GENERATOR_PLATFORM=ARM64",