Skip to content

[core] Make zlib a builtin obtained from the web and remove the vendored code#21613

Open
dpiparo wants to merge 2 commits intoroot-project:masterfrom
dpiparo:builtin_zlib
Open

[core] Make zlib a builtin obtained from the web and remove the vendored code#21613
dpiparo wants to merge 2 commits intoroot-project:masterfrom
dpiparo:builtin_zlib

Conversation

@dpiparo
Copy link
Member

@dpiparo dpiparo commented Mar 16, 2026

What is similar to previous changes regarding builtin compression libraries

This PR does what was done for lzma by #21571.
ZLib is now fetched in its zlib-ng implementation (default on Alma10) in its version 2.3.3, from LCG, and treated as lzma (and libpng, libgif and libjpeg, and others). Moreover, a dependency to it in builtin libpng had to be added.

What is different with zlib

These changes break several tests, in a way that is known: zlib-ng is already used by default on Fedora43/44 as well as Alma10, all in ROOT's CI. The sizes of several files, not only ROOT files, but also png and pdf images, change: some are larger, some are smaller. Compression rations, obviously, also change and some tests fail since the references are different. The summary of the differences is available below. This will hopefully allow us to reason better about what changes in terms of compression and what measures we can take before merging this PR.

@jblomer @hahnjo

@dpiparo dpiparo requested a review from hageboeck March 16, 2026 10:40
@dpiparo dpiparo self-assigned this Mar 16, 2026
@dpiparo dpiparo requested a review from bellenot as a code owner March 16, 2026 10:40
@hageboeck hageboeck added the clean build Ask CI to do non-incremental build on PR label Mar 16, 2026
@hageboeck
Copy link
Member

Closing to rerun with clean builds

@hageboeck hageboeck closed this Mar 16, 2026
@hageboeck hageboeck reopened this Mar 16, 2026
@github-actions
Copy link

github-actions bot commented Mar 16, 2026

Test Results

    22 files      22 suites   3d 2h 42m 49s ⏱️
 3 830 tests  3 808 ✅ 1 💤  21 ❌
75 609 runs  75 421 ✅ 9 💤 179 ❌

For more details on these failures, see this check.

Results for commit 4126363.

♻️ This comment has been updated with latest results.

set(ZLIB_VERSION_TWEAK "${CMAKE_MATCH_1}")
string(APPEND ZLIB_VERSION_STRING ".${ZLIB_VERSION_TWEAK}")
endif()
set(ZLIB_TARGET ZLIB)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Presumably unnecessary. (Doesn't seem to be used anywhere):

Suggested change
set(ZLIB_TARGET ZLIB)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

agreed.

Comment on lines 16 to 21
set(ROOT_ZLIB_LIBRARY_BASE ${ROOT_ZLIB_PREFIX}/lib)
if(MSVC)
set(ROOT_ZLIB_LIBRARY ${ROOT_ZLIB_LIBRARY_BASE}/z-static${CMAKE_STATIC_LIBRARY_SUFFIX})
else()
add_library(ZLIB STATIC ${ZLIB_PUBLIC_HEADERS} ${ZLIB_PRIVATE_HEADERS} ${ZLIB_SOURCES})
set(ROOT_ZLIB_LIBRARY ${ROOT_ZLIB_LIBRARY_BASE}/${CMAKE_STATIC_LIBRARY_PREFIX}z${CMAKE_STATIC_LIBRARY_SUFFIX})
endif()
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
set(ROOT_ZLIB_LIBRARY_BASE ${ROOT_ZLIB_PREFIX}/lib)
if(MSVC)
set(ROOT_ZLIB_LIBRARY ${ROOT_ZLIB_LIBRARY_BASE}/z-static${CMAKE_STATIC_LIBRARY_SUFFIX})
else()
add_library(ZLIB STATIC ${ZLIB_PUBLIC_HEADERS} ${ZLIB_PRIVATE_HEADERS} ${ZLIB_SOURCES})
set(ROOT_ZLIB_LIBRARY ${ROOT_ZLIB_LIBRARY_BASE}/${CMAKE_STATIC_LIBRARY_PREFIX}z${CMAKE_STATIC_LIBRARY_SUFFIX})
endif()
set(ROOT_ZLIB_LIBRARY_BASE )
if(MSVC)
set(ROOT_ZLIB_LIBRARY ${ROOT_ZLIB_PREFIX}/lib/z-static${CMAKE_STATIC_LIBRARY_SUFFIX})
else()
set(ROOT_ZLIB_LIBRARY ${ROOT_ZLIB_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}z${CMAKE_STATIC_LIBRARY_SUFFIX})
endif()

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

agreed.

BUILD_COMMAND ${CMAKE_COMMAND} --build . --config $<CONFIG>
INSTALL_COMMAND ${CMAKE_COMMAND} --install . --config $<CONFIG>
LOG_DOWNLOAD 1 LOG_CONFIGURE 1 LOG_BUILD 1 LOG_INSTALL 1 LOG_OUTPUT_ON_FAILURE 1
BUILD_IN_SOURCE 1
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Consider removing this:

Suggested change
BUILD_IN_SOURCE 1

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

agreed.

if(DEFINED ZLIB_LIBRARY_RELEASE)
set(ZLIB_LIBRARY_RELEASE ${ZLIB_LIBRARY} CACHE INTERNAL "")
endif()
set(ZLIB_INCLUDE_DIR ${ROOT_ZLIB_LIBRARY_BASE}/include)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Better to tie everything to the prefix:

Suggested change
set(ZLIB_INCLUDE_DIR ${ROOT_ZLIB_LIBRARY_BASE}/include)
set(ZLIB_INCLUDE_DIR ${ROOT_ZLIB_PREFIX}/include)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This was a bug. The path did not make sense. Thanks for pointing that out!

set(ZLIB_INCLUDE_DIR ${ROOT_ZLIB_LIBRARY_BASE}/include)
file(MAKE_DIRECTORY ${ZLIB_INCLUDE_DIR})

set_property(GLOBAL APPEND PROPERTY ROOT_BUILTIN_TARGETS ZLIB::ZLIB)
Copy link
Member

@hageboeck hageboeck Mar 16, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is used to make all builtins build before the rest of ROOT. It could be replaced by some correctly crafted add_dependencies, but it's easier to simply build everything before starting with LLVM.

list(APPEND ROOT_BUILTINS ZLIB)
add_subdirectory(builtins/zlib)
get_target_property(ZLIB_INCLUDE_DIR ZLIB::ZLIB INTERFACE_INCLUDE_DIRECTORIES)
get_target_property(ZLIB_LIBRARY_LOCATION ZLIB::ZLIB IMPORTED_LOCATION)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems to be unused up to and including this commit. The canonical names of the find module would be:

ZLIB_INCLUDE_DIRS
ZLIB_LIBRARIES

we should also set ZLIB_FOUND, so subsequent attempts at find_package don't try again.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is true for all builtins, yes?

Comment on lines +18 to +21
if(builtin_zlib)
add_dependencies(Core BUILTIN_ZLIB)
endif()

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe this would better be specified as
add_dependencies(ZLIB BUILTIN_ZLIB) in builtins/zlib/CMakeLists.txt

add_library(ZLIB STATIC IMPORTED GLOBAL)
add_library(ZLIB::ZLIB ALIAS ZLIB)
target_include_directories(ZLIB INTERFACE ${ZLIB_INCLUDE_DIR})
set_target_properties(ZLIB PROPERTIES IMPORTED_LOCATION ${ROOT_ZLIB_LIBRARY})
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Without adding it to all builtin targets (see other comment), one should add:

Suggested change
set_target_properties(ZLIB PROPERTIES IMPORTED_LOCATION ${ROOT_ZLIB_LIBRARY})
set_target_properties(ZLIB PROPERTIES IMPORTED_LOCATION ${ROOT_ZLIB_LIBRARY})
add_dependencies(ZLIB BUILTIN_ZLIB)

Comment on lines +41 to +42
-DZLIB_INCLUDE_DIR=${ZLIB_INCLUDE_DIR}
-DZLIB_LIBRARY=${ZLIB_LIBRARY_LOCATION}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK, I see now that it's used, but isn't it better to use the canonical names?
https://cmake.org/cmake/help/latest/module/FindZLIB.html

Or was the idea to specifically not use these?

@dpiparo dpiparo removed clean build Ask CI to do non-incremental build on PR labels Mar 16, 2026
@dpiparo
Copy link
Member Author

dpiparo commented Mar 16, 2026

Summary of the test failures Using zlib-ng 2.3.3

  • test-stress (Failed)
  • test-stressgraphics
  • test-stressgraphics-interpreted
  • roottest-root-io-filemerger-merged-zlib (Failed)
  • roottest-root-io-filemerger-simple-default-compr-level9 (Failed)
  • roottest-root-io-filemerger-simple-zlib-compr-level1 (Failed)
  • roottest-root-io-filemerger-simple-zlib-compr-level6 (Failed)
  • roottest-root-io-filemerger-simple-zlib-compr-level9 (Failed)
  • roottest-root-io-filemerger-simplex2-default-compr-level9 (Failed)
  • roottest-root-io-filemerger-simplex2-zlib-compr-level9 (Failed)
  • roottest-root-io-filemerger-simplef-default-compr-level9 (Failed)
  • roottest-root-io-treeForeign-testForeignDraw
  • roottest-root-tree-fastcloning-execCheckClusterRange
  • roottest-root-tree-cloning-exectrim
  • roottest-root-tree-cache-autocache

193 - test-stress (Failed)

193: Test  2 : Check size & compression factor of a Root file........ FAILED
193:          last =11061, comp=2.029984
193: Test  3 : Purge, Reuse of gaps in TFile......................... FAILED
193:          File size= 55885 (expected 52090 +/- 300)
193:          Comp Fact=  1.86 (expected 2.1 +/- 0.3)

1336 - roottest-root-io-filemerger-merged-zlib (Failed)

Error in : Disk size of mzlibfile1-4.root should have been 5014 but is 5384 (tolerance 20 bytes)

1361 - roottest-root-io-filemerger-simple-default-compr-level9 (Failed)

Error in : Disk size of hsimple9.root should have been 431015 but is 433535 (tolerance 25 bytes)

1362 - roottest-root-io-filemerger-simple-zlib-compr-level1 (Failed)

Error in : Disk size of hsimple101.root should have been 415025 but is 518165 (tolerance 25 bytes)

1363 - roottest-root-io-filemerger-simple-zlib-compr-level6 (Failed)

Error in : Disk size of hsimple106.root should have been 431303 but is 441579 (tolerance 25 bytes)

1364 - roottest-root-io-filemerger-simple-zlib-compr-level9 (Failed)

Error in : Disk size of hsimple109.root should have been 431024 but is 433545 (tolerance 25 bytes)

1365 - roottest-root-io-filemerger-simplex2-default-compr-level9 (Failed)

Error in : Disk size of hsimple9x2.root should have been 850127 but is 855171 (tolerance 30 bytes)

1366 - roottest-root-io-filemerger-simplex2-zlib-compr-level9 (Failed)

Error in : Disk size of hsimple109x2.root should have been 850136 but is 855177 (tolerance 30 bytes)

1373 - roottest-root-io-filemerger-simplef-default-compr-level9 (Failed)

Error in : Disk size of hsimpleF.root should have been 12581462 but is 12649062 (tolerance 30 bytes)

1685 - roottest-root-io-treeForeign-testForeignDraw

1686: -*Entries :        2 : Total =            4215 bytes  File  Size =       1504 *
1686: -*        :          : Tree compression factor =   1.10                       *
1686: +*Entries :        2 : Total =            4215 bytes  File  Size =       1592 *
1686: +*        :          : Tree compression factor =   1.08                       *

2328 - roottest-root-tree-fastcloning-execCheckClusterRange

2328:  ******************************************************************************
2328:  *Tree    :t1        :                                                        *
2328: -*Entries :     1500 : Total =           29664 bytes  File  Size =      16409 *
2328: -*        :          : Tree compression factor =   1.66                       *
2328: +*Entries :     1500 : Total =           29664 bytes  File  Size =      16448 *
2328: +*        :          : Tree compression factor =   1.67                       *
2328:  ******************************************************************************
2328:  Cluster Range #  Entry Start      Last Entry           Size   Number of clusters
2328:  0                0                299                    50          6
2328: @@ -83,7 +83,7 @@
2328:  Total number of clusters: 10 
2328:  ******************************************************************************
2328:  *Tree    :t1        :                                                        *
2328: -*Entries :     1800 : Total =           29346 bytes  File  Size =      18279 *
2328: +*Entries :     1800 : Total =           29346 bytes  File  Size =      18318 *
2328:  *        :          : Tree compression factor =   1.59                       *
2328:  ******************************************************************************
2328:  *Br    0 :v1        : v1/I                                                   *
2328: @@ -140,7 +140,7 @@
2328:  Cluster #48 starts at 1770 and ends at 1799
2328:  ******************************************************************************
2328:  *Tree    :t1        :                                                        *
2328: -*Entries :     1800 : Total =           29346 bytes  File  Size =      17990 *
2328: +*Entries :     1800 : Total =           29346 bytes  File  Size =      17983 *
2328:  *        :          : Tree compression factor =   1.59                       *
2328:  ******************************************************************************
2328:  Cluster Range #  Entry Start      Last Entry           Size   Number of clusters
2328: @@ -220,7 +220,7 @@
2328:  Cluster #68 starts at 2370 and ends at 2399
2328:  ******************************************************************************
2328:  *Tree    :t1        :                                                        *
2328: -*Entries :     2400 : Total =           33566 bytes  File  Size =      20846 *
2328: +*Entries :     2400 : Total =           33566 bytes  File  Size =      20868 *
2328:  *        :          : Tree compression factor =   1.56                       *
2328:  ******************************************************************************

3322 - roottest-root-tree-cloning-exectrim

2289:  ******************************************************************************
2289:  *Tree    :tree      : tree                                                   *
2289: -*Entries :       10 : Total =            8907 bytes  File  Size =       1687 *
2289: -*        :          : Tree compression factor =   1.30                       *
2289: +*Entries :       10 : Total =            8907 bytes  File  Size =       1708 *
2289: +*        :          : Tree compression factor =   1.18                       *
2289:  ******************************************************************************
2289:  *Br    0 :StrSimHits : Int_t StrSimHits_                                     *
2289: -*Entries :       10 : Total  Size=        685 bytes  File Size  =        127 *
2289: -*Baskets :        1 : Basket Size=      32000 bytes  Compression=   1.30     *
2289: +*Entries :       10 : Total  Size=        685 bytes  File Size  =        140 *
2289: +*Baskets :        1 : Basket Size=      32000 bytes  Compression=   1.18     *
2289:  *............................................................................*
2289:  ******************************************************************************
2289:  *Tree    :tree      : tree                                                   *
2289: -*Entries :       10 : Total =           22683 bytes  File  Size =       5407 *
2289: -*        :          : Tree compression factor =   1.18                       *
2289: +*Entries :       10 : Total =           22683 bytes  File  Size =       5470 *
2289: +*        :          : Tree compression factor =   1.17                       *
2289:  ******************************************************************************
2289:  *Br    0 :StrSimHits : Int_t StrSimHits_                                     *
2289: -*Entries :       10 : Total  Size=      12486 bytes  File Size  =        127 *
2289: -*Baskets :        1 : Basket Size=      32000 bytes  Compression=   1.30     *
2289: +*Entries :       10 : Total  Size=      12486 bytes  File Size  =        140 *
2289: +*Baskets :        1 : Basket Size=      32000 bytes  Compression=   1.18     *
2289:  *............................................................................*
2289:  *Br    1 :StrSimHits.fUniqueID : UInt_t fUniqueID[StrSimHits_]               *
2289:  *Entries :       10 : Total  Size=        778 bytes  File Size  =        115 *

3298 - roottest-root-tree-cache-autocache

2265:  Chain reports 200 entries
2265:  Getting last entry from first file in chain
2265:  Reported AutoFlush from current tree: 50
2265: -Reported cache size from chain: 1435581
2265: -Reported cache size from current tree: 1435581
2265: -Reported buffer size from TTreeCache: 1435581
2265: +Reported cache size from chain: 3175596
2265: +Reported cache size from current tree: 3175596
2265: +Reported buffer size from TTreeCache: 3175596
2265:  Getting first entry from second file in chain
2265:  Reported AutoFlush from current tree: 57
2265: -Reported cache size from chain: 1435581
2265: -Reported cache size from current tree: 1435581
2265: -Reported buffer size from TTreeCache: 1435581
2265: +Reported cache size from chain: 3175596
2265: +Reported cache size from current tree: 3175596
2265: +Reported buffer size from TTreeCache: 3175596
2265:  TTreeCache object pointer stayed the same
2265:  
2265:  --- Start of subtest 13
2265: @@ -220,14 +220,14 @@
2265:  Chain reports 200 entries
2265:  Getting last entry from first file in chain
2265:  Reported AutoFlush from current tree: 50
2265: -Reported cache size from chain: 1435581
2265: -Reported cache size from current tree: 1435581
2265: -Reported buffer size from TTreeCache: 1435581
2265: +Reported cache size from chain: 3175596
2265: +Reported cache size from current tree: 3175596
2265: +Reported buffer size from TTreeCache: 3175596
2265:  Getting first entry from second file in chain
2265:  Reported AutoFlush from current tree: 57
2265: -Reported cache size from chain: 1435581
2265: -Reported cache size from current tree: 1435581
2265: -Reported buffer size from TTreeCache: 1435581
2265: +Reported cache size from chain: 3175596
2265: +Reported cache size from current tree: 3175596
2265: +Reported buffer size from TTreeCache: 3175596
2265:  TTreeCache object pointer stayed the same
2265:  
2265:  * Writing two root files, second with AutoFlush 1.3 times the first
2265: @@ -238,14 +238,14 @@
2265:  Chain reports 200 entries
2265:  Getting last entry from first file in chain
2265:  Reported AutoFlush from current tree: 50
2265: -Reported cache size from chain: 1435581
2265: -Reported cache size from current tree: 1435581
2265: -Reported buffer size from TTreeCache: 1435581
2265: +Reported cache size from chain: 3175596
2265: +Reported cache size from current tree: 3175596
2265: +Reported buffer size from TTreeCache: 3175596
2265:  Getting first entry from second file in chain
2265:  Reported AutoFlush from current tree: 65
2265: -Reported cache size from chain: 1866256
2265: -Reported cache size from current tree: 1866256
2265: -Reported buffer size from TTreeCache: 1866256
2265: +Reported cache size from chain: 4128275
2265: +Reported cache size from current tree: 4128275
2265: +Reported buffer size from TTreeCache: 4128275
2265:  TTreeCache buffer size changed, object location not checked
2265:  
2265:  --- Start of subtest 15
2265: @@ -255,14 +255,14 @@
2265:  Chain reports 200 entries
2265:  Getting last entry from first file in chain
2265:  Reported AutoFlush from current tree: 50
2265: -Reported cache size from chain: 1435581
2265: -Reported cache size from current tree: 1435581
2265: -Reported buffer size from TTreeCache: 1435581
2265: +Reported cache size from chain: 3175596
2265: +Reported cache size from current tree: 3175596
2265: +Reported buffer size from TTreeCache: 3175596
2265:  Getting first entry from second file in chain
2265:  Reported AutoFlush from current tree: 65
2265: -Reported cache size from chain: 1435581
2265: -Reported cache size from current tree: 1435581
2265: -Reported buffer size from TTreeCache: 1435581
2265: +Reported cache size from chain: 3175596
2265: +Reported cache size from current tree: 3175596
2265: +Reported buffer size from TTreeCache: 3175596
2265:  TTreeCache object pointer stayed the same
2265:  
2265:  --- Start of subtest 16
2265: @@ -296,8 +296,8 @@
2265:  Reported AutoFlush from current tree: 65
2265:  Reported cache size from chain: 1500000
2265:  Reported cache size from current tree: 1500000
2265: -Reported buffer size from TTreeCache: 1500000
2265: -TTreeCache object pointer stayed the same
2265: +Reported buffer size from TTreeCache: 2527105
2265: +TTreeCache buffer size changed, object location not checked
2265:  
2265:  * Cleared env variable ROOT_TTREECACHE_SIZE
2265:  --- Start of subtest 18
2265: @@ -320,15 +320,15 @@
2265:  New TChain with two files, different cluster size, use a selector
2265:  No call to chain.SetCacheSize()
2265:  MySelector::Process called, entry=99
2265: -Reported cache size from fChain: 1305074
2265: -Reported AutoFlush value for the TTree 50
2265: -Reported cache size from TTree: 1305074
2265: -Buffer size of TTreeCache: 1305074
2265: -MySelector::Process called, entry=0
2265: -Reported cache size from fChain: 1696596
2265: -Reported AutoFlush value for the TTree 65
2265: -Reported cache size from TTree: 1696596
2265: -Buffer size of TTreeCache: 1696596
2265: +Reported cache size from fChain: 2886905
2265: +Reported AutoFlush value for the TTree 50
2265: +Reported cache size from TTree: 2886905
2265: +Buffer size of TTreeCache: 2886905
2265: +MySelector::Process called, entry=0
2265: +Reported cache size from fChain: 3752977
2265: +Reported AutoFlush value for the TTree 65
2265: +Reported cache size from TTree: 3752977
2265: +Buffer size of TTreeCache: 3752977
2265:  TTreeCache buffer size changed, object location not checked
2265:  
2265:  * env variable ROOT_TTREECACHE_SIZE=1.1
2265: @@ -336,30 +336,30 @@
2265:  New TChain with two files, different cluster size, use a selector
2265:  No call to chain.SetCacheSize()
2265:  MySelector::Process called, entry=99
2265: -Reported cache size from fChain: 1435581
2265: -Reported AutoFlush value for the TTree 50
2265: -Reported cache size from TTree: 1435581
2265: -Buffer size of TTreeCache: 1435581
2265: -MySelector::Process called, entry=0
2265: -Reported cache size from fChain: 1866256
2265: -Reported AutoFlush value for the TTree 65
2265: -Reported cache size from TTree: 1866256
2265: -Buffer size of TTreeCache: 1866256
2265: +Reported cache size from fChain: 3175596
2265: +Reported AutoFlush value for the TTree 50
2265: +Reported cache size from TTree: 3175596
2265: +Buffer size of TTreeCache: 3175596
2265: +MySelector::Process called, entry=0
2265: +Reported cache size from fChain: 4128275
2265: +Reported AutoFlush value for the TTree 65
2265: +Reported cache size from TTree: 4128275
2265: +Buffer size of TTreeCache: 4128275
2265:  TTreeCache buffer size changed, object location not checked
2265:  
2265:  --- Start of subtest 21
2265:  New TChain with two files, different cluster size, use a selector
2265:  -> Calling chain.SetCacheSize(-1) <-
2265:  MySelector::Process called, entry=99
2265: -Reported cache size from fChain: 1435581
2265: -Reported AutoFlush value for the TTree 50
2265: -Reported cache size from TTree: 1435581
2265: -Buffer size of TTreeCache: 1435581
2265: -MySelector::Process called, entry=0
2265: -Reported cache size from fChain: 1435581
2265: -Reported AutoFlush value for the TTree 65
2265: -Reported cache size from TTree: 1435581
2265: -Buffer size of TTreeCache: 1435581
2265: +Reported cache size from fChain: 3175596
2265: +Reported AutoFlush value for the TTree 50
2265: +Reported cache size from TTree: 3175596
2265: +Buffer size of TTreeCache: 3175596
2265: +MySelector::Process called, entry=0
2265: +Reported cache size from fChain: 3175596
2265: +Reported AutoFlush value for the TTree 65
2265: +Reported cache size from TTree: 3175596
2265: +Buffer size of TTreeCache: 3175596
2265:  TTreeCache object pointer stayed the same
2265:  
2265:  --- Start of subtest 22
2265: @@ -389,8 +389,8 @@
2265:  Reported cache size from fChain: 1500000
2265:  Reported AutoFlush value for the TTree 65
2265:  Reported cache size from TTree: 1500000
2265: -Buffer size of TTreeCache: 1500000
2265: -TTreeCache object pointer stayed the same
2265: +Buffer size of TTreeCache: 2527105
2265: +TTreeCache buffer size changed, object location not checked
196: Test  4. Hatches for complex TPolyLine............................. OK
196:          PDF output......................................... FAILED
196:          Result    = 49688
196:          Reference = 50500
196:          Error     = 812 (was 600)
196:          File      = sge_hatches.pdf
[...]
196: Test  8. TPie...................................................... OK
196:          PDF output......................................... FAILED
196:          Result    = 74548
196:          Reference = 77006
196:          Error     = 2458 (was 200)
196:          File      = sge_piechart.pdf
[...]
196: Test 12. TLatex 2.................................................. OK
196:          PDF output................................................ OK
196:          JPG output................................................ OK
196:          PNG output......................................... FAILED
196:          Result    = 12061
196:          Reference = 12398
196:          Error     = 337 (was 300)
196:          File      = sge_tlatex2.png
[...]
196: Test 15. TLatex 5 (Mathematical Symbols)........................... OK
196:          PDF output................................................ OK
196:          JPG output................................................ OK
196:          PNG output......................................... FAILED
196:          Result    = 30348
196:          Reference = 32033
196:          Error     = 1685 (was 1200)
196:          File      = sge_tlatex5.png
[...]
196: Test 22. TGaxis 1.................................................. OK
196:          PDF output......................................... FAILED
196:          Result    = 21364
196:          Reference = 21520
196:          Error     = 156 (was 150)
196:          File      = sge_tgaxis1.pdf
196:          JPG output................................................ OK
196:          PNG output......................................... FAILED
196:          Result    = 16044
196:          Reference = 16867
196:          Error     = 823 (was 600)
196:          File      = sge_tgaxis1.png
196:          .C -> .PS file result..................................... OK
196: Test 23. TGaxis 2.................................................. OK
196:          PDF output................................................ OK
196:          JPG output................................................ OK
196:          PNG output......................................... FAILED
196:          Result    = 15197
196:          Reference = 15925
196:          Error     = 728 (was 350)
196:          File      = sge_tgaxis2.png
196:          .C -> .PS file result..................................... OK
196: Test 24. TGaxis 3 (Time on axis)................................... OK
196:          PDF output......................................... FAILED
196:          Result    = 43644
196:          Reference = 42926
196:          Error     = 718 (was 250)
196:          File      = sge_tgaxis3.pdf
[...]
196: Test 30. TH1 with automatic line/marker colors from palette........ OK
196:          PDF output......................................... FAILED
196:          Result    = 32301
196:          Reference = 32451
196:          Error     = 150 (was 100)
196:          File      = sge_th1_palette.pdf
196:          JPG output................................................ OK
196:          PNG output................................................ OK
196:          .C -> .PS file result..................................... OK
196: Test 31. THStack for 1D histograms................................. OK
196:          PDF output......................................... FAILED
196:          Result    = 27174
196:          Reference = 27356
196:          Error     = 182 (was 100)
196:          File      = sge_thstack1.pdf
[...]
196: Test 34. TH2 violin................................................ OK
196:          PDF output......................................... FAILED
196:          Result    = 86905
196:          Reference = 84161
196:          Error     = 2744 (was 500)
196:          File      = sge_th2_violin.pdf
[...]
196: Test 38. Feynman diagrams.......................................... OK
196:          PDF output......................................... FAILED
196:          Result    = 24189
196:          Reference = 23840
196:          Error     = 349 (was 150)
196:          File      = sge_feynman.pdf
[...]
196: Test 57. Text option............................................... OK
196:          PDF output......................................... FAILED
196:          Result    = 16762
196:          Reference = 17060
196:          Error     = 298 (was 200)
196:          File      = sge_options2d2.pdf
[...]
197: Test 61. Special contour options (AITOFF etc.)..................... OK
197:          PDF output......................................... FAILED
197:          Result    = 1307537
197:          Reference = 1292739
197:          Error     = 14798 (was 13000)
197:          File      = sg_earth.pdf
197:          JPG output................................................ OK
197:          PNG output......................................... FAILED
197:          Result    = 128011
197:          Reference = 133547
197:          Error     = 5536 (was 3500)
197:          File      = sg_earth.png
[...]
197: Test 71. TGraph2D 3 (CONT5)........................................ OK
197:          PDF output......................................... FAILED
197:          Result    = 29949
197:          Reference = 29289
197:          Error     = 660 (was 500)
197:          File      = sg_tgraph2d3.pdf
[...]
197: Test 72. Ntuple drawing and TPad................................... OK
197:          PDF output......................................... FAILED
197:          Result    = 390609
197:          Reference = 383258
197:          Error     = 7351 (was 7000)
197:          File      = sg_ntuple1.pdf
197:          JPG output................................................ OK
197:          PNG output................................................ OK
197:          .C -> .PS file result..................................... OK
197: Test 73. Divided pads and TLatex................................... OK
197:          PDF output................................................ OK
197:          JPG output................................................ OK
197:          PNG output......................................... FAILED
197:          Result    = 24331
197:          Reference = 25303
197:          Error     = 972 (was 500)
197:          File      = sg_quarks.png
197:          .C -> .PS file result..................................... OK
197: Test 74. TImage.................................................... OK
197:          PDF output................................................ OK
197:          JPG output................................................ OK
197:          PNG output......................................... FAILED
197:          Result    = 384838
197:          Reference = 365000
197:          Error     = 19838 (was 15000)
197:          File      = sg_timage.png
[...]
198: -  <path d="M99,129l 93, 9.9l 93, 70l 93, -61l 93, -0.620" fill="none" stroke="#b7a39b" stroke-opacity="0.05"/>
198: +  <path d="M99,129l 93, 9.9l 93, 70l 93, -61l 93, -0.621" fill="none" stroke="#b7a39b" stroke-opacity="0.05"/>

@dpiparo dpiparo force-pushed the builtin_zlib branch 4 times, most recently from bf522c0 to e2ab09d Compare March 17, 2026 08:22
@dpiparo dpiparo added clean build Ask CI to do non-incremental build on PR labels Mar 17, 2026
@dpiparo dpiparo closed this Mar 17, 2026
@dpiparo dpiparo reopened this Mar 17, 2026
dpiparo added 2 commits March 17, 2026 12:06
And simplify the way it is included in Core, by replicating
what is done for lzma.

The version of zlib is zlib-ng 2.3.3, compiled in compatibility mode
to offer the same interface of zlib.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

clean build Ask CI to do non-incremental build on PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants