#!/bin/bash # build_observer.sh — build the observer daemon under WSL/Linux. # The daemon uses Linux flags and relies on libzmq + NVML on WSL's system include path. # Do NOT build with Windows nvcc + cl.exe — it can't find zmq.h/nvml.h. # # Prereqs (one-time, inside WSL): # sudo apt install -y libzmq3-dev # (NVML header nvml.h ships with the CUDA toolkit at /usr/local/cuda) # # Run from inside WSL: bash /mnt/d/resonance-engine-active/build_observer.sh set -e export PATH=/usr/local/cuda/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH SRC=/mnt/d/resonance-engine-active/cuda/khra_gixx_1024_v5_observer.cu OUT=/mnt/d/resonance-engine-active/build/khra_gixx_1024_v5_observer echo "=== Building observer daemon (WSL) ===" echo "nvcc: $(which nvcc)" nvcc --version | grep release || true echo "source: $SRC" mkdir -p /mnt/d/resonance-engine-active/build nvcc "$SRC" \ -o "$OUT" \ -lzmq -lnvidia-ml \ -O3 -g -lineinfo \ -arch=sm_89 \ -Xcompiler -rdynamic echo "" echo "=== BUILD COMPLETE ===" ls -la "$OUT" echo "" echo "Verifying set_param feature present:" strings "$OUT" | grep -i "set_param\|OBSERVER\|coarse" | head -5 || echo " (no set_param yet — this is the pre-knobs build)"