On 1 December 2016 at 17:15, Aarti Singh wrote: | Hello, | | I am new to R package development. I am working on a package that has in | its src folder one (prime) cpp file and some helper cpp (X.Cpp, Y.Cpp) and | one c file (Z.C) and their header files (X.h, Y.h and Z.h) | | I am getting the following error when I do 'Build & Reload' in Rstudio. | | " | Error in dyn.load(dllfile) : | unable to load shared object '/Users/abcd/BART/bart_pkg1/src/bartpkg.so': | dlopen(/Users/abcd/BART/bart_pkg1/src/bartpkg.so, 6): Symbol not found: | __ZN3RNG4nfixElm | Referenced from: /Users/abcd/BART/bart_pkg1/src/bartpkg.so | Expected in: flat namespace | in /Users/abcd/BART/bart_pkg1/src/bartpkg.so | Calls: suppressPackageStartupMessages ... <Anonymous> -> load_all -> | load_dll -> library.dynam2 -> dyn.load | Execution halted | | Exited with status 1. | | " | | I have followed the basic guidelines to build the package. | | The .R file has directive #' @useDynLib bartpkg in the right place. | | Also, the prime cpp file has the following tags in the right place. | 1. #include <Rcpp.h> | using namespace Rcpp; | 2. //' @param x A single integer. | //' @export | // [[Rcpp::export]] | | | And my NAMESPACE file shows 'useDynLib(bartpkg)' correctly. | | I am able to see the 'bartpkg.so' shared object file in the src directory. | | | I tried in the terminal this command "c++filt -n _ZN3RNG4nfixElm" and was | able to see that the symbol in the error ' Symbol not found: | __ZN3RNG4nfixElm' is coming from the .C file RNG.C and is because of a | function 'nfix'. | | But even if I remove the function 'nfix' or remove the RNG.C file | altogether, the same error ' Symbol not found: __ZN3RNG4nfixElm' comes. | | can it be a flag issue that my compiler is not able to compile the 'C' | file? | I am able to see that all the cpp files generate respective object files, | but I dont see anything like that for the C file. | | I am using RStudio is the session info is | > sessionInfo() | R version 3.3.1 (2016-06-21) | Platform: x86_64-apple-darwin13.4.0 (64-bit) | Running under: OS X 10.11.6 (El Capitan) | | locale: | [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8 | | attached base packages: | [1] stats graphics grDevices utils datasets methods base | | other attached packages: | [1] bartpkg_0.1.0 packrat_0.4.8-1 Rcpp_0.12.8 | msm_1.6.4 LaplacesDemon_16.0.1 | | loaded via a namespace (and not attached): | [1] roxygen2_5.0.1 lattice_0.20-34 mvtnorm_1.0-5 digest_0.6.10 | grid_3.3.1 magrittr_1.5 | [7] stringi_1.1.2 Matrix_1.2-7.1 splines_3.3.1 tools_3.3.1 | stringr_1.1.0 survival_2.39-5 | [13] parallel_3.3.1 rsconnect_0.5 inline_0.3.14 expm_0.999-0 | | I am stuck at this problem for weeks now. | Any help would be highly appreciated.
Please don't cross post, but I just gave you a hint at your identical StackOverflow question: http://stackoverflow.com/questions/40922814/error-in-dyn-loaddllfile-unable-to-load-shared-object-expected-in-flat-na#comment69060886_40922814 Dirk | Thank you. | | -Aarti | | [[alternative HTML version deleted]] | | ______________________________________________ | R-package-devel@r-project.org mailing list | https://stat.ethz.ch/mailman/listinfo/r-package-devel -- http://dirk.eddelbuettel.com | @eddelbuettel | e...@debian.org ______________________________________________ R-package-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-package-devel