[R-pkg-devel] Error in inDL(x, as.logical(local), as.logical(now), ...) unable to load shared object

Ezra Tucker ezr@ @end|ng |rom |@ndtucker@com
Tue Dec 21 17:40:20 CET 2021


Hi R package developers,


I'm developing an R package that wraps NREL's SSC library
(https://sam.nrel.gov/), which involves including one header file and
linking to one dll. Thus far it is only tested in linux (works just fine
there) but I am having trouble building/installing on Windows.


The package name is "ssc", after it is all done compiling it says:


 > * DONE (ssc)
 > Error in inDL(x, as.logical(local), as.logical(now), ...) :
 >   unable to load shared object
'C:/Users/EZRATU~1/AppData/Local/Temp/RtmpSaKZH0/pkgload13b41ff33604/ssc.dll':
 >   LoadLibrary failure:  The specified procedure could not be found.
 > Calls: suppressPackageStartupMessages ... <Anonymous> -> load_dll ->
library.dynam2 -> dyn.load -> inDL
 > Execution halted
 >
 > Exited with status 1.


My Makevars.win file, if useful, looks like:

PKG_CPPFLAGS=-I. -I"$C:/SAM/2021.12.02/runtime"
PKG_LIBS=-Wl,-rpath,$C:/SAM/2021.12.02/x64 -L"$C:/SAM/2021.12.02/x64" -lssc

the second includes is to pick up sscapi.h which is a necessary header
file for using this library,

The package relies heavily on Rcpp; My full sessionInfo() is:

R version 4.1.2 (2021-11-01)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 x64 (build 19044)

Matrix products: default

locale:
[1] LC_COLLATE=English_United States.1252 LC_CTYPE=English_United
States.1252
[3] LC_MONETARY=English_United States.1252 LC_NUMERIC=C
[5] LC_TIME=English_United States.1252

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods base

loaded via a namespace (and not attached):
  [1] Rcpp_1.0.7        rstudioapi_0.13   magrittr_2.0.1 usethis_2.1.5
  [5] devtools_2.4.3    pkgload_1.2.4     R6_2.5.1 rlang_0.4.12
  [9] fastmap_1.1.0     fansi_0.5.0       tools_4.1.2 pkgbuild_1.3.0
[13] sessioninfo_1.2.2 utf8_1.2.2        cli_3.1.0 withr_2.4.3
[17] ellipsis_0.3.2    remotes_2.4.2     rprojroot_2.0.2 tibble_3.1.6
[21] lifecycle_1.0.1   crayon_1.4.2      processx_3.5.2 purrr_0.3.4
[25] callr_3.7.0       vctrs_0.3.8       fs_1.5.2 ps_1.6.0
[29] testthat_3.1.1    memoise_2.0.1     glue_1.6.0 cachem_1.0.6
[33] pillar_1.6.4      compiler_4.1.2    desc_1.4.0 prettyunits_1.1.1
[37] pkgconfig_2.0.3

and I have rtools40 installed in C:\rtools40. --no-multiarch is

I read on the internet in various places that this could have something
to do with 64 vs 32-bit architecture, but everything looks like it's
targeting a 64-bit architecture and the DLL I'm linking to is 64-bit.


Any ideas? Thanks so much!

-Ezra



More information about the R-package-devel mailing list