This document explains how to build rdseed using the build.sh script.
- Docker Desktop (with buildx support) - for Linux cross-compilation
- Xcode Command Line Tools - for native macOS builds
# Build Linux binaries (aarch64 + x86_64) via Docker
./build.sh -i soft/rdseedv5.3.1.tar.gz -t docker -o output-bin
# Build Linux binaries (aarch64 + x86_64) via Docker (default)
./build.sh -i soft/rdseedv5.3.1.tar.gz
# Build for your current system (macOS or Linux)
./build.sh -i soft/rdseedv5.3.1.tar.gz -t native
# Build everything
./build.sh -i soft/rdseedv5.3.1.tar.gz -t all
# Clean build artifacts
./build.sh -i soft/rdseedv5.3.1.tar.gz -t clean| Option | Description |
|---|---|
-i, --input-file <file> |
Input tar.gz file containing rdseed source (REQUIRED) |
-o, --output <dir> |
Output directory for built binaries (default: ./output) |
-t, --type <type> |
Build type: native, docker, clean, all (default: docker) |
-h, --help |
Show help message |
| Type | Description |
|---|---|
docker |
Build Linux binaries via Docker (default) |
native |
Build natively for the host system |
clean |
Remove all build artifacts |
all |
Build both Docker and native |
All binaries are placed in the output/ directory (or custom directory specified with -o):
output/
├── linux-aarch64/
│ └── rdseed # Linux ARM64 binary (Docker)
├── linux-amd64/
│ └── rdseed # Linux x86_64 binary (Docker)
├── macos-arm64/
│ └── rdseed # macOS ARM64 binary (native)
├── macos-amd64/
│ └── rdseed # macOS x86_64 binary (native)
├── linux-arm64/
│ └── rdseed # Linux ARM64 binary (native)
└── linux-amd64/
└── rdseed # Linux x86_64 binary (native)
Native builds use the <os>-<arch> naming convention based on the host system.
| Platform | Build Method | Binary Type |
|---|---|---|
| Linux aarch64 | Docker | ELF 64-bit ARM |
| Linux x86_64 | Docker | ELF 64-bit x86-64 |
| macOS aarch64 | Native | Mach-O 64-bit ARM64 |
| macOS x86_64 | Native | Mach-O 64-bit x86-64 |
./build.sh
# Verify the binaries
file output/linux-aarch64/rdseed
# ELF 64-bit LSB executable, ARM aarch64
file output/linux-amd64/rdseed
# ELF 64-bit LSB executable, x86-64./build.sh -i soft/rdseedv5.3.1.tar.gz -t native
# Verify the binary (on Apple Silicon Mac)
file output/macos-arm64/rdseed
# Mach-O 64-bit executable arm64# Build native binary from tar.gz
./build.sh -i soft/rdseedv5.3.1.tar.gz -t native
# Build all targets from tar.gz
./build.sh -i soft/rdseedv5.3.1.tar.gz -t all
# Build with custom output directory
./build.sh -i soft/rdseedv5.3.1.tar.gz -o ./dist -t native./build.sh -t clean
./build.sh -t all- The Docker build creates a persistent buildx builder named
rdseed-multiarchfor faster subsequent builds - Linux binaries are dynamically linked and require
libtirpcat runtime for AH format support - The native macOS build uses system libraries only
Thanks to your contributions!
Here is a list of users who already contributed to this repository:
(c) 2026 Valentino Lauciani valentino.lauciani[at]ingv.it
Istituto Nazionale di Geofisica e Vulcanologia, Italia