[Bioc-devel] problems linking to Rhtslib on Mac OSX

Dan Tenenbaum dtenenba at fredhutch.org
Tue May 24 19:42:52 CEST 2016



----- Original Message -----
> From: "Dan Tenenbaum" <dtenenba at fredhutch.org>
> To: "Aaron Lun" <alun at wehi.EDU.AU>
> Cc: "bioc-devel" <bioc-devel at r-project.org>
> Sent: Tuesday, May 24, 2016 9:38:01 AM
> Subject: Re: [Bioc-devel] problems linking to Rhtslib on Mac OSX

> ----- Original Message -----
>> From: "Dan Tenenbaum" <dtenenba at fredhutch.org>
>> To: "Aaron Lun" <alun at wehi.EDU.AU>
>> Cc: "bioc-devel" <bioc-devel at r-project.org>
>> Sent: Tuesday, May 24, 2016 8:51:30 AM
>> Subject: Re: [Bioc-devel] problems linking to Rhtslib on Mac OSX
> 
>> ----- Original Message -----
>>> From: "Aaron Lun" <alun at wehi.EDU.AU>
>>> To: "bioc-devel" <bioc-devel at r-project.org>
>>> Sent: Tuesday, May 24, 2016 8:06:13 AM
>>> Subject: Re: [Bioc-devel] problems linking to Rhtslib on Mac OSX
>> 
>>> Dear Martin and List,
>>> 
>>> I have a problem with linking to Rhtslib on Mac OSX when my R installation
>>> directory differs from the package installation directory. Trying to load csaw
>>> (Bioc release version) gives me:
>>> 
>>>> require(csaw)
>>> # ... whole lot of dependencies...
>>> Loading required package: csaw
>>> Error in dyn.load(file, DLLpath = DLLpath, ...) :
>>>  unable to load shared object
>>>  '/Users/lun01/Library/R/3.3/library/csaw/libs/csaw.so':
>>>  dlopen(/Users/lun01/Library/R/3.3/library/csaw/libs/csaw.so, 6): Library not
>>>  loaded:
>>>  /Library/Frameworks/R.framework/Versions/3.3/Resources/library/Rhtslib/lib/libhts.0.dylib
>>>  Referenced from: /Users/lun01/Library/R/3.3/library/csaw/libs/csaw.so
>>>  Reason: image not found
>>> 
>>> ... which is because my Rhtslib shared library is sitting instead at
>>> /Users/lun01/Library/R/3.3/library/Rhtslib/lib/libhts.0.dylib (along with all
>>> my other non-recommended, non-base packages). I presume this linking failure
>>> occurs because the Makevars file (which would normally indicate where the
>>> shared library is living) doesn't get run when installing a prebuilt binary?
>>> The same issue occurs with deepSNV, which is the other package that links to
>>> Rhtslib.
>> 
>> 
>> I can't reproduce this issue after installing the binaries of csaw and Rhtslib.
>> I believe that htslib is statically linked inside of Rhtslib so you don't need
>> your own installation of htslib on your machine in order to use it.If you look
>> at the Mac tarball
>> (https://bioconductor.org/packages/release/bioc/bin/macosx/mavericks/contrib/3.3/Rhtslib_1.4.2.tgz)
>> untar it and go to the Rhtslib/lib directory you see the following files:
>> 
>> libhts.0.dylib
>> libhts.a
>> libhts.dylib
>> 
>> ...in addition to Rhtslib.so which is in Rhtslib/libs.
>> 
> 
> Actually I can induce issues if I install Rhtslib in a different library
> directory, which is what you were saying. Will look into this a little.


The following seems to fix it:

cd ~/Library/R/3.3/csaw/libs
# change dtenenba to your username in the below
sudo install_name_tool -change "/Library/Frameworks/R.framework/Versions/3.3/Resources/library/Rhtslib/lib/libhts.0.dylib" "/Users/dtenenba/Library/R/3.3/Rhtslib/lib/libhts.0.dylib" csaw.so

(the sudo may not be necessary)

Then I can 
require(csaw) 

and it works.

I'm not sure if there is something that the bioc group should be doing about this....we'll discuss it when we meet soon.

Dan



> Dan
> 

> 
>> Dan
>> 
>> 
>> 
>>> 
>>> Any thoughts? I don't usually use Macs, so I don't know exactly what goes on
>>> during package installation, or whether my setup (i.e., with different
>>> package/R locations) is atypical or not.
>>> 
>>> Aaron
>>> 
>>>> sessionInfo()
>>> R version 3.3.0 (2016-05-03)
>>> Platform: x86_64-apple-darwin13.4.0 (64-bit)
>>> Running under: OS X 10.10.5 (Yosemite)
>>> 
>>> locale:
>>> [1] en_GB.UTF-8/en_GB.UTF-8/en_GB.UTF-8/C/en_GB.UTF-8/en_GB.UTF-8
>>> 
>>> attached base packages:
>>> [1] stats4    parallel  stats     graphics  grDevices utils     datasets
>>> [8] methods   base
>>> 
>>> other attached packages:
>>> [1] SummarizedExperiment_1.2.2 Biobase_2.32.0
>>> [3] GenomicRanges_1.24.0       GenomeInfoDb_1.8.1
>>> [5] IRanges_2.6.0              S4Vectors_0.10.1
>>> [7] BiocGenerics_0.18.0        BiocInstaller_1.22.2
>>> 
>>> loaded via a namespace (and not attached):
>>> [1] AnnotationDbi_1.34.3    XVector_0.12.0          edgeR_3.14.0
>>> [4] GenomicAlignments_1.8.0 zlibbioc_1.18.0         BiocParallel_1.6.2
>>> [7] tools_3.3.0             DBI_0.4-1               Rhtslib_1.4.2
>>> [10] rtracklayer_1.32.0      bitops_1.0-6            RCurl_1.95-4.8
>>> [13] biomaRt_2.28.0          RSQLite_1.0.0           limma_3.28.5
>>> [16] GenomicFeatures_1.24.2  Biostrings_2.40.1       Rsamtools_1.24.0
>>> [19] XML_3.98-1.4
>>> ______________________________________________________________________
>>> 
>>> The information in this email is confidential and inte...{{dropped:6}}
>> 
>> _______________________________________________
>> Bioc-devel at r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/bioc-devel
> 
> _______________________________________________
> Bioc-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/bioc-devel



More information about the Bioc-devel mailing list