Dear all,

I’ve asked this question on the R-sig-dyn-mod mailing list before and was 
suggested to post it here as well, so apologies to those of you who’ve seen it 
before.
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, deSolve 1.14).

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? I have installed R via the package on one of the CRAN 
mirrors, and know therefore that it should be compiled using clang, the same 
compiler I use for compiling the C code. But I am still learning about the 
compiler flags, perhaps there is something that needs to be changed here?

Best wishes,
Mathilde

_______________________________________________
R-SIG-Mac mailing list
R-SIG-Mac@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-mac

Reply via email to