首页 > 解决方案 > 将 NixOS 升级到 20.03 后,具有柴油和 mysql 依赖项的板条箱不再针对 mariadb 进行编译

问题描述

我的 crate 依赖于启用了该功能的柴油,在将我的系统从NixOS 19.09mysql升级到 20.03 后不再编译。似乎唯一的重大变化是将包从 10.2.17 更新到 10.3.18。Rust 工具链等没有任何变化(它被静态固定到每晚2020-04-20)。mariadb-servernix-shell

很长的编译器消息以:

warning: build failed, waiting for other jobs to finish...
error: linking with `cc` failed: exit code: 1

我该怎么办?

标签: rustnixosrust-diesel

解决方案


这个构建脚本告诉Cargo 使用编译器的标志 `-lmariadb 链接板条箱解决了这个问题:

fn main() {
    println!("cargo:rustc-link-lib=mariadb");
}

2020-05-01 更新

实际上这个问题可以在mysqlclient-sys crate 中解决。


推荐阅读