-
-
Notifications
You must be signed in to change notification settings - Fork 689
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ENH: Switch to zlib-ng for modern maintained zlib codebase #2626
Conversation
Errors:
|
5 similar comments
Errors:
|
Errors:
|
Errors:
|
Errors:
|
Errors:
|
Errors:
|
4 similar comments
Errors:
|
Errors:
|
Errors:
|
Errors:
|
Todo:
|
cc754b0
to
d8f933c
Compare
I think I've done the update properly. At this point the build fails at:
So this may depend on #1924 as it appears there's some bugs with NIFTI's usage of zlib? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good progress!
GDCM also fails to compile:
Maybe you need to turn on some more backward compatibility options, in addition to |
COMPAT is on, otherwise nothing would work :-) they have a whole new API otherwise Historically there's a lot of "wrong" ways to use the zlib API that might be disallowed now. I'm gone camping now, I will return to this and Niftilib this weekend. |
Code extracted from: https://github.com/zlib-ng/zlib-ng.git at commit c69f78bc5e18a0f6de2dcbd8af863f59a14194f0 (2.0.5).
# By Zlib-ng Upstream * upstream-zlib-ng: zlib-ng 2021-06-25 (c69f78bc)
Includes fixed. Liker fails out now:
Need to check if the renaming internally to itkzlib-ng has broken something (either because incomplete or something hard-coded) |
It looks like the integrated zlib has been running with a bunch of custom patches: Will need to figure out which of these changes are needed now, or can be achieved in other ways, and maybe upstream some. At least some of this was done by @thewtex long ago. |
@gdevenyi thanks so much for making this happen! 🏅 We will need to still apply the symbol name mangling on top of upstream. This is required to prevent symbol conflicts when a binary links both itk-zlib-ng and zlib-ng. The CMake configuration ports likely need to be made on top of upstream, at least in some cases, so files are installed into the ITK module location, etc. |
It would make some sense to integrate this into upstream. Other projects could possibly benefit from this (at least VTK, probably some others too). |
Ok, opened an issue here zlib-ng/zlib-ng#1025, I'll see if I can figure out how to add it for review. |
Closing in favor of #2708. |
See #416
PR Checklist
Refer to the ITK Software Guide for
further development details if necessary.