当我尝试在 Rstudio 上安装软件包时,我一直遇到这样的 ld 警告:
ld:警告:基于文本的存根文件 /System/Library/Frameworks//CoreFoundation.framework/CoreFoundation.tbd 和库文件 /System/Library/Frameworks//CoreFoundation.framework/CoreFoundation 不同步。回退到库文件进行链接。
有人知道如何解决这个问题吗?
当我尝试在 Rstudio 上安装软件包时,我一直遇到这样的 ld 警告:
ld:警告:基于文本的存根文件 /System/Library/Frameworks//CoreFoundation.framework/CoreFoundation.tbd 和库文件 /System/Library/Frameworks//CoreFoundation.framework/CoreFoundation 不同步。回退到库文件进行链接。
有人知道如何解决这个问题吗?
重新安装 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/
首先,您可以放心地忽略这些消息。这是安装 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
但是将目录树留在那里应该不会造成任何伤害(前提是您有空闲空间)。