Skip to content

'Failed to build cactus library' on WSL2 (x86_64) #655

Description

@pythoninthegrass

Hi there @CactusCompute,

Trying to setup cactus on a WSL2 instance and it gets to the build portion before failing with a bad value:

λ cactus build
Building Cactus chat...
=======================
Building Cactus library...
Building Cactus library...
cc1plus: error: bad value 'armv8.2-a+fp16+simd+dotprod+i8mm' for '-march=' switch
cc1plus: note: valid arguments to '-march=' switch are: nocona core2 nehalem corei7 westmere sandybridge corei7-avx ivybridge core-avx-i haswell core-avx2 broadwell skylake skylake-avx512 cannonlake icelake-client rocketlake icelake-server cascadelake tigerlake cooperlake sapphirerapids emeraldrapids alderlake raptorlake meteorlake graniterapids graniterapids-d arrowlake arrowlake-s lunarlake pantherlake diamondrapids bonnell atom silvermont slm goldmont goldmont-plus tremont gracemont sierraforest grandridge clearwaterforest x86-64 x86-64-v2 x86-64-v3 x86-64-v4 eden-x2 nano nano-1000 nano-2000 nano-3000 nano-x2 eden-x4 nano-x4 lujiazui yongfeng shijidadao k8 k8-sse3 opteron opteron-sse3 athlon64 athlon64-sse3 athlon-fx amdfam10 barcelona bdver1 bdver2 bdver3 bdver4 znver1 znver2 znver3 znver4 znver5 btver1 btver2 native
make[2]: *** [CMakeFiles/cactus_i8mm_obj.dir/build.make:75: CMakeFiles/cactus_i8mm_obj.dir/kernel/kernel_i8mm.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:93: CMakeFiles/cactus_i8mm_obj.dir/all] Error 2
make: *** [Makefile:91: all] Error 2
Failed to build cactus library

My use case is a Windows 11 host with an RTX PRO 6000 Blackwell passed through to the WSL Ubuntu 26.04 guest.

Environment

Host

  • Windows 11 Build 10.0.26200.8457
  • WSL 2.7.3.0 / Kernel 6.6.114.1-1

WSL2 Guest

λ uname -a
Linux ncase 6.6.114.1-microsoft-standard-WSL2 #1 SMP PREEMPT_DYNAMIC Mon Dec  1 20:46:23 UTC 2025 x86_64 GNU/Linux

λ lscpu | grep -E 'Architecture|Model name|Flags'
Architecture: x86_64
Model name:   Intel(R) Core(TM) i7-9700K CPU @ 3.60GHz
Flags:        fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon rep_good nopl xtopology cpuid tsc_known_freq pni pclmulqdq vmx ssse3 fma cx16 pdcm pcid sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow ept vpid ept_ad fsgsbase bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt xsaveopt xsavec xgetbv1 xsaves vnmi md_clear flush_l1d arch_capabilities

λ g++ --version
g++ (Ubuntu 15.2.0-16ubuntu1) 15.2.0

λ cmake --version
cmake version 4.2.3

λ cat CACTUS_VERSION
v1.14

GPU: NVIDIA RTX PRO 6000 Blackwell (96GB VRAM), Windows driver 596.36, CUDA 13.2 — passed through to WSL2 via /usr/lib/wsl/lib/

distro:

PRETTY_NAME="Ubuntu 26.04 LTS"
VERSION_ID="26.04"
VERSION_CODENAME=resolute

Notes

No ARM flags in lscpu output — pure x86_64 machine. The build system is selecting an ARM target (armv8.2-a+fp16+simd+dotprod+i8mm) despite running on x86_64. The failing target cactus_i8mm_obj suggests the ARM i8mm SIMD path is being chosen at CMake configure time.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions