Setup Status - NVIDIA DGX-Spark (ARM64 Linux)
Date: 2025-11-06 System: ARM64 (aarch64) Linux - NVIDIA DGX-Spark
✅ What’s Working
Desktop Development (Linux ARM64)
- Status: ✅ FULLY FUNCTIONAL
- Build Command:
npm run tauri:devornpm run tauri:build - Output Formats:
- Native binary:
/home/beengud/.cargo/target/release/tauri-hello-world(5.4 MB) - DEB package:
Tauri Hello World_0.1.0_arm64.deb(1.9 MB) - RPM package:
Tauri Hello World-0.1.0-1.aarch64.rpm
- Native binary:
- Architecture: ARM aarch64 (native)
Environment Setup
- ✅ JDK 17 installed
- ✅ Node.js and npm configured
- ✅ Rust toolchain with Android targets
- ✅ Android SDK and NDK 25.1.8937393 installed
- ✅ Linux system dependencies (WebKit2GTK, etc.)
- ✅ Environment variables configured in
~/.bashrc
❌ Known Limitations
Android Builds
- Status: ❌ NOT SUPPORTED on ARM64 Linux
- Reason: Android NDK only provides x86_64 toolchains for Linux hosts
- Error:
cannot execute binary file: Exec format errorwhen linking - QEMU Workaround: Attempted but requires additional x86_64 libraries not available in ARM64 Ubuntu ports
Recommended Solution for Android
Build Android APKs on:
- x86_64 Linux machine (cloud or local)
- macOS (x86_64 or Apple Silicon)
- CI/CD pipeline (GitHub Actions, GitLab CI, etc.)
Example GitHub Actions workflow location: .github/workflows/android-build.yml
Environment Variables
The following were added to ~/.bashrc:
# Android SDK configuration
export ANDROID_HOME=$HOME/Android/Sdk
export NDK_HOME=$ANDROID_HOME/ndk/25.1.8937393
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-arm64
export PATH=$PATH:$ANDROID_HOME/cmdline-tools/latest/bin:$ANDROID_HOME/platform-toolsNote: Reload your shell or run source ~/.bashrc to apply these changes.
Build Commands Summary
Desktop (Works ✅)
# Development mode with hot reload
npm run tauri:dev
# Production build
npm run tauri:buildAndroid (Blocked ❌)
# These require x86_64 Linux or macOS
npm run tauri:android # Development
npm run tauri:android:build # Production APKInstalled Tools
- JDK: OpenJDK 17 (ARM64)
- Rust: 1.90.0
- Android SDK: Platform 34, Build Tools 34.0.0
- Android NDK: 25.1.8937393 (x86_64 - incompatible)
- Android Targets: aarch64-linux-android, armv7-linux-androideabi, i686-linux-android, x86_64-linux-android
- Node.js: Installed with npm
- QEMU: qemu-user-static (attempted for x86_64 emulation)
Next Steps
For Desktop Development
You’re all set! Continue developing and building for Linux ARM64.
For Android Development
Consider one of these approaches:
-
GitHub Actions (Recommended)
- Free for public repos
- Runs on x86_64 Ubuntu
- Can publish APKs as artifacts
-
Remote x86_64 Linux Server
- SSH into an x86_64 machine
- Run builds remotely
-
Docker with x86_64 Platform
- Not recommended due to performance overhead
-
Dual-Boot or VM
- Install x86_64 Ubuntu on another partition/machine
Verification
To verify your setup:
# Test desktop build
npm run tauri:build
# Check environment variables
echo $ANDROID_HOME
echo $NDK_HOME
echo $JAVA_HOME
# Verify Rust targets
rustup target list --installed | grep androidDocumentation Created
- ✅
CLAUDE.md- AI development guidance - ✅
SETUP_STATUS.md- This file
Support
For Tauri support: