rust - 将 NixOS 升级到 20.03 后,具有柴油和 mysql 依赖项的板条箱不再针对 mariadb 进行编译
问题描述
我的 crate 依赖于启用了该功能的柴油,在将我的系统从NixOS 19.09mysql
升级到 20.03 后不再编译。似乎唯一的重大变化是将包从 10.2.17 更新到 10.3.18。Rust 工具链等没有任何变化(它被静态固定到每晚2020-04-20)。mariadb-server
nix-shell
很长的编译器消息以:
warning: build failed, waiting for other jobs to finish...
error: linking with `cc` failed: exit code: 1
我该怎么办?
解决方案
这个构建脚本告诉Cargo 使用编译器的标志 `-lmariadb 链接板条箱解决了这个问题:
fn main() {
println!("cargo:rustc-link-lib=mariadb");
}
2020-05-01 更新
实际上这个问题可以在mysqlclient-sys crate 中解决。