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

Simon Urbanek simon.urbanek at r-project.org
Mon Dec 3 21:15:11 CET 2012


On Dec 3, 2012, at 2:58 PM, Dan Tenenbaum <dtenenba at fhcrc.org> wrote:

> On Mon, Dec 3, 2012 at 11:55 AM, Davor Cubranic <cubranic at stat.ubc.ca> wrote:
>> Is rTandem built with the same version of Rcpp that is now installed (0.10.1)? The API changed a fair bit over the past few weeks.
> 
> 
> Yes, in fact I just built Rcpp from source immediately before building
> rTANDEM. I get the same results after installing the Rcpp binary from
> CRAN. In both cases, I build and then attempt to load rTANDEM with the
> exact same version of Rcpp.
> 

CRAN version of Rcpp has both x86_64 and i386 libraries - unlike yours. May I suggest someone with the necessary knowledge respond to my initial e-mail before someone gets killed running of the wrong cliff? ;)

Cheers,
Simon



> Dan
> 
> 
>> 
>> Davor
>> 
>> On 2012-12-03, at 11:52 AM, Dan Tenenbaum wrote:
>> 
>>> 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
>> 
> 
> _______________________________________________
> 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