[Bioc-devel] Linking to Rsamtools does not work on latest R-devel

Nathaniel Hayden nhayden at fredhutch.org
Fri Mar 20 18:11:39 CET 2015



On 03/20/2015 06:39 AM, Ulrich Bodenhofer wrote:
> [list admins: please delete my previous incomplete message from the 
> list; sorry for any inconvenience]
>
> Hi,
>
> Next update (I am deeply sorry for sending so many replies, but I 
> think these might be interesting for users who face the same issues): 
> I did another clean install on Windows and used the following 
> Makevars.win (which I copied from VariantAnnotation):
>
>     SAMVARS=$(shell echo 'cat(system.file("usretc",
>     .Platform[["r_arch"]],\
>         "Rsamtools.mk", package="Rsamtools", mustWork=TRUE))' |\
>         "${R_HOME}/bin/R" --vanilla --slave)
>     include $(SAMVARS)
>
>     PKG_LIBS=$(SAMTOOLS_LIBS)
>     PKG_CPPFLAGS=$(SAMTOOLS_CPPFLAGS)
>
> Note that last two lines. I have no clue where the two variables 
> SAMTOOLS_LIBS and SAMTOOLS_CPPFLAGS should come from, but this works 
> on Windows, both for VariantAnnotation and my package. For Linux, the 
> change to Makevars that I posted earlier worked, but I still cannot 
> install VariantAnnotation 1.13.41 from source on Linux.
These two variables seemingly appear out of nowhere because on Windows 
we're still allowed to use GNU make-specific extensions, namely 
`include` in this example. The `include $(SAMVARS)` processes 
Rsamtools.mk, which is distributed with Rsamtools and defines the 
SAMTOOLS_LIBS and SAMTOOLS_CPPFLAGS, and then those variables are are 
available in the Makevars.win.

The Makevars and Makevars.win recommendations used to be [almost?] 
identical, but had to diverge because of the new warnings about GNU 
make-specific extensions.
>
> Best regards,
> Ulrich
>
>
> On 03/19/2015 06:11 PM, Nathaniel Hayden wrote:
>> Hi, Ulrich. I just built R-devel (on Ubuntu) from trunk and installed 
>> Rsamtools using biocLite; the libraries ended up where I expect them:
>> > dir(system.file(package="Rsamtools", "usrlib"))
>> [1] "libbam.a"   "libbcf.a"   "libtabix.a"
>> > sessionInfo()
>> R Under development (unstable) (2015-03-19 r68032)
>> Platform: x86_64-unknown-linux-gnu (64-bit)
>> Running under: Ubuntu 14.04.2 LTS
>>
>> locale:
>>  [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C
>>  [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8
>>  [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8
>>  [7] LC_PAPER=en_US.UTF-8       LC_NAME=C
>>  [9] LC_ADDRESS=C               LC_TELEPHONE=C
>> [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
>>
>> attached base packages:
>> [1] parallel  stats4    stats     graphics  grDevices utils datasets
>> [8] methods   base
>>
>> other attached packages:
>> [1] Rsamtools_1.19.44     Biostrings_2.35.11    XVector_0.7.4
>> [4] GenomicRanges_1.19.46 GenomeInfoDb_1.3.14   IRanges_2.1.43
>> [7] S4Vectors_0.5.22      BiocGenerics_0.13.7
>>
>> loaded via a namespace (and not attached):
>> [1] zlibbioc_1.13.2 bitops_1.0-6
>>
>> Have you seen the updated recommendations for linking to the 
>> libraries in the Rsamtools Using samtools C libraries vignette? 
>> http://bioconductor.org/packages/devel/bioc/vignettes/Rsamtools/inst/doc/Rsamtools-UsingCLibraries.pdf
>>
>> It was a breaking change in how Rsamtools reverse dependencies are 
>> supposed to find the libraries prompted by the new R CMD check 
>> warnings re: GNU make-specific extensions in non-Windows Makevars.
>>
>> On 03/19/2015 07:59 AM, Ulrich Bodenhofer wrote:
>>> Hi,
>>>
>>>
>>>
>>> I am currently finishing a package for submission to Bioconductor 3.1
>>> and, therefore, I am trying to make everything work on the latest
>>> R-devel, but I have an issue with linking to Rsamtools. It seems that
>>> Rsamtools installs the libraries libbam, libbcf, and libtabix to the
>>> usrlib/x86_64/ directory in its package directory, but packages linking
>>> to Rsamtools seem to expect the libraries in usrlib/. Because of this
>>> problem, neither my package nor other packages relying on Rsamtools,
>>> e.g. VariantAnnotation, can be installed. The check results on
>>> http://bioconductor.org/checkResults/3.1/bioc-LATEST/ tell me that 
>>> there
>>> is no such issue on the BioC build servers, but the R-devel used on
>>> these machines is much older than mine. Any clues?
>>>
>>>
>>>
>>> I am using "R Under development (unstable) (2015-03-18 r68019)" on
>>> 64-bit Linux which I installed today. However, the problem already
>>> occured on last week's R-devel. The problem is really serious for me
>>> because I cannot test my package as long as it cannot link to 
>>> Rsamtools.
>>> I want to emphasize that my package passes
>>>
>>> all checks without any errors or warnings on R 3.1.2 and Bioconductor
>>> 3.1. So I do not think I am doing anything wrong (and the developers of
>>> VariantAnnotation neither).
>>>
>>>
>>>
>>> Any help is gratefully appreciated.
>>>
>>>
>>>
>>> Thanks,
>>>
>>> Ulrich
>>>
>


	[[alternative HTML version deleted]]



More information about the Bioc-devel mailing list