Skip to content

🚀 AudioLab Core Dependencies Installation Guide

Overview

This guide covers the installation of all core DSP and development dependencies for AudioLab with automatic tracking.

Prerequisites

  • vcpkg installed and in PATH
  • Python 3.8+ installed
  • pip available
  • Windows PowerShell or PowerShell Core

Quick Start

1. Install All Dependencies

cd "2 - FOUNDATION\03_INFRA\03_03_dependency_management"
.\03_03_04_installation_scripts\install_core_deps.ps1

This will: - Install 7 vcpkg packages (fftw3, eigen3, libsndfile, catch2, benchmark, fmt, spdlog) - Install 3 Python tools (black, pytest, sphinx) - Register JUCE (already vendored) - Create registry entries for all packages

Estimated time: 15-30 minutes (depending on vcpkg cache)

2. List Installed Packages

.\03_03_04_installation_scripts\list_installed.ps1

3. Update Registry (if packages change)

.\03_03_04_installation_scripts\update_registry.ps1

Package Details

vcpkg Packages (7)

Package Purpose Category
fftw3 Fast Fourier Transform library DSP
eigen3 Linear algebra library Math
libsndfile Audio file I/O Audio
catch2 C++ testing framework Testing
benchmark Performance benchmarking Testing
fmt Modern formatting library Core
spdlog Fast C++ logging library Core

Python Tools (3)

Tool Purpose Category
black Code formatter Development
pytest Testing framework Development
sphinx Documentation generator Development

Vendored Dependencies (1)

Package Version Size Purpose
JUCE 7.0.9 71 MB Audio plugin framework

Registry System

All installed packages are tracked in:

03_03_01_package_manifests/
└── _installed_registry/
    ├── vcpkg/           ← vcpkg packages
    │   ├── fftw3.yaml
    │   ├── eigen3.yaml
    │   └── ...
    ├── python/          ← Python tools
    │   ├── black.yaml
    │   └── ...
    └── vendored/        ← Vendored deps
        └── juce.yaml

Each .yaml file contains: - Package name and version - Installation date - Physical location - Category and status

Troubleshooting

vcpkg: Command not found

# Add vcpkg to PATH
$env:PATH += ";C:\vcpkg"

# Or install vcpkg:
git clone https://github.com/Microsoft/vcpkg.git C:\vcpkg
cd C:\vcpkg
.\bootstrap-vcpkg.bat

pip: Command not found

# Ensure Python is in PATH
python --version
python -m pip --version

# If not, add Python to PATH or use full path:
C:\Python310\python.exe -m pip install -r requirements.txt

Package installation fails

# For vcpkg packages, try:
vcpkg install <package>:x64-windows --debug

# For Python packages, try:
pip install <package> --verbose

# Check logs:
vcpkg install <package>:x64-windows 2>&1 | Tee-Object -FilePath install.log

Registry out of sync

# Resync registry with actual installations:
.\03_03_04_installation_scripts\update_registry.ps1

Manual Installation

If automatic installation fails, install manually:

vcpkg Packages

vcpkg install fftw3:x64-windows
vcpkg install eigen3:x64-windows
vcpkg install libsndfile:x64-windows
vcpkg install catch2:x64-windows
vcpkg install benchmark:x64-windows
vcpkg install fmt:x64-windows
vcpkg install spdlog:x64-windows

Python Tools

pip install black>=23.0.0
pip install pytest>=7.0.0
pip install sphinx>=7.0.0

Update Registry

After manual installation:

.\03_03_04_installation_scripts\update_registry.ps1

Verification

Check vcpkg

vcpkg list

Expected output:

fftw3:x64-windows
eigen3:x64-windows
libsndfile:x64-windows
catch2:x64-windows
benchmark:x64-windows
fmt:x64-windows
spdlog:x64-windows

Check Python

pip list | Select-String "black|pytest|sphinx"

Check Registry

ls 03_03_01_package_manifests\_installed_registry\vcpkg\

Should show 7 .yaml files.

Check CMake Integration

cmake -S . -B build

CMake should find all libraries.

Next Steps

After successful installation:

  1. Run tests: Verify all dependencies work
  2. Build project: Test CMake integration
  3. Commit registry: Track installed versions in git
git add 03_03_01_package_manifests/_installed_registry/
git commit -m "Add installed dependency registry"

Maintenance

Updating Packages

# Update vcpkg packages
vcpkg update
vcpkg upgrade

# Update Python tools
pip install --upgrade black pytest sphinx

# Update registry
.\03_03_04_installation_scripts\update_registry.ps1

Cleaning Up

# Remove vcpkg package
vcpkg remove <package>:x64-windows

# Remove from registry
del 03_03_01_package_manifests\_installed_registry\vcpkg\<package>.yaml

Support

For issues: - Check vcpkg documentation - Review installation logs - Run update_registry.ps1 to resync - Verify PATH settings

See Also