[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:58:15 CET 2012


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.

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
>



More information about the R-SIG-Mac mailing list