【发布时间】:2021-12-13 16:43:21
【问题描述】:
我正在尝试使用他们提供的 SConstruct 文件在带有 Scons 的 Mac 上安装 Openloops。在安装过程中,我收到以下错误:
ld: unknown option: -rpath=$ORIGIN
collect2: error: ld returned 1 exit status
scons: *** [lib/librambo.dylib] Error 1
scons: building terminated because of errors.
我已经知道如何解决该错误,因为在 Mac OS 中,您必须将 rpath 后面的等号替换为逗号。但是,这个命令不是由我执行的,而是由 Scons 脚本执行的。有谁知道我是否可以告诉 scons 解析逗号而不是等号?或者,我可以告诉 bash 或 zsh 以某种方式使用 -rpath, 别名 -rpath= 吗?
【问题讨论】:
-
我们可能希望对此进行更多探索,因为通常 scons 会检测并执行特定于平台的代码来避免这种事情。然而,有时项目的构建系统会被构建(无意)以解决这个问题。
-
这个问题可能源于在 macOS 上运行 gcc 实际上运行 clang.. "% gcc --version 配置为:--prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/4.2.1 Apple clang 版本 13.0.0 (clang-1300.0.29.3) 目标:x86_64-apple-darwin20.6.0 线程模型:posix InstalledDir:/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin"
-
不要把答案放在问题中。而是将其放在答案中。
-
我确实在通过自制软件安装的 gcc 中使用 gfortran 安装,而不是 clang。