[R-pkg-devel] Package submission rejected as it fails checks on Debian
Dirk Eddelbuettel
edd @end|ng |rom deb|@n@org
Mon Feb 20 21:06:05 CET 2023
On 20 February 2023 at 21:41, Vasileios Nikolaidis wrote:
| Oh yes thank you. I just realized I did not mention the repo on my
| previous reply. It is
| https://github.com/VNNikolaidis/nnlib2Rcpp
Thanks for that -- I can confirm the error.
The packages compiles all source files without issue or warnings (under my
default flags), links and then fails to load with the error you reported:
** testing if installed package can be loaded from temporary location
Error: package or namespace load failed for ‘nnlib2Rcpp’ in dyn.load(file, DLLpath = DLLpath, ...):
unable to load shared object '/tmp/rcpp/lib/00LOCK-nnlib2Rcpp/00new/nnlib2Rcpp/libs/nnlib2Rcpp.so':
/tmp/rcpp/lib/00LOCK-nnlib2Rcpp/00new/nnlib2Rcpp/libs/nnlib2Rcpp.so: undefined symbol: _ZTIN6nnlib25layerE
Error: loading failed
Execution halted
ERROR: loading failed
Now, `c++filt` on that symbol reveals
$ c++filt _ZTIN6nnlib25layerE
typeinfo for nnlib2::layer
$
and a glance at your header nnlib2::layer reveals that the class is virtual.
I don't have time right to do more digging but if I had to guess you may have
a slip up somewhere in your classes: something that worked beforehand with
your virtual (abstract) classes and derived (concrete) classes now seems to
want an concrete instance of 'layer'. And if I had to guess some more the
reason this works in Windows is that the linker there is more lenient.
Maybe you can try an earlier version of nnlib2Rcpp and then bisect the
changes. rhub gives you (fairly) easy access to Linux machines for builds
outside of your main Windows machine.
Sorry I cannot be of more help right now.
Dirk
--
dirk.eddelbuettel.com | @eddelbuettel | edd using debian.org
More information about the R-package-devel
mailing list