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

Aaron Lun alun at wehi.edu.au
Tue May 24 20:04:59 CEST 2016


Yep, works on my machine as well. Seems like it would be a pain to have 
to do it manually every time csaw (or deepSNV, or diffHic) gets 
re-installed, though.

I should stress that I didn't do anything special to my R installation 
to get it to install packages in a different place. As far as I know, 
that's just what R decided to do by itself. (I never run R with sudo 
permissions, so it wouldn't be able to put packages in the central R 
installation folder anyway.)

So I think it's worth seriously thinking about whether this scenario 
should be supported; a user (i.e., me) would reasonably expect that BioC 
packages would work off the bat on this "standard" setting. Perhaps the 
csaw.so library can be built with static linkage to the libhts.a?

Or maybe I'm just spouting rubbish here. I don't know, I never do any 
serious work on a Mac.

Cheers,

Aaron


On 24/05/16 18:42, Dan Tenenbaum wrote:
>
>
> ----- 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