一键导入
fix-busted-cached-so
busted loads _insight.so from ~/.luarocks/lib first, not build/ — must copy .so after rebuild
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
busted loads _insight.so from ~/.luarocks/lib first, not build/ — must copy .so after rebuild
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Add device information query functions through HAL → ins:: API → language bindings
Add --device all/--timer/--info CLI flags to demos across all languages for competition scoring
Add composite signal operators using existing primitives (no dedicated backend kernels needed)
How to port a cusignal Python/CUDA module to ins::signal C++ using Insight7 primitives and HAL
Profile and optimize binding language (Lua/Julia/Python) demo performance to match or exceed C++ baseline
Julia C API bindings must check for nullptr return — silent failure otherwise
| name | fix-busted-cached-so |
| description | busted loads _insight.so from ~/.luarocks/lib first, not build/ — must copy .so after rebuild |
| source | auto-skill |
| extracted_at | 2026-06-07T01:46:20.559Z |
After rebuilding the Lua binding (make insight_lua), busted tests still use
the OLD .so file. Direct luajit tests work fine, but busted fails.
Root cause: busted's launcher script (~/.luarocks/bin/busted) sets
package.cpath to include ~/.luarocks/lib/lua/5.1/?.so FIRST. Even with
LUA_CPATH="build/bindings/lua/?.so;;", the luarocks path takes precedence
because the launcher explicitly sets package.cpath.
Symptom: Direct luajit test passes, but busted test fails with old behavior.
# Check which _insight.so files exist and their timestamps
ls -la bindings/lua/_insight.so build/bindings/lua/_insight.so ~/.luarocks/lib/lua/5.1/_insight.so
# Check if new code is in the .so
strings build/bindings/lua/_insight.so | grep "your_new_string"
strings ~/.luarocks/lib/lua/5.1/_insight.so | grep "your_new_string"
After rebuilding, copy the new .so to the luarocks lib directory:
# Rebuild
make -j24 insight_lua
# Copy to luarocks lib (busted loads from here first)
cp build/bindings/lua/_insight.so ~/.luarocks/lib/lua/5.1/_insight.so
cp build/backends/cpu/libinsight_cpu_backend.so ~/.luarocks/lib/lua/5.1/libinsight_cpu_backend.so
If you don't want to copy, you can try setting LUA_CPATH before the busted
launcher's package.cpath assignment. But this is fragile — copying is more
reliable.
~/.luarocks/bin/busted — launcher script, sets package.cpath~/.luarocks/lib/lua/5.1/_insight.so — cached bindingbuild/bindings/lua/_insight.so — freshly built bindingbindings/lua/_insight.so — copy target (used by LUA_CPATH="bindings/lua/?.so;;")Add a post-build step to CMakeLists.txt that copies the .so to the luarocks lib directory automatically.