如何在macOS上修复错误“无法加载Codegen后端”?

时间:2018-12-03 05:26:30

标签: rust

main.rs:

fn main() {
    println!("Hello world!");
}
$ rustc main.rs:
error: couldn't load codegen backend "/usr/local/lib/rustlib/i686-apple-darwin/codegen-backends/librustc_codegen_llvm-llvm.dylib": "dlsym(RTLD_DEFAULT, CFURLConnectionCreateWithProperties): symbol not found"

我使用的是通过rustup安装了Rust 1.30.1的macOS 10.11.6。 gcc是Apple LLVM version 8.0.0 (clang-800.0.42.1)

1 个答案:

答案 0 :(得分:0)

我在x86的Gentoo系统上遇到了同样的问题。由于某种原因,已将代码生成库安装到

/usr/lib/rust-1.34.2/rust-1.34.2/rustlib/i686-unknown-linux-gnu/codegen-backends

请注意重复的rust-1.34.2目录。

我的解决方案是将目录与预期位置符号链接;您必须具有root权限:

# cd /usr/lib/rust-1.34.2/rustlib/i686-unknown-linux-gnu/
# ln -s ../../rust-1.34.2/rustlib/i686-unknown-linux-gnu/codegen-backends .

在安装新版本的Rust时,您可能不得不重复该操作。