From dc415fae9f5eaa8ac0f6d0ea769b9ab28860898f Mon Sep 17 00:00:00 2001 From: Paul-Erwan RIO Date: Fri, 18 Oct 2024 18:01:11 +0200 Subject: [PATCH] fix: use PYO3_CROSS_LIB_DIR value as lib_dir when cross-compiling (#4350) (#4389) Co-authored-by: Paul-Erwan RIO --- newsfragments/4389.fixed.md | 1 + pyo3-build-config/src/impl_.rs | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) create mode 100644 newsfragments/4389.fixed.md diff --git a/newsfragments/4389.fixed.md b/newsfragments/4389.fixed.md new file mode 100644 index 00000000000..6702efd3a75 --- /dev/null +++ b/newsfragments/4389.fixed.md @@ -0,0 +1 @@ +Fix invalid library search path `lib_dir` when cross-compiling. diff --git a/pyo3-build-config/src/impl_.rs b/pyo3-build-config/src/impl_.rs index 571f9cb5a0c..ec65259115f 100644 --- a/pyo3-build-config/src/impl_.rs +++ b/pyo3-build-config/src/impl_.rs @@ -1438,7 +1438,10 @@ fn cross_compile_from_sysconfigdata( ) -> Result> { if let Some(path) = find_sysconfigdata(cross_compile_config)? { let data = parse_sysconfigdata(path)?; - let config = InterpreterConfig::from_sysconfigdata(&data)?; + let mut config = InterpreterConfig::from_sysconfigdata(&data)?; + if let Some(cross_lib_dir) = cross_compile_config.lib_dir_string() { + config.lib_dir = Some(cross_lib_dir) + } Ok(Some(config)) } else {