Skip to content

Add macOS Apple Silicon support to SevenZipJBinding - #8031

Open
U-238 wants to merge 1 commit into
sleuthkit:developfrom
U-238:apple-silicon
Open

U-238 wants to merge 1 commit into
sleuthkit:developfrom
U-238:apple-silicon

Conversation

@U-238

@U-238 U-238 commented Aug 26, 2026

Copy link
Copy Markdown

This adds a macOS ARM64 native build of SevenZipJBinding to Autopsy’s bundled sevenzipjbinding-AllPlatforms.jar.

Autopsy 4.23.1 ships SevenZipJBinding 9.20-2.00beta, but the bundled platform JAR only contains native libraries for:

Linux-amd64
Linux-i386
Mac-i386
Mac-x86_64
Windows-amd64
Windows-x86

On Apple Silicon, the JVM reports:

os.name = Mac OS X
os.arch = aarch64

As a result, SevenZipJBinding initialization fails with:

Can't find suited platform for os.arch=aarch64, os.name=Mac

This prevents Autopsy’s Embedded File Extractor from initializing on macOS ARM64.

The change adds:

Mac-aarch64/lib7-Zip-JBinding.dylib
Mac-aarch64/sevenzipjbinding-lib.properties

and registers Mac-aarch64 in:

sevenzipjbinding-platforms.properties

The native library was built from the matching upstream SevenZipJBinding release:

Release-9.20-2.00beta

and compiled natively for Apple Silicon:

Mach-O 64-bit dynamically linked shared library arm64

The Java-side sevenzipjbinding.jar in the Autopsy repository was verified to be byte-for-byte identical to the version used for the ARM64 native build:

SHA-256:
bea27c2243e99059343dd688e0250904e95d2a14f53efe1fae02f872199618dd

The resulting ARM64 dylib was also verified to load successfully using System.load() on macOS.

This allows SevenZipJBinding to select Mac-aarch64 as the platform and enables the Embedded File Extractor on Apple Silicon Macs.

I've successfully tested this end-to-end by running the Embedded File Extractor in Autopsy on an Apple Silicon MacBook Pro running macOS 26.6.2.

@coderabbitai

coderabbitai Bot commented Aug 26, 2026

Copy link
Copy Markdown

Important

Review skipped

Review was skipped due to path filters

⛔ Files ignored due to path filters (1)
  • thirdparty/sevenzip/sevenzipjbinding-AllPlatforms.jar is excluded by !**/*.jar

CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including **/dist/** will override the default block on the dist directory, by removing the pattern from both the lists.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 2a34d0b4-decb-4934-926a-76f5018de9ca

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@U-238 U-238 changed the title \Add macOS Apple Silicon support to SevenZipJBinding Add macOS Apple Silicon support to SevenZipJBinding Aug 26, 2026
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.

1 participant