无法在 macOS“Big Sur”和 python 3.8 中编译 pip 包:“ld:未知选项:-Bsymbolic”

Posted

技术标签:

【中文标题】无法在 macOS“Big Sur”和 python 3.8 中编译 pip 包:“ld:未知选项:-Bsymbolic”【英文标题】:Cannot compile pip package in macOS "Big Sur" and python 3.8: "ld: unknown option: -Bsymbolic" 【发布时间】:2021-01-14 16:43:05 【问题描述】:

我尝试在 Python 3.8 conda 环境中的 macOS Big Sur 上安装 Dedalus software。

我使用 Dedalus 作者推荐的script 安装了环境。

安装过程中pip启动编译失败

  x86_64-apple-darwin13.4.0-clang -bundle -undefined dynamic_lookup -Wl,-pie -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,/Users/dima/sw/conda/envs/rwth09/lib -L/Users/dim
a/sw/conda/envs/rwth09/lib -flto -Wl,-export_dynamic -Wl,-pie -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,/Users/dima/sw/conda/envs/rwth09/lib -L/Users/dima/sw/conda/envs
/rwth09/lib -Wl,-pie -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,/Users/dima/sw/conda/envs/rwth09/lib -L/Users/dima/sw/conda/envs/rwth09/lib -march=core2 -mtune=haswell -
mssse3 -ftree-vectorize -fPIC -fPIE -fstack-protector-strong -O2 -pipe -isystem /Users/dima/sw/conda/envs/rwth09/include -D_FORTIFY_SOURCE=2 -mmacosx-version-min=10.9 -isystem /Users/dima/sw/co
nda/envs/rwth09/include -arch x86_64 build/temp.macosx-10.9-x86_64-3.8/dedalus/libraries/fftw/fftw_wrappers.o -L/Users/dima/sw/conda/envs/rwth09/lib -L/Users/dima/sw/conda/envs/rwth09/lib -L/Us
ers/dima/sw/conda/envs/rwth09/lib -L/Users/dima/sw/conda/envs/rwth09/lib -lfftw3_mpi -lfftw3 -lm -o build/lib.macosx-10.9-x86_64-3.8/dedalus/libraries/fftw/fftw_wrappers.cpython-38-darwin.so -X
linker -Bsymbolic -Wl,--whole-archive /Users/dima/sw/conda/envs/rwth09/lib/libfftw3.a /Users/dima/sw/conda/envs/rwth09/lib/libfftw3_mpi.a -Wl,--no-whole-archive                                 
  ld: unknown option: -Bsymbolic                                                                                                                                                                 
  clang-10: error: linker command failed with exit code 1 (use -v to see invocation)                                                                                                             
  error: command 'x86_64-apple-darwin13.4.0-clang' failed with exit status 1

有人知道如何解决这个问题吗?

2021 年 1 月 15 日更新。 问题的解决方案是安装 clang 11,而不是 conda 自动安装的 clang 10。

【问题讨论】:

可能相关:discourse.mc-stan.org/t/… 【参考方案1】:

来自this answer:

-Bsymbolic 标志 ... 特定于使用 ELF 二进制格式的 GNU 链接器和平台。 OS X 两者都不使用。

我认为您应该报告使用 -Bsymoblic 标志来构建 Dedalus 软件作为 Mac 错误。

【讨论】:

是的,谢谢,感觉安装脚本使用的编译器(x86_64-apple-darwin13.4.0-clang)不适用于新的macOS。 我认为x86_64-apple-darwin13.4.0-clang 应该是正确的编译器。我认为问题在于他们使用了编译器不支持的标志。【参考方案2】:

我自己没有Mac,但你为什么不尝试在https://www.python.org/downloads/mac-osx/上下载python 3.9.1。我真的不知道这是否会在 Big Sur 上运行,但您可以尝试一下。

【讨论】:

我更喜欢使用 conda 提供的 Python。

以上是关于无法在 macOS“Big Sur”和 python 3.8 中编译 pip 包:“ld:未知选项:-Bsymbolic”的主要内容,如果未能解决你的问题,请参考以下文章

MacOS 升级 Big Sur 后 EasyConnect 无法使用

MacOS Big Sur 安装后 Ampps 无法正常工作

SDL2 无法在 macos Big Sur 上编译

Big Sur 内置的 CMake MacOS 应用程序无法在 Catalina 上运行

Flutter:在 MacOs Big Sur (VirtualBox) 上设置 Android Studio 后无法运行程序

MacOS Big Sur 系统 Parallels 16 无法挂U盘问题解决