由于gcc链接库文件名中的拼写错误,Rstudio无法安装devtools lib。链接文件名保存在哪里?

时间:2017-10-12 16:14:39

标签: r gcc rstudio rstudio-server

在Ubuntu 16上的Rstudio服务器中,由于包构建失败,devtools包无法安装。这具有广泛的影响,并且是一个令人头疼的问题,因为大量的其他软件包需要devtools,而且,这个特殊的拼写错误的库也需要通过许多其他数字软件包进行编译。

我们可以看到问题是gcc以某种方式将文件名传递给链接,其中包含一个简单的拼写错误。包含拼写错误的配置文件在哪里,所以我可以手动更正文件的拼写?你在下面看到了吗? (这是安装devtools软件包时Rstudio中输出的摘录,它自动运行gcc程序。)GCC正在尝试链接到Gnu Scientific Library基本线性代数子系统:

gcc -std=gnu99 -shared -L/usr/lib/R/lib -L/usr/lib/x86_64-linux-gnu -lgsl -lglscblas -o mime.so rawmatch.o -L/usr/lib/x86_64-linux-gnu -L/usr/lib/R/lib -lR
/usr/bin/ld: cannot find -lglscblas

当然文件名应该说gsclblas(对于GNU科学库)而不是glscblas - RStudio明显地将字母L置于错误的位置。没有像glscblas这样的文件。*

就像我说的那样,包含拼写错误的配置文件在哪里,所以我可以手动纠正拼写?我没有输入拼写错误:它来自rstudio或其他一些软件安装。

非常感谢你提供一些有关它的好消息,如果你有的话。到目前为止,这已经超出了我查找文件的能力,尽管用grep搜索很多方法,挖掘Rstudio GUI,并搜索https://support.rstudio.com/hc/en-us/articles/205612627-Debugging-with-RStudio等网址

2 个答案:

答案 0 :(得分:1)

这几乎总是取自您尝试构建的程序包的src/Makevars文件。与RStudio一样,devtools软件包几乎没有任何关系。您可能会通过R CMD INSTALL package_1.2-3.tar.gz得到相同的错误。

现在,GitHub允许我们搜索所有CRAN包的代码(因为它们在那里镜像)但我无法找到这个字符串。

您是否可以与分享这是为了让我们更接近最小的可重现的示例?

答案 1 :(得分:0)

解决方案是编辑文件〜/ .R / Makevars

这真的很难。找到它的位置。下一步...

我只是完全删除了包含拼写错误文件名的有问题的参数。原因是没关系,因为BLAS库可以加速矩阵数学运算,但通常是可选的而不是强制性的。无论如何,我也比GNU更快。

感谢所有想要保持主题的人,而不是在这里得到太多的忠诚!