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

Dan Tenenbaum dtenenba at fredhutch.org
Wed May 25 20:13:54 CEST 2016



----- 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