在Solaris上解决未声明的-llapack依赖性问题

时间:2016-11-23 13:01:46

标签: r solaris rcpp cran

我在R上发布了一个CRAN包,这取决于一些RcppArmadillo代码的成功编译。该软件包构建正确,并且在我尝试的所有测试系统上都没有注释(CRAN comments here if interested),但是,solaris-sparc上的CRAN检查失败,无法加载solaris-x86的依赖项。

See here for CRAN checks

错误的原因是ld: fatal: library -llapack: not found(来自goldi-00install.html)。

在我的MakevarsMakevars.win中,我在-llapack中说过PKG_LIBS,我认为这已经足够了。

PKG_LIBS= -Wsign-compare -llapack

但是,我不确定如何为Solaris声明此依赖项。我必须写一个单独的Makevars,还是有一个不同的位置,我必须说明依赖?

我已阅读"写R扩展"的relevant section手动,并怀疑我可能必须在$(LLAPACK_LIBS)中声明PKG_LIBS,但无法在solaris平台上进行测试。这是正确的路径吗?

感谢您的帮助,非常感谢。

Package on Github

Package on CRAN

1 个答案:

答案 0 :(得分:2)

src/Makevars中的行是错的。不要做你做的事情:

PKG_LIBS= -Wsign-compare -llapack

做我们所做的一切,示例包有什么以及auto-generated package gets

PKG_LIBS = $(LAPACK_LIBS) $(BLAS_LIBS) $(FLIBS)

当我们说它只是有效时,请相信我们。我冒昧地说,在CRAN的221套(291 !!)套餐中,基本上所有人都使用它。

任何不和你一样的人,只是做错了。上面的发送给R知道LAPACK及其依赖项的内容。使用它。