From 85db83a9100b2f8c23583fb3b7ecbfe8b7c4fa6b Mon Sep 17 00:00:00 2001 From: Jonas Rembser Date: Fri, 13 Mar 2026 17:39:20 +0100 Subject: [PATCH] [Build] Deprecate `builtin_zeromq` and `builtin_cppzmq` build options The `builtin_zeromq` and `builtin_cppzmq` build options are deprecated and will be removed in ROOT 6.42. The ZeroMQ library and its Python bindings are used by the experimental RooFit multiprocessing package, and the ZeroMQ versions it requires (>=4.3.5) are now readily available in the package managers (Conda, Homebrew, and newer Linux distributions). --- .github/workflows/root-ci-config/buildconfig/fedora43.txt | 3 +-- .github/workflows/root-ci-config/buildconfig/fedora44.txt | 3 +-- .github/workflows/root-ci-config/buildconfig/global.txt | 6 +++--- .github/workflows/root-ci-config/buildconfig/mac-beta.txt | 2 -- .github/workflows/root-ci-config/buildconfig/mac14.txt | 2 -- .github/workflows/root-ci-config/buildconfig/mac15.txt | 2 -- .github/workflows/root-ci-config/buildconfig/mac26.txt | 2 -- .github/workflows/root-ci-config/buildconfig/rawhide.txt | 3 +-- .github/workflows/root-ci-config/buildconfig/windows10.txt | 1 - README/ReleaseNotes/v640/index.md | 4 ++++ cmake/modules/RootBuildOptions.cmake | 2 +- 11 files changed, 11 insertions(+), 19 deletions(-) diff --git a/.github/workflows/root-ci-config/buildconfig/fedora43.txt b/.github/workflows/root-ci-config/buildconfig/fedora43.txt index 9465e1c424fd8..3563fe5a20b6a 100644 --- a/.github/workflows/root-ci-config/buildconfig/fedora43.txt +++ b/.github/workflows/root-ci-config/buildconfig/fedora43.txt @@ -1,10 +1,9 @@ CMAKE_CXX_STANDARD=23 -builtin_cppzmq=OFF -builtin_zeromq=OFF builtin_zlib=ON builtin_zstd=ON experimental_adaptivecpp=ON pythia8=ON +roofit_multiprocess=ON test_distrdf_dask=OFF test_distrdf_pyspark=OFF vdt=OFF diff --git a/.github/workflows/root-ci-config/buildconfig/fedora44.txt b/.github/workflows/root-ci-config/buildconfig/fedora44.txt index 00249d56ec14e..a01ed2484f58a 100644 --- a/.github/workflows/root-ci-config/buildconfig/fedora44.txt +++ b/.github/workflows/root-ci-config/buildconfig/fedora44.txt @@ -1,9 +1,8 @@ CMAKE_CXX_STANDARD=23 -builtin_cppzmq=OFF -builtin_zeromq=OFF builtin_zlib=ON builtin_zstd=ON experimental_adaptivecpp=ON pythia8=ON +roofit_multiprocess=ON test_distrdf_pyspark=OFF vdt=OFF diff --git a/.github/workflows/root-ci-config/buildconfig/global.txt b/.github/workflows/root-ci-config/buildconfig/global.txt index 23f970b1b2585..18e484ba557e8 100644 --- a/.github/workflows/root-ci-config/buildconfig/global.txt +++ b/.github/workflows/root-ci-config/buildconfig/global.txt @@ -6,7 +6,7 @@ asserts=OFF builtin_cfitsio=OFF builtin_clang=ON builtin_cling=ON -builtin_cppzmq=ON +builtin_cppzmq=OFF builtin_fftw3=OFF builtin_freetype=OFF builtin_ftgl=OFF @@ -24,7 +24,7 @@ builtin_unuran=OFF builtin_vdt=OFF builtin_xrootd=OFF builtin_xxhash=OFF -builtin_zeromq=ON +builtin_zeromq=OFF builtin_zlib=OFF builtin_zstd=OFF ccache=ON @@ -67,7 +67,7 @@ pythia8=OFF qt6web=OFF r=ON roofit=ON -roofit_multiprocess=ON +roofit_multiprocess=OFF root7=ON rootbench=OFF roottest=ON diff --git a/.github/workflows/root-ci-config/buildconfig/mac-beta.txt b/.github/workflows/root-ci-config/buildconfig/mac-beta.txt index 601790f2c14bc..1e46b6fda2cc1 100644 --- a/.github/workflows/root-ci-config/buildconfig/mac-beta.txt +++ b/.github/workflows/root-ci-config/buildconfig/mac-beta.txt @@ -1,6 +1,5 @@ CMAKE_CXX_STANDARD=23 builtin_cfitsio=ON -builtin_cppzmq=ON builtin_fftw3=ON builtin_freetype=ON builtin_ftgl=ON @@ -17,7 +16,6 @@ builtin_unuran=ON builtin_vdt=ON builtin_xrootd=ON builtin_xxhash=ON -builtin_zeromq=ON builtin_zstd=ON check_connection=ON cocoa=ON diff --git a/.github/workflows/root-ci-config/buildconfig/mac14.txt b/.github/workflows/root-ci-config/buildconfig/mac14.txt index 795ecf246e4eb..218a1943b2fd8 100644 --- a/.github/workflows/root-ci-config/buildconfig/mac14.txt +++ b/.github/workflows/root-ci-config/buildconfig/mac14.txt @@ -1,7 +1,6 @@ ROOT_CTEST_CUSTOM_FLAGS="-E ^tutorial-" asimage_tiff=OFF builtin_cfitsio=ON -builtin_cppzmq=ON builtin_fftw3=ON builtin_freetype=ON builtin_ftgl=ON @@ -20,7 +19,6 @@ builtin_unuran=ON builtin_vdt=ON builtin_xrootd=ON builtin_xxhash=ON -builtin_zeromq=ON builtin_zstd=ON cocoa=ON davix=OFF diff --git a/.github/workflows/root-ci-config/buildconfig/mac15.txt b/.github/workflows/root-ci-config/buildconfig/mac15.txt index 4417463faba69..1f9f56452fbde 100644 --- a/.github/workflows/root-ci-config/buildconfig/mac15.txt +++ b/.github/workflows/root-ci-config/buildconfig/mac15.txt @@ -1,5 +1,4 @@ builtin_cfitsio=ON -builtin_cppzmq=ON builtin_fftw3=ON builtin_freetype=ON builtin_ftgl=ON @@ -16,7 +15,6 @@ builtin_unuran=ON builtin_vdt=ON builtin_xrootd=ON builtin_xxhash=ON -builtin_zeromq=ON builtin_zstd=ON cocoa=ON davix=OFF diff --git a/.github/workflows/root-ci-config/buildconfig/mac26.txt b/.github/workflows/root-ci-config/buildconfig/mac26.txt index 601790f2c14bc..1e46b6fda2cc1 100644 --- a/.github/workflows/root-ci-config/buildconfig/mac26.txt +++ b/.github/workflows/root-ci-config/buildconfig/mac26.txt @@ -1,6 +1,5 @@ CMAKE_CXX_STANDARD=23 builtin_cfitsio=ON -builtin_cppzmq=ON builtin_fftw3=ON builtin_freetype=ON builtin_ftgl=ON @@ -17,7 +16,6 @@ builtin_unuran=ON builtin_vdt=ON builtin_xrootd=ON builtin_xxhash=ON -builtin_zeromq=ON builtin_zstd=ON check_connection=ON cocoa=ON diff --git a/.github/workflows/root-ci-config/buildconfig/rawhide.txt b/.github/workflows/root-ci-config/buildconfig/rawhide.txt index 9e9ff071f4879..a1098e2f490e0 100644 --- a/.github/workflows/root-ci-config/buildconfig/rawhide.txt +++ b/.github/workflows/root-ci-config/buildconfig/rawhide.txt @@ -1,5 +1,3 @@ -builtin_cppzmq=OFF -builtin_zeromq=OFF builtin_zlib=ON builtin_zstd=ON pythia8=ON @@ -7,3 +5,4 @@ test_distrdf_dask=OFF test_distrdf_pyspark=OFF tmva-sofie=OFF vdt=OFF +roofit_multiprocess=ON diff --git a/.github/workflows/root-ci-config/buildconfig/windows10.txt b/.github/workflows/root-ci-config/buildconfig/windows10.txt index f420493e5fe5a..057e9c98fad92 100644 --- a/.github/workflows/root-ci-config/buildconfig/windows10.txt +++ b/.github/workflows/root-ci-config/buildconfig/windows10.txt @@ -25,7 +25,6 @@ minuit2_omp=OFF pyroot2=OFF pyroot3=ON r=OFF -roofit_multiprocess=OFF runtime_cxxmodules=OFF ssl=OFF test_distrdf_dask=OFF diff --git a/README/ReleaseNotes/v640/index.md b/README/ReleaseNotes/v640/index.md index 7487c83189d33..f5e40f1ad5a23 100644 --- a/README/ReleaseNotes/v640/index.md +++ b/README/ReleaseNotes/v640/index.md @@ -43,6 +43,10 @@ The following people have contributed to this new version: never had any effect on ROOT. The associated bit TDirectory::fgAddDirectory was deprecated as well. Although users can set and read the bit, its usage should be stopped completely to avoid any confusion. The bit and functions will be removed in ROOT 7. * The method `RooRealVar::removeRange()` and the corresponding method in `RooErrorVar` have been deprecated because the name was misleading, and they will be removed in ROOT 6.42. Despite the name, the function did not actually remove a range, but only cleared its limits by setting them to `−inf,+inf` leaving the named range itself defined (so `hasRange()` would still return `true`). Users should now explicitly call `removeMin()` and `removeMax()` to remove the lower and upper limits of a range. +* The `builtin_zeromq` and `builtin_cppzmq` build options are deprecated and will be removed in ROOT 6.42. + The ZeroMQ library and its C++ bindings are used by the experimental RooFit multiprocessing package, enabled by the `roofit_multiprocess` build option. + The ZeroMQ versions it requires (>=4.3.6 or 4.3.5 with the draft API) are now available in the package managers of several platforms, for example Conda, Homebrew, Fedora and the Extra Packages for Enterprise Linux (EPEL). + The `roofit_multiprocess` feature is only required by a small set of RooFit power uses, who are using one of these environments and therefore don't require the builtin ZeroMQ library. ## Removals diff --git a/cmake/modules/RootBuildOptions.cmake b/cmake/modules/RootBuildOptions.cmake index 5f9b0d79ad62f..669c4c401bd96 100644 --- a/cmake/modules/RootBuildOptions.cmake +++ b/cmake/modules/RootBuildOptions.cmake @@ -392,7 +392,7 @@ foreach(opt afdsmgrd afs alien bonjour builtin_afterimage builtin_davix castor c endforeach() #---Deprecated options------------------------------------------------------------------------ -foreach(opt ) +foreach(opt builtin_cppzmq builtin_zeromq) if(${opt}) message(DEPRECATION ">>> Option '${opt}' is deprecated and will be removed in the next release of ROOT. Please contact root-dev@cern.ch should you still need it.") endif()