3

当我尝试在 Rstudio 上安装软件包时,我一直遇到这样的 ld 警告:

ld:警告:基于文本的存根文件 /System/Library/Frameworks//CoreFoundation.framework/CoreFoundation.tbd 和库文件 /System/Library/Frameworks//CoreFoundation.framework/CoreFoundation 不同步。回退到库文件进行链接。

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

4

2 回答 2

8

重新安装 CommandLineTools 对我不起作用。

这些警告是由/System/Library/Frameworks/.

解决方案

将最近的框架从 MacOSX.sdk 链接到 /Library/Frameworks/.

sudo ln -s  /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreFoundation.framework /Library/Frameworks/
sudo ln -s  /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Security.framework /Library/Frameworks/
于 2018-11-02T02:11:13.830 回答
2

首先,您可以放心地忽略这些消息。这是安装 Mojave (macOS 10.14) 或 macOS 10.13.6+ 更新后的已知情况。

您可以尝试通过让操作系统重新生成兼容性文件来删除它们(Apple 使用不同的库格式进行 macOS 应用程序开发,但具有用于“正常”开发的兼容性层)。为此,请在快速互联网连接上留出大约 8 分钟,打开命令行提示符(终端/iTerm)并执行以下操作:

sudo mv /Library/Developer/CommandLineTools /Library/Developer/CommandLineTools.old

然后做:

xcode-select --install

并按照说明等待。

重新尝试您的包/源代码编译,如果消息消失,您应该能够安全地执行以下操作:

sudo rm -rf /Library/Developer/CommandLineTools.old

但是将目录树留在那里应该不会造成任何伤害(前提是您有空闲空间)。

于 2018-10-14T16:09:08.013 回答