🚀 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¶
3. Update Registry (if packages change)¶
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¶
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¶
Update Registry¶
After manual installation:
Verification¶
Check vcpkg¶
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¶
Check Registry¶
Should show 7 .yaml files.
Check CMake Integration¶
CMake should find all libraries.
Next Steps¶
After successful installation:
- Run tests: Verify all dependencies work
- Build project: Test CMake integration
- 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¶
- 03_03_01_package_manifests/vcpkg.json - vcpkg manifest
- 03_03_01_package_manifests/requirements.txt - Python requirements
- 03_03_01_package_manifests/_installed_registry/README.md - Registry documentation