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

Aaron Lun alun at wehi.edu.au
Wed May 25 22:41:46 CEST 2016


Thanks Dan, much appreciated.

On 25/05/16 19:13, Dan Tenenbaum wrote:
>
>
> ----- Original Message -----
>> From: "Aaron Lun" <alun at wehi.edu.au>
>> To: "Dan Tenenbaum" <dtenenba at fredhutch.org>
>> Cc: "bioc-devel" <bioc-devel at r-project.org>
>> Sent: Tuesday, May 24, 2016 11:04:59 AM
>> Subject: Re: [Bioc-devel] problems linking to Rhtslib on Mac OSX
>
>> 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.
>>
>
> Martin just provided a fix that worked in my testing--Rhtslib now links statically against htslib.
> I have committed the fix and bumped the version of all packages that depend directly on Rhtslib, in release and devel.
>
> Thanks,
> Dan
>
>
>
>> 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