在Ubuntu 18.04上编译R 3.6.1时出错

时间:2019-08-12 09:58:51

标签: r ubuntu

我通常会编译自己的R版本,因为我将其连接到openmpi,blas和其他一些东西。此configure语句似乎工作正常

./configure --enable-R-shlib --with-blas=-lopenblas --enable-memory-profiling

但是当我尝试让我得到这个错误

gcc -Wl,--export-dynamic -fopenmp  -L"../../lib" -L/usr/local/lib -o R.bin Rmain.o  -lR 
../../lib/libR.so: undefined reference to `ucol_strcollIter_58'
../../lib/libR.so: undefined reference to `u_getVersion_58'

哪些其他线程似乎与libicu-dev软件包相关?它似乎正在寻找版本58,但我检查了当前安装的ubuntu版本libicu-dev(60.2-3ubuntu3)。这可能与最近安装的anaconda有关?

Reading package lists... Done
Building dependency tree       
Reading state information... Done
libicu-dev is already the newest version (60.2-3ubuntu3).
libicu-dev set to manually installed.

任何建议如何使R相对于较新安装的libicu-dev版本进行构建?

1 个答案:

答案 0 :(得分:0)

我使用此命令“ ./configure --prefix = / path / to / location LDFLAGS =“-L / usr / local / lib”成功安装了R。其中/ usr / local / lib是安装的目录icu( wget https://github.com/unicode-org/icu/archive/release-58-3.tar.gz)。我认为那是anaconda / lib也包含libicuio.so。*文件的问题。指定某些LDFLAGS后,它可以工作