Skip to content

7z cannot handle new NDK zips #10387

@grendello

Description

@grendello

Android framework version

net10.0-android (Preview)

Affected platform version

Linux

Description

I've seen this on Linux when trying to unpack the latest NDK zips:

stderr | ERROR: Dangerous link via another link was ignored : android-ndk-r28c/toolchains/llvm/prebuilt/linux-x86_64/lib/libc++.so.1 : x86_64-unknown-linux-gnu/libc++.so.1
stderr | ERROR: Dangerous link via another link was ignored : android-ndk-r28c/toolchains/llvm/prebuilt/linux-x86_64/lib/libc++abi.so.1 : x86_64-unknown-linux-gnu/libc++abi.so.1
stderr | ERROR: Dangerous link via another link was ignored : android-ndk-r28c/toolchains/llvm/prebuilt/linux-x86_64/bin/ld : ld.lld

7z is wrong, those symlinks aren't dangerous (since they're relative and they don't refer to any directories above their directory) and we've been passing the -snld argument to 7z for quite a while now to work around this bug in it, but it appears to have stopped working with the NDK r28c and r29beta3 zips.

So far observed only on Linux with 7z 25.01 on up-to-date (as of Aug 8 2025) Debian/unstable

It is probably a good idea to replace 7z with custom code using System.IO.Compression APIs.

Steps to Reproduce

Switch to the dev/grendel/bump-stable-ndk branch and run make prepare

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions