在使用cc链接器和货物时,我反复遇到:
= note: collect2: fatal error: ld terminated with signal 9 [Killed]
compilation terminated.
我的虚拟机分配了4gb内存,14gb空闲空间,并设置了vm.overcommit_memory = 2
(最初尝试过0),但这个错误仍然存在。这是在Solana SDK安装过程中,由于cc link导致cargo失败的组件只有212K大。为什么这个被杀了?
确保在cargo build
和cargo test
中使用--jobs
参数。即使是高规格的机器也可能在编译部分Solana代码库时耗尽内存,因此限制作业的数量可以帮助防止内存使用超过机器的限制。
开始时,您应该尝试:
cargo build --jobs 1
如果仍然失败,那么您将拥有更多内存的机器。
确保你可以运行
cargo new app
cd app
cargo build
如果这是失败的基线,我建议删除VM并尝试从WSL
运行。