Common Issues and Solutions
Problem: cmake: command not found
Solution:
# Ubuntu/Debian
sudo apt-get install cmake build-essential
# macOS
brew install cmake
# Fedora
sudo dnf install cmake gcc-c++Problem: naab/ directory exists but is empty
Solution:
cd naab-pivot
git submodule update --init --recursive
bash build.shProblem: bash: ./naab/build/naab-lang: Permission denied
Solution:
chmod +x naab/build/naab-langProblem: "Go compiler not found"
Solution:
# Install Go
# Ubuntu/Debian
sudo apt-get install golang-go
# macOS
brew install go
# Or download from https://go.dev/dl/
# Verify
go versionProblem: "rustc: command not found"
Solution:
# Install Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# Verify
rustc --versionProblem: "g++: error: unrecognized command line option '-march=native'"
Solution:
# Use generic optimization instead
./naab/build/naab-lang pivot.naab evolve slow.py --profile conservativeProblem: "Parity NOT CERTIFIED - deviation too high"
Reasons:
- Floating-point precision differences
Solution: Increase tolerance
export PIVOT_TOLERANCE=0.01 # 1% tolerance
./naab/build/naab-lang pivot.naab validate slow.py vessel- Non-deterministic behavior (random, time-based)
Solution: Seed random generators, use fixed timestamps
- Integer overflow handling
Solution: Use --profile ultra-safe for overflow checking
Problem: All test cases fail with "Execution error"
Solution: Check vessel binary directly
# Run vessel manually
./vessels/compute_vessel 10000
# Check exit code
echo $? # Should be 0Problem: Analysis takes >5 minutes
Solutions:
- Check NAAb build mode:
cd naab/build
cmake .. -DCMAKE_BUILD_TYPE=Release
make clean && make naab-lang -j4- Split large files:
If file >1000 LOC, split into smaller modules
- Use hotspot-only mode:
./naab/build/naab-lang pivot.naab evolve --hotspot-only slow.pyProblem: Vessel compilation takes too long
Solutions:
- Enable parallel compilation:
./naab/build/naab-lang pivot.naab synthesize blueprint.json --parallel 8- Use cache:
# Avoid --no-cache flag
# Cache is enabled by default- Use ccache:
# Install ccache
sudo apt-get install ccache
# Use with C++
export CXX="ccache g++"Problem: Speedup is only 1.5x, expected 5x
Possible Causes:
-
I/O-bound workload (file reads, network calls)
- Speedup limited by I/O, not CPU
-
Wrong profile (ultra-safe instead of aggressive)
Solution:
./naab/build/naab-lang pivot.naab evolve slow.py --profile aggressive- Not enough iterations in benchmark
Solution:
./naab/build/naab-lang benchmark.naab vessels/ --iterations 1000Problem: "Governance check failed: Network access not allowed"
Solution: Modify govern.json
{
"capabilities": {
"network": {"enabled": true}
}
}Or use override (caution):
./naab/build/naab-lang pivot.naab --governance-override evolve slow.pyProblem: "Language 'python' not allowed by governance"
Solution: Add to allowed languages in govern.json
{
"languages": {
"allowed": ["python", "cpp", "rust", "go"]
}
}Problem: "Address already in use"
Solution: Change port
export PIVOT_DASHBOARD_PORT=3000
./naab/build/naab-lang dashboard.naabProblem: Dashboard is empty
Solution: Verify workspace path
export PIVOT_WORKSPACE=/path/to/projects
./naab/build/naab-lang dashboard.naabProblem: "Docker build failed: Out of disk space"
Solution: Clean Docker
docker system prune -a
docker build -t naab-pivot .Problem: "Permission denied" in Docker container
Solution: Fix volume permissions
docker run -it --rm \
-v $(pwd):/workspace \
--user $(id -u):$(id -g) \
naab-pivotProblem: "Plugin not found: ml_detector"
Solution: Check plugin path
ls -la plugins/analyzers/ml_detector.naab
# Ensure file exists
# Register with full path
plugin_loader.register_plugin(
"/absolute/path/to/plugins/analyzers/ml_detector.naab",
"analyzer"
)Problem: "Plugin execution failed: ..."
Solution: Test plugin directly
use ml_detector
main {
let result = ml_detector.execute({
"source": "test code",
"language": "python"
})
io.write(json.stringify(result, true), "\n")
}
Cause: File extension not recognized
Solution: Use --language flag
./naab/build/naab-lang pivot.naab analyze script.txt --language pythonCause: Generated code doesn't compile
Solution: Inspect generated code
cat vessels/compute_GO.go
# Try compiling manually
go build vessels/compute_GO.goCause: Implementations produce different results
Solution: Increase test count and tolerance
./naab/build/naab-lang pivot.naab validate slow.py vessel \
--test-count 10000 \
--tolerance 0.01Cause: Operation exceeded time limit
Solution: Increase timeout
export PIVOT_TIMEOUT=600 # 10 minutes
./naab/build/naab-lang pivot.naab evolve slow.py./naab/build/naab-lang pivot.naab --verbose evolve slow.pyenv | grep PIVOTls -lah vessels/
cat vessels/compute_GO.go
file vessels/compute_vessel# Test vessel manually
./vessels/compute_vessel 10000
# Time execution
time ./vessels/compute_vessel 10000000# GDB for C++
gdb vessels/compute_vessel
# Delve for Go
dlv exec vessels/compute_vessel- Check FAQ: docs/faq.md
- Search Issues: https://github.com/b-macker/naab-pivot/issues
- Discord: https://discord.gg/naab-pivot
- Email: support@naab-pivot.dev
When reporting issues, include:
- NAAb Pivot version
- Operating system
- Error message (full output)
- Minimal reproduction case
- Expected vs actual behavior
Next: FAQ | Contributing