当我尝试在Rstudio上安装软件包时,我一直遇到这样的ld警告:
ld:警告:基于文本的存根文件/System/Library/Frameworks//CoreFoundation.framework/CoreFoundation.tbd和库文件/System/Library/Frameworks//CoreFoundation.framework/CoreFoundation不同步。回退到库文件进行链接。
有人知道如何解决此问题吗?
答案 0 :(得分: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/
答案 1 :(得分:2)
首先,您可以放心地忽略这些消息。这是在安装Mojave(macOS 10.14)或macOS 10.13.6+更新之后的已知情况。
您可以尝试,通过让操作系统重新生成兼容性文件来删除它们(Apple使用不同的库格式进行macOS应用程序开发,但具有“正常”开发的兼容性层)。为此,请在快速Internet连接上保留8分钟,打开命令行提示符(Terminal / iTerm),然后执行以下操作:
sudo mv /Library/Developer/CommandLineTools /Library/Developer/CommandLineTools.old
然后做:
xcode-select --install
并按照说明进行操作,然后等待。
重试您的软件包/源代码汇编,如果消息消失了,您应该可以安全地这样做:
sudo rm -rf /Library/Developer/CommandLineTools.old
但是将目录树留在那里不会有任何危害(前提是您有剩余的可用空间)。