i2pplus

JBIGI Native Libraries

Note: For the latest information, see:


What is JBIGI?

JBIGI provides native JNI bindings for the GNU Multiple Precision Arithmetic Library (GMP) to accelerate cryptographic operations in I2P, including:


Current Version (March 2026)

Component Version
GMP 6.3.0
JBIGI 4

The JBIGI version can be queried at runtime via nativeJbigiVersion().

New in This Release


Supported Architectures

The product is 64-bit only. All binaries carry a _64 suffix (for jbigi) or x86_64 (for jcpuid).

Linux (x86_64 64-bit)

none  core2  corei  coreisbr  coreihwl  coreibwl
athlon64  k10  bobcat  jaguar  bulldozer  piledriver  steamroller  excavator
atom  nano  pentium4  zen  zen2  zen3  skylake  silvermont  goldmont

Linux (ARM64 / aarch64)

armv8  armv8.2  cortex-a72  cortex-a76

macOS (x86_64)

none  core2  corei  coreisbr  coreihwl  armv8

Windows (x86_64)

Same architectures as Linux (compiled via MinGW cross-compilation)

FreeBSD (x86_64)

none  atom  nano  k10  pentium4  core2  corei  coreisbr  coreihwl
bobcat  bulldozer  piledriver

Build History

2026 - March

2016 - April

2011 - May/June

2006 - February

2005 - December

2005 - September

2004 - August


Rebuilding from Source

To rebuild jbigi for your specific architecture:

# Linux 64-bit
cd core/c/jbigi
./build-linux64.sh -a

# Windows 64-bit (cross-compile with MinGW)
./build-win64.sh -a

# ARM64 (cross-compile with aarch64-linux-gnu-gcc)
./build-arm64.sh -a

For more options, see core/c/jbigi/README.md.


File Naming Convention

The library naming follows {lib}jbigi-{OS}-{CPU}.{ext}:

OS Prefix Extension
Linux libjbigi .so
FreeBSD libjbigi .so
macOS libjbigi .jnilib
Windows jbigi .dll

The CPUID library at runtime selects the optimal binary for your CPU based on detected features.