Skip to content

Conversation

@hboutemy
Copy link
Member

@hboutemy hboutemy commented Dec 3, 2025

@github-actions
Copy link
Contributor

github-actions bot commented Dec 3, 2025

@hboutemy
Copy link
Member Author

hboutemy commented Dec 3, 2025

in addition to JDK 7 requirement, there is also native code compilation to do on 3 platforms: https://github.com/yawkat/lz4-java/blob/main/.github/workflows/build-all-and-publish.yml

@hboutemy
Copy link
Member Author

hboutemy commented Dec 5, 2025

rebuilt 1.9.0 https://github.com/hboutemy/lz4-java/actions/runs/19964374243
need to compare native binaries against reference done in https://github.com/yawkat/lz4-java/actions/runs/19698114569
to check if native binaries are reproducible or not

@hboutemy
Copy link
Member Author

hboutemy commented Dec 5, 2025

on reference native binaries:

$ for f in *.zip ; do echo "$(unzip -p $f | sha256sum) $f" ; done
0c103016659c4270fe7446915a79c727193eb9d1077d70e0391578fe42e79a7a  - natives-darwin-aarch64.zip
0223e6652f91238349086167289a3e9ef47592b2379a355d6d8c676eb5531e03  - natives-darwin-x86_64.zip
62b267ea96d06f14612d2c665d18a9ecc2cf8ef29fd4710ac493d74a0cce29f5  - natives-linux-aarch64.zip
342905d019e00a81b476d5e86e44e530db864b7d4de39a52eb89863c80105ca9  - natives-linux-amd64.zip
88fb5fc70592d03e5663088734a64c3da76c4462a82f8dda8421b8574d5f2ce2  - natives-linux-i386.zip
ba776c5977ed833c46877a08451275ba645211d2e6e0820e1ac827b3a8181781  - natives-linux-ppc64le.zip
97de7639d2e1e9b13aea7c55e79ad8d1ef56628e1702d365a65834c8375e8f96  - natives-linux-s390x.zip
a773080cb1f98a090d0d31ff203cd027e2b7b084e8fd83996af8ff6cf59c5700  - natives-win32-amd64.zip

on rebuild:

$ for f in *.zip ; do echo "$(unzip -p $f | sha256sum) $f" ; done
0c103016659c4270fe7446915a79c727193eb9d1077d70e0391578fe42e79a7a  - natives-darwin-aarch64.zip
0223e6652f91238349086167289a3e9ef47592b2379a355d6d8c676eb5531e03  - natives-darwin-x86_64.zip
62b267ea96d06f14612d2c665d18a9ecc2cf8ef29fd4710ac493d74a0cce29f5  - natives-linux-aarch64.zip
342905d019e00a81b476d5e86e44e530db864b7d4de39a52eb89863c80105ca9  - natives-linux-amd64.zip
88fb5fc70592d03e5663088734a64c3da76c4462a82f8dda8421b8574d5f2ce2  - natives-linux-i386.zip
ba776c5977ed833c46877a08451275ba645211d2e6e0820e1ac827b3a8181781  - natives-linux-ppc64le.zip
97de7639d2e1e9b13aea7c55e79ad8d1ef56628e1702d365a65834c8375e8f96  - natives-linux-s390x.zip
c72a9b9b8d920385ff06e5b843b0f364a365f006a20fe1a902b210c5c92fe732  - natives-win32-amd64.zip

conclusion: only natives-win32-amd64.zip rebuild does not correspond to reference

There is at least a timestamp in this binary (notice: .so, surprising for a Windows lib, I would have expected .dll):

$ diffoscope liblz4-java.so ../rebuild/liblz4-java.so
--- liblz4-java.so
+++ ../rebuild/liblz4-java.so
├── objdump
│ @@ -3,15 +3,15 @@
│  start address: 0x0000000000000000
│  Characteristics 0x2026
│  	executable
│  	line numbers stripped
│  	large address aware
│  	DLL
│
│ -Time/Date               Wed Nov 26 09:03:25 2025
│ +Time/Date               Fri Dec  5 13:28:23 2025
│  Magic                   020b	(PE32+)
│  MajorLinkerVersion      2
...

@hboutemy
Copy link
Member Author

hboutemy commented Dec 5, 2025

need to assemble and run by hand to get final buildinfo and buildcompare:
https://github.com/yawkat/lz4-java/blob/358ee5039f13005f57be6f4a77430e19ace04c61/.github/workflows/build-all-and-publish.yml#L232

@hboutemy hboutemy merged commit f92ff82 into master Dec 6, 2025
1 check failed
@hboutemy hboutemy deleted the lz4-java-1.9.0 branch December 6, 2025 11:35
@Marcono1234
Copy link

notice: .so, surprising for a Windows lib, I would have expected .dll

Seems to have historical reasons: lz4/lz4-java@2c51160
Note sure if that limitation still applies to the new build setup in the fork, but I guess the fork maintainer wanted to stay as close to the original code as possible.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants