我在R
上发布了一个CRAN
包,这取决于一些RcppArmadillo
代码的成功编译。该软件包构建正确,并且在我尝试的所有测试系统上都没有注释(CRAN comments here if interested),但是,solaris-sparc
上的CRAN检查失败,无法加载solaris-x86
的依赖项。
错误的原因是ld: fatal: library -llapack: not found
(来自goldi-00install.html)。
在我的Makevars
和Makevars.win
中,我在-llapack
中说过PKG_LIBS
,我认为这已经足够了。
PKG_LIBS= -Wsign-compare -llapack
。
但是,我不确定如何为Solaris声明此依赖项。我必须写一个单独的Makevars
,还是有一个不同的位置,我必须说明依赖?
我已阅读"写R扩展"的relevant section手动,并怀疑我可能必须在$(LLAPACK_LIBS)
中声明PKG_LIBS
,但无法在solaris平台上进行测试。这是正确的路径吗?
感谢您的帮助,非常感谢。
答案 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及其依赖项的内容。使用它。