安装R语言utf8包(v1.1.3)时遇加载失败错误求助
解决macOS Sierra 10.12.6下R 3.4.3安装utf8 1.1.3加载失败的问题
你遇到的是编译后的共享对象依赖符号缺失的问题,这类问题在老版本R与旧版macOS的组合中很常见,下面是针对性的分步解决方案:
步骤1:彻底清理残留的损坏包文件
首先确保系统里没有残留的损坏utf8包:
- 打开R控制台,运行:
remove.packages("utf8") - 如果R提示包不存在,直接跳过;接着打开Finder,按下
Cmd+Shift+G,输入路径/Library/Frameworks/R.framework/Versions/3.4/Resources/library/,找到utf8文件夹并删除(如果还存在的话)。
步骤2:确认编译工具链正常
macOS Sierra下编译R包需要适配的Xcode命令行工具:
- 打开终端,运行:
xcode-select --install - 按照弹出提示完成安装,如果已经安装过,确保工具版本适配10.12.6(不要安装太新的Xcode,新版本不再支持老系统)。
步骤3:带指定参数重新安装utf8包
问题大概率出在多架构编译的兼容性上,我们强制只编译64位版本:
- 打开R控制台,运行:
install.packages("utf8", version = "1.1.3", type = "source", INSTALL_opts = "--no-multiarch") - 如果还是失败,可先在终端设置兼容的编译器环境变量(需先通过Homebrew安装gcc-6,Sierra支持Homebrew旧版本):
设置完成后再打开R运行上面的安装命令。export CC=gcc-6 export CXX=g++-6
错误原因说明
错误中的_utf8lite_graph_measure是utf8包内部的函数符号,加载时找不到说明编译生成的utf8.so文件未正确链接依赖,或是多架构编译(同时生成32/64位代码)导致与你的64位macOS Sierra环境不兼容,--no-multiarch参数可以规避这个问题。
内容的提问来源于stack exchange,提问作者amarchin
相关产品推荐
相关产品推荐

