Skip to content

INGV/rdseed

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Building rdseed

This document explains how to build rdseed using the build.sh script.

Prerequisites

  • Docker Desktop (with buildx support) - for Linux cross-compilation
  • Xcode Command Line Tools - for native macOS builds

Quick Start

# 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

Options

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

Build Types

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

Output

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 Support

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

Examples

Build Linux binaries on Apple Silicon Mac

./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 native macOS binary

./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 from a tar.gz source archive

# 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

Clean and rebuild everything

./build.sh -t clean
./build.sh -t all

Notes

  • The Docker build creates a persistent buildx builder named rdseed-multiarch for faster subsequent builds
  • Linux binaries are dynamically linked and require libtirpc at runtime for AH format support
  • The native macOS build uses system libraries only

Contribute

Thanks to your contributions!

Here is a list of users who already contributed to this repository:

Author

(c) 2026 Valentino Lauciani valentino.lauciani[at]ingv.it

Istituto Nazionale di Geofisica e Vulcanologia, Italia

About

rdseed – Read an FDSN SEED format volume

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published