2016-11-23 9 views
0

Я выпустил пакет R на CRAN, который зависит от успешной компиляции кода RcppArmadillo. Пакет построен правильно и без заметок на всех тестовых системах, которые я пробовал (CRAN comments here if interested), однако проверка CRAN завершается с ошибкой на solaris-sparc и не может загрузить зависимость от solaris-x86.Устранение неустановленной проблемы с зависимостью на Solaris

See here for CRAN checks.

Причиной ошибки является ld: fatal: library -llapack: not found (от goldi-00install.html).

В моих Makevars и Makevars.win, я указал -llapack в PKG_LIBS, который, как я думал, был достаточным.

PKG_LIBS= -Wsign-compare -llapack в обоих.

Однако я не уверен, как объявить эту зависимость для Solaris. Есть ли отдельный Makevars, который я должен написать, или есть другое местоположение, в котором я должен указать зависимость?

Я прочитал relevant section в руководстве «Запись R Extensions», и подозреваю, что я, возможно, придется объявить $(LLAPACK_LIBS) в PKG_LIBS, но не имеют возможности тестирования на платформе соляриса. Это правильный путь?

Спасибо за любую помощь, это очень ценится.


Package on Github

Package on CRAN

ответ

2

Ваша линия src/Makevars просто неправильно. Не делать то, что вы сделали:

PKG_LIBS= -Wsign-compare -llapack 

делать то, что все мы делаем, что пример пакета имеет и что auto-generated package gets:

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

Поверьте нам, когда мы говорим, что он просто работает , Я осмелюсь предположить, что среди двухсот девяностых (291 !!) пакетов на CRAN, по сути, все это используют.

И любой, кто не любит, как и ваш, просто делает это неправильно. Вышеуказанный отправляет информацию о том, что R знает о LAPACK и его зависимостях. Используй это.

+0

Спасибо Дирк, я надеялся, что смогу поймать тебя лично. Это мое первое путешествие в «Rcpp», и я рад, что меня устроили прямо. Я изменю это и повторно отправлю в CRAN. Всего наилучшего. –

+0

Отлично, и поздравляю вас за то, что вы попали в CRAN. –

+1

Спасибо, я был очень взволнован. У кучи моих друзей были скриншоты индексной страницы примерно через пять минут после того, как она была выставлена. Еще раз спасибо, надеюсь, у вас хороший день. –