Files
wifi-densepose/npm/core/platforms/linux-arm64-gnu
ruv d803bfe2b1 Squashed 'vendor/ruvector/' content from commit b64c2172
git-subtree-dir: vendor/ruvector
git-subtree-split: b64c21726f2bb37286d9ee36a7869fef60cc6900
2026-02-28 14:39:40 -05:00
..

ruvector-core-linux-arm64-gnu

npm version License: MIT

Linux ARM64 GNU native binding for ruvector-core

This package contains the native Node.js binding (.node file) for Linux ARM64 systems with GNU libc. It is automatically installed as an optional dependency when you install ruvector-core on a compatible system.

🌐 Visit ruv.io for more AI infrastructure tools

Installation

You should not install this package directly. Instead, install the main package:

npm install ruvector-core

The correct platform-specific package will be automatically installed based on your system.

System Requirements

  • Operating System: Linux (GNU libc)
  • Architecture: ARM64 / AArch64
  • Node.js: 18.0.0 or higher
  • libc: GNU C Library (glibc)

Compatibility

This package is compatible with:

  • Ubuntu 18.04+ (ARM64)
  • Debian 10+ Buster (ARM64)
  • CentOS 7+ / RHEL 7+ (ARM64)
  • Amazon Linux 2+ (Graviton processors)
  • Raspberry Pi OS 64-bit
  • Most ARM64 Linux distributions using glibc

What's Inside

This package contains:

  • ruvector.node - Native binary module compiled from Rust for ARM64
  • index.js - Module loader with error handling
  • Full HNSW indexing implementation
  • SIMD-optimized vector operations for ARM NEON
  • Multi-threaded async operations via Tokio

Performance

When running on Linux ARM64 systems (like AWS Graviton), you can expect:

  • 50,000+ vector inserts per second
  • 10,000+ searches per second (k=10)
  • ~50 bytes memory per 128-dim vector
  • Sub-millisecond latency for most operations
  • Optimized for ARM NEON SIMD instructions
  • AWS Graviton (EC2 instances)
  • Raspberry Pi 4/5 (64-bit OS)
  • NVIDIA Jetson (edge AI devices)
  • Apple Silicon (via Docker/Linux)
  • Oracle Cloud (Ampere processors)

Building from Source

If you need to rebuild the native module:

# Clone the repository
git clone https://github.com/ruvnet/ruvector.git
cd ruvector

# Install Rust toolchain with ARM64 target
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
rustup target add aarch64-unknown-linux-gnu

# Build for Linux ARM64
cd npm/packages/core
npm run build:napi -- --target aarch64-unknown-linux-gnu

Troubleshooting

Module Not Found Error

If you see "Cannot find module 'ruvector-core-linux-arm64-gnu'":

  1. Verify you're on a Linux ARM64 system: uname -m should output aarch64
  2. Reinstall with optional dependencies: npm install --include=optional ruvector-core
  3. Check Node.js version: node --version should be 18.0.0 or higher

Binary Compatibility Issues

If the module fails to load:

  1. Ensure you have glibc installed: ldd --version
  2. The binary requires glibc 2.17+ (CentOS 7+) or 2.27+ (Ubuntu 18.04+)
  3. For Alpine Linux or musl-based systems, this package will not work (use a glibc-based distro)

Cross-Compilation

When building on x64 for ARM64:

# Install cross-compilation tools
sudo apt-get install gcc-aarch64-linux-gnu g++-aarch64-linux-gnu

# Set environment variable
export CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-linux-gnu-gcc

# Build
npm run build:napi -- --target aarch64-unknown-linux-gnu

Resources

License

MIT License - see LICENSE for details.


Built with ❤️ by the ruv.io team