Dear all,
I?m using compiled code (written in C) in combination with the deSolve package to run a one-dimensional reactive transport model in R. On a server I use running on Linux this works flawlessly, but on a MacBook Pro (macOS 10.12.4) I have problems loading the compiled code into R (version 3.3.3).
The output I get when compiling the code in R using
system("R CMD SHLIB Model.c?)
is:
clang -I/Library/Frameworks/R.framework/Resources/include -DNDEBUG -I/usr/local/include -I/usr/local/include/freetype2 -I/opt/X11/include -fPIC -Wall -mtune=core2 -g -O2 -c Model.c -o Model.o
clang -dynamiclib -Wl,-headerpad_max_install_names -undefined dynamic_lookup -single_module -multiply_defined suppress -L/Library/Frameworks/R.framework/Resources/lib -L/usr/local/lib -o Model.so Model.o -F/Library/Frameworks/R.framework/.. -framework R -Wl,-framework -Wl,CoreFoundation
However, when I try to load the resulting shared object via
dyn.load(paste("Model", .Platform$dynlib.ext, sep = ""))
I get:
Error in dyn.load(paste("Model", .Platform$dynlib.ext, sep = "")) :
unable to load shared object '/Users/mathilde/Model.so':
dlopen(/Users/mathilde/Model.so, 6): Symbol not found: _dH_dt
Referenced from: /Users/mathilde/Model.so
Expected in: flat namespace
in /Users/mathilde/Model.so
The shared object created after compiling seems to look fine. Also, I tried compiling directly from the Terminal, but that doesn?t make a difference. Strangely, when I ran this model on a Mac in the past (~1 year ago) it also worked without problems, leaving me wondering whether it may be due to an R / macOS update. However, switching to an older R version (2.15.2) didn?t solve the issue either. Has anyone experienced similar behaviour and/or knows of a possible solution?
Best wishes,
Mathilde