[R-SIG-Mac] Problem loading a package libraries (Error in dyn.load) on mac environments

Dan Tenenbaum dtenenba at fhcrc.org
Mon Dec 3 20:52:09 CET 2012


On Mon, Dec 3, 2012 at 11:13 AM, Davor Cubranic <cubranic at stat.ubc.ca> wrote:
> Looks like you might not have the 64-bit version of the Rcpp dynamic library installed on the first machine. On the second, check if you have the 32-bit version of both XML and expat's dynamic libraries.


Thanks. I'm working with Frederic on this.
On the first machine, both the 32 and 64 bit versions are Rcpp are
installed (I can library(Rcpp) from both R --arch i386 and R --arch
x86_64), and the installed Rcpp has these files present:

pwd
/Library/Frameworks/R.framework/Versions/Current/Resources/library/Rcpp
PETTY:Rcpp biocbuild$ ls -lR libs
total 0
drwxr-xr-x  3 biocbuild  admin  102 Dec  3 11:40 i386
drwxr-xr-x  3 biocbuild  admin  102 Dec  3 11:40 x86_64

libs/i386:
total 1216
-rwxr-xr-x  1 biocbuild  admin  619064 Dec  3 11:40 Rcpp.so

libs/x86_64:
total 1280
-rwxr-xr-x  1 biocbuild  admin  651920 Dec  3 11:40 Rcpp.so
PETTY:Rcpp biocbuild$ ls -lR lib
total 0
drwxr-xr-x  4 biocbuild  admin  136 Dec  3 11:40 i386

lib/i386:
total 11336
-rw-r--r--  1 biocbuild  admin  5177484 Dec  3 11:40 libRcpp.a
-rwxr-xr-x  1 biocbuild  admin   619064 Dec  3 11:40 libRcpp.dylib

After building rTANDEM against this Rcpp, I then get the same error
Frederic reports in this thread when trying to library(rTANDEM) on the
x86_64 architecture. Here it is again with sessionInfo():

> library(rTANDEM)
Loading required package: XML
Loading required package: Rcpp
Loading required package: data.table
data.table 1.8.6  For help type: help("data.table")
Error in dyn.load(file, DLLpath = DLLpath, ...) :
  unable to load shared object
'/Library/Frameworks/R.framework/Versions/2.16/Resources/library/rTANDEM/libs/x86_64/rTANDEM.so':
  dlopen(/Library/Frameworks/R.framework/Versions/2.16/Resources/library/rTANDEM/libs/x86_64/rTANDEM.so,
6): Symbol not found: __ZTIN4Rcpp7RObjectE
  Referenced from:
/Library/Frameworks/R.framework/Versions/2.16/Resources/library/rTANDEM/libs/x86_64/rTANDEM.so
  Expected in: dynamic lookup

Error: package or namespace load failed for 'rTANDEM'
> sessionInfo()
R Under development (unstable) (2012-10-31 r61060)
Platform: x86_64-apple-darwin9.8.0/x86_64 (64-bit)

locale:
[1] C

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

other attached packages:
[1] data.table_1.8.6 Rcpp_0.10.1      XML_3.95-0.1
>

I'm not sure if Frederic wants the package source to be posted at this
point. I'll let him answer that.

Thanks,
Dan


>
> Davor
>
>
> On 2012-12-03, at 8:34 AM, Frederic Fournier wrote:
>
>> Hello everyone,
>>
>> I'm working on a small R package for proteomics analysis, and I am facing perplexing problems related to the 'dyn.load' function when loading the package on mac environments.
>> The package relies on two external libraries, expat and pthread, and on three cran packages: XML, Rcpp and data.table. I have no trouble building, checking or installing the package. But when I load the package on mac testing environments, I face various problems related to this error message: "Error in dyn.load(file, DLLpath=DLLpath, ...): ..."
>> On one machine, the package loads without problem on i386 R, but fails to load on x64 R; on another machine, things are reversed and the package loads on x64, but fails to load on i386.
>>
>> Here is the output from the machinge where the package loads on i386 but fails on x64 R:
>>
>>> library(rTANDEM)
>> Loading required package: XML
>> Loading required package: Rcpp
>> Loading required package: data.table
>> data.table 1.8.6  For help type: help("data.table")
>> Error in dyn.load(file, DLLpath = DLLpath, ...) :
>>  unable to load shared object
>> '/Library/Frameworks/R.framework/Versions/2.16new/Resources/library/rTANDEM/libs/
>> x86_64/rTANDEM.so':
>>  dlopen(/Library/Frameworks/R.framework/Versions/2.16new/Resources/library/rTANDEM
>> /libs/x86_64/rTANDEM.so, 6): Symbol not found: __ZTIN4Rcpp7RObjectE
>>  Referenced from:
>> /Library/Frameworks/R.framework/Versions/2.16new/Resources/library/rTANDEM/libs/x
>> 86_64/rTANDEM.so
>>  Expected in: dynamic lookup
>>
>> Error: package or namespace load failed for 'rTANDEM'
>>> sessionInfo()
>> R Under development (unstable) (2012-11-27 r61172)
>> Platform: x86_64-apple-darwin9.8.0/x86_64 (64-bit)
>>
>> 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] data.table_1.8.6    Rcpp_0.10.1         XML_3.9-4
>> [4] BiocInstaller_1.9.4
>>
>> loaded via a namespace (and not attached):
>> [1] tools_2.16.0
>>
>>
>> Here is the ouput from the machine where the package loads fine on x64 R but fails on i386:
>>
>>> library(rTANDEM)
>> Loading required package: XML
>> Loading required package: Rcpp
>> Loading required package: data.table
>> data.table 1.8.6  For help type: help("data.table")
>> Error in dyn.load(file, DLLpath = DLLpath, ...) :
>>  unable to load shared object
>> '/Library/Frameworks/R.framework/Versions/2.16new/Resources/library/rTANDEM/libs/
>> i386/rTANDEM.so':
>>  dlopen(/Library/Frameworks/R.framework/Versions/2.16new/Resources/library/rTANDEM
>> /libs/i386/rTANDEM.so, 6): Symbol not found: _XML_GetErrorCode
>>  Referenced from:
>> /Library/Frameworks/R.framework/Versions/2.16new/Resources/library/rTANDEM/libs/i
>> 386/rTANDEM.so
>>  Expected in: flat namespace
>> in
>> /Library/Frameworks/R.framework/Versions/2.16new/Resources/library/rTANDEM/libs/i
>> 386/rTANDEM.so
>> Error: package or namespace load failed for 'rTANDEM'
>>
>>
>> I am left clueless by this. As anyone faced a similar issue?
>>
>> Thank you very much for your help!
>>
>> Frederic
>>
>> _______________________________________________
>> R-SIG-Mac mailing list
>> R-SIG-Mac at r-project.org
>> https://stat.ethz.ch/mailman/listinfo/r-sig-mac
>
> _______________________________________________
> R-SIG-Mac mailing list
> R-SIG-Mac at r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-sig-mac



More information about the R-SIG-Mac mailing list