Skip to content
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

Enable native builds of szip via libaec #1334

Merged
merged 11 commits into from
Mar 20, 2023

Conversation

mkitti
Copy link
Contributor

@mkitti mkitti commented Mar 14, 2023

szip is a compressor that can be built into HDF5. A free implementation of szip is available via libaec.

@mkitti mkitti closed this Mar 16, 2023
@mkitti mkitti reopened this Mar 16, 2023
@mkitti mkitti marked this pull request as ready for review March 16, 2023 16:38
@mkitti
Copy link
Contributor Author

mkitti commented Mar 16, 2023

After sorting out Windows, I may know how to convert everything to cmake now. That might be another pull request.

@saudet
Copy link
Member

saudet commented Mar 16, 2023

Why do we need to build libaec just for szip? Let's remove that dependency if we're not using it.

@mkitti
Copy link
Contributor Author

mkitti commented Mar 17, 2023

How else do you propose building szip? Basically libaec provides a compatability layer that provides a szip interface.

szip itself is otherwise provided via a non-free license.

@saudet
Copy link
Member

saudet commented Mar 17, 2023

Ah, yes, I remember. So it doesn't matter if we use it via libaec, it's still not free and it's just libaec not being compliant isn't?

@mkitti
Copy link
Contributor Author

mkitti commented Mar 17, 2023

As far as I know the license of libaec is https://gitlab.dkrz.de/k202009/libaec/-/blob/master/LICENSE.txt . It only provides the SZIP API and does not use any code from proprietary SZIP as far as I know.

https://gitlab.dkrz.de/k202009/libaec/-/blob/master/README.SZIP

Libaec includes a free drop-in replacement for the SZIP
library[1]. Just replace SZIP's shared library libsz.so* with
libaec.so* and libsz.so* from libaec. For Windows the DLLs are called
SZIP.DLL and AEC.DLL. Code which is dynamically linked with SZIP such
as HDF5 should continue to work with libaec. No re-compilation
required.

@mkitti
Copy link
Contributor Author

mkitti commented Mar 17, 2023

According to NASA, there are no known patents on this standard compression either.

https://public.ccsds.org/Pubs/121x0b3.pdf

At time of publication, the specifications of this Recommended Standard are not known to be
the subject of patent rights. There is currently no known active patent for this standard.2

hdf5/cppbuild.sh Outdated Show resolved Hide resolved
@saudet saudet merged commit c62e06f into bytedeco:master Mar 20, 2023
@mkitti
Copy link
Contributor Author

mkitti commented Mar 20, 2023

Thank you for the edits and the merge!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants