Я пытаюсь отправить пакет в CRAN, который не прошел тестирование
процесс в Debian.
Я использую некоторый код C ++, который взаимодействует с оптимизацией nlopt
библиотека с Rcpp / RcppArmadillo (используя <nlopt.hpp>
). Таким образом, моему пакету требуется системная версия nlopt, которую можно установить через пакет deb libnlopt-dev (я добавил это в поле SystemRequirements).
Я использую скрипт configure и pkg-config для получения (надеюсь)
соответствующие флаги компилятора, которые я затем отправляю в src / Makevars
NLOPT_LIBS=`pkg-config --libs ${PKG_CONFIG_NAME}`
NLOPT_FLAG=`pkg-config --cflags ${PKG_CONFIG_NAME}`
Этот подход работает на моей системе (Ubuntu 18.04, R 3.5.2) и на Travis
(Linux и Mac OS), но не работает на сервере Debian CRAN:
https://win -builder.r-project.org / incoming_pretest / PLNmodels_0.7_20190119_161032 / Debian / 00install.out
Я добавил некоторые подробности, чтобы проверить правильность экспорта флагов
на серверах CRAN, и они мне кажутся нормальными: по крайней мере, версия
В системе обнаружен nlopt (см. ниже, NLOPT_LIBS=-lnlopt -lm
).
Однако <nlopt.hpp>
не найден последним на ...
Любая помощь будет принята с благодарностью. Спасибо, что нашли время, чтобы прочитать это.
* installing *source* package ‘PLNmodels’ ...
Using NLOPT_LIBS=-lnlopt -lm
Using NLOPT_FLAG=
** libs
g++-8 -std=gnu++11 -I"/home/hornik/tmp/R/include" -DNDEBUG -fopenmp
-I"/home/hornik/lib/R/Library/3.6/x86_64-linux-gnu/Rcpp/include"
-I"/home/hornik/lib/R/Library/3.6/x86_64-linux-gnu/RcppArmadillo/include"
-I/usr/local/include -fopenmp -fpic -g -O2 -Wall -pedantic
-mtune=native -c RcppExports.cpp -o RcppExports.o
g++-8 -std=gnu++11 -I"/home/hornik/tmp/R/include" -DNDEBUG -fopenmp
-I"/home/hornik/lib/R/Library/3.6/x86_64-linux-gnu/Rcpp/include"
-I"/home/hornik/lib/R/Library/3.6/x86_64-linux-gnu/RcppArmadillo/include"
-I/usr/local/include -fopenmp -fpic -g -O2 -Wall -pedantic
-mtune=native -c call_nlopt_PLN_VE.cpp -o call_nlopt_PLN_VE.o
In file included from call_nlopt_PLN_VE.cpp:6:
utils.h:5:10: fatal error: nlopt.hpp: No such file or directory
#include <nlopt.hpp>
^~~~~~~~~~~
compilation terminated.
make: *** [/home/hornik/tmp/R/etc/Makeconf:173: call_nlopt_PLN_VE.o] Error 1
ERROR: compilation failed for package ‘PLNmodels’
* removing ‘/srv/hornik/tmp/CRAN/PLNmodels.Rcheck/PLNmodels’