Skip to content

Reproducible Build fails for v2.1.5 #551

Closed

Description

@IzzySoft

…with multiple issues. 2 are caused by Flutter itself, from which we could solve 1 at our end (NativeAssetsManifest.json differs when building just a single ABI vs. building all ABIs – so we switched to building all ABIs and simply abandoning all "unwanted APKs", which fixed that). Second one is this:

  -rw-r--r--  0.0 unx 15664016 b-  7538004 defN 1981-01-01 01:01:02 52364b88 lib/arm64-v8a/libapp.so
- -rw-r--r--  0.0 unx   124592 b-    23706 defN 1981-01-01 01:01:02 a4000616 lib/arm64-v8a/libdartjni.so
+ -rw-r--r--  0.0 unx   124592 b-    23708 defN 1981-01-01 01:01:02 b5801472 lib/arm64-v8a/libdartjni.so
  -rw-r--r--  0.0 unx     7112 b-     2630 defN 1981-01-01 01:01:02 4f56ac38 lib/arm64-v8a/libdatastore_shared_counter.so

It's just an embedded Build ID:

Image

And the solution to that is adding a step after flutter pub get:

- flutter pub get
- sed -i -e 's/-Wl,/-Wl,--build-id=none,/' ${PUB_CACHE}/hosted/*/jni-*/src/CMakeLists.txt

But that's something we both need to do. Remains a last one I could not pin-point:

  -rw-r--r--  0.0 unx     7112 b-     2630 defN 1981-01-01 01:01:02 4f56ac38 lib/arm64-v8a/libdatastore_shared_counter.so
- -rw-r--r--  0.0 unx 49895136 b- 39582039 defN 1981-01-01 01:01:02 6216e31a lib/arm64-v8a/libembedded_milli.so
+ -rw-r--r--  0.0 unx 49896000 b- 39581356 defN 1981-01-01 01:01:02 eb51de3c lib/arm64-v8a/libembedded_milli.so
  -rw-r--r--  0.0 unx 11579872 b-  5407642 defN 1981-01-01 01:01:02 e7fe1c8b lib/arm64-v8a/libflutter.so

And that's a rather large diff again. I'll attach you the diffoscope output, in the hope it tells you something (it also includes our build recipe, just to make sure you have all details we can give you): diff.zip

Meanwhile, we'll have to mark this release "RB failed", as it cannot be rescued (see above: you'd need to adjust your build as well, to get rid of the embedded build ID with libdartjni.so).

Activity

  1. maelchiotti commented on Jun 21, 2026

    @maelchiotti
    Owner

    Honestly, I'm thinking of dropping mimir. It brings too much trouble for what it's worth. With the 1-2 updates a year I plan on delivering, I feel like it's going to break often. And it would definitely solve the APK size issue.

    I'll look into it this weekend. And I'll add the build fix you mentioned.

  2. self-assigned this
    on Jun 21, 2026
  3. moved this to Next release in LocalMaterialNoteson Jun 21, 2026
  4. moved this from Next release to In progress in LocalMaterialNoteson Jun 21, 2026
  5. added and removed
    enhancementNew feature or request
    on Jun 21, 2026
  6. linked a pull request that will close this issueFix reproducible build #554on Jun 21, 2026
  7. linked a pull request that will close this issuev2.2.0 #555on Jun 21, 2026
  8. moved this from In progress to Done in LocalMaterialNoteson Jul 9, 2026
  9. IzzySoft commented on Jul 9, 2026

    @IzzySoft
    Author

    OK, this time it's not mimir:

      -rw-r--r--  0.0 unx 11579872 b-  5407642 defN 1981-01-01 01:01:02 e7fe1c8b lib/arm64-v8a/libflutter.so
    - -rw-r--r--  0.0 unx  1125224 b-   571175 defN 1981-01-01 01:01:02 9f094f8e lib/arm64-v8a/libisar.so
    + -rw-r--r--  0.0 unx  1125192 b-   571156 defN 1981-01-01 01:01:02 dea308eb lib/arm64-v8a/libisar.so
      -rw-r--r--  0.0 unx     4477 b-      624 defN 1981-01-01 01:01:02 8d9bd3f0 assets/flutter_assets/AssetManifest.bin

    Could it be the ndkVersion = "27.3.13750724" (android/app/build.gradle) is not really what is being used? Before it was 27.0.12077973. And seeing this in the diffoscope:

    Image

    Yours: 12027248, ours 13691557 – not the same numbers, but still… "Linker:·LLD·18.0.1" vs "Linker:·LLD·18.0.4", yours is definitely using something that's older than ours. So let me revert to NDK 20 here, as that's what your .ndk-version says (I guess 27.0 is needed for libisar, while 27.3 is what Flutter then uses? Funny: Flutter then installs 27.3 and 28.2, so we end up with 3 different NDK versions here)…

    url_launcher_android requires Android NDK 27.0.12077973
    

    Oh, et tu. Brute…

    But then, finally: it's RB (with the sed for the build id stuff in libjni), thanks! 🤗

  10. maelchiotti commented on Jul 10, 2026

    @maelchiotti
    Owner

    Great, finally!

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

Metadata

Metadata

Assignees

Labels

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions