[Bioc-sig-seq] Problem installing latest version (1.0.2) RSamtools from Bioconductor

Martin Morgan mtmorgan at fhcrc.org
Thu Jun 3 15:36:18 CEST 2010


On 06/03/2010 05:46 AM, kanika arora wrote:
> Hi Martin and Marcus,
> 
> Thanks for your replies. libz library is installed in my machine.
> 
> 
> 
> [kanikacn at localhost  ~ ]# /sbin/ldconfig -p|grep libz
> 
>         libz.so.1 (libc6,x86-64) => /usr/lib64/libz.so.1
> 
>         libz.so.1 (libc6) => /usr/lib/libz.so.1
> 
>         libz.so (libc6,x86-64) => /usr/lib64/libz.so
> 
>         libz.so (libc6) => /usr/lib/libz.so
> 
> 
> 
> Since I was getting error while installing Rsamtools via biocLite, I also
> tried building the package through its source. That is why I installed all
> the dependencies of the package.

My guess is that Rsamtools is compiled against headers for your 64-bit
library, but linking against the 32 bit. So I'm guessing that

  objdump -T /usr/lib64/libz.so.1 | grep gzopen

(or the file pointed to by /usr/lib64/libz.so if it's a symbolic link)
finds gzopen64 but

  objdump -T /usr/lib/libz.so.1 | grep gzopen

finds gzopen. And that if you obtain the source of Rsamtools and unpack it

  tar xzf Rsamtools_1.0.2.tar.gz

then try to install it

  R CMD INSTALL Rsamtools

there should be a file Rsamtools/src/Rsamtools.so. I'm guessing that

  R CMD ldd Rsamtools/src/Rsamtools.so

points to /usr/lib/libz.so.1, whereas we want it to point to
/usr/lib64/libz.so.

If that's the case then it might be the Rsamtools configure script and
as a work-around you could try replacing in Rsamtools/configure.ac

  AC_CHECK_LIB([z], [gzeof],,[AC_MSG_ERROR([need libz with gzeof])])

with

  AC_CHECK_LIB([z], [gzeof64],,[AC_MSG_ERROR([need libz with gzeof])])

and then

  cd Rsamtools && autoconf && cd ..
  R CMD INSTALL --preclean Rsamtools

It would help to have the full output of this last command; feel free to
mail it to me off-list.

Martin

> 
> 
> 
> The value of the environment variable LD_LIBRARY_PATH is :
> 
> 
> 
> [kanikacn at localhost  ~ ]#   R CMD env | grep LD_LIBRARY_PATH (*thanks
> for sharing this nice Linux/R trick)
> 
> LD_LIBRARY_PATH=/usr/lib64/R/lib:/usr/local/lib64:/usr/lib64/gcj-4.1.2
> 
> 
> I unset this environment variable and reinstalled R again but still
> Rsamtools is showing the same error.
> 
> Regards,
> Kanika
> 
> 
> On Thu, Jun 3, 2010 at 6:42 AM, Marcus Davy <mdavy86 at gmail.com> wrote:
> 
>> thanks, this is what I had when the environment variable was still set;
>>
>> $ R CMD env | grep LD_LIBRARY_PATH
>>
>> LD_LIBRARY_PATH=/opt/R/R-2.11.0/lib64/R/lib:/usr/local/lib64:/usr/lib64/gcj-4.1.2:/opt/staden-linux-x86_64-1-7-1b/lib/linux-x86_64-binaries
>>
>>
>> Marcus
>>
>>
>>
>> On Thu, Jun 3, 2010 at 12:41 PM, Martin Morgan <mtmorgan at fhcrc.org> wrote:
>>
>>> On 06/02/2010 05:05 PM, Marcus Davy wrote:
>>>> Hi Martin,
>>>> I had the same issue only yesterday installing ShortRead on a R-2.11.0
>>> fresh
>>>> source installation for redhat enterprise linux with
>>>> '--prefix=/opt/R/R-2.11.0.' The dependancy Rsamtools failed using
>>>> biocLite("ShortRead")
>>>>
>>>> ** testing if installed package can be loaded
>>>> Error in dyn.load(file, DLLpath = DLLpath, ...) :
>>>>   unable to load shared library
>>>> '/opt/R/R-2.11.0/lib64/R/library/Rsamtools/libs/Rsamtools.so':
>>>>   /opt/R/R-2.11.0/lib64/R/library/Rsamtools/libs/Rsamtools.so: undefined
>>>> symbol: deflateSetHeader
>>>> ERROR: loading failed
>>>> * removing ‘/opt/R/R-2.11.0/lib64/R/library/Rsamtools’
>>>>
>>>> I also traced this to libz.so.1, in this case it was incorrectly
>>> pointing to
>>>> an installation of staden on the machine, which I traced by also
>>> attempting
>>>> a manual install;
>>>>
>>>> ldd /tmp/Rsamtools/src/Rsamtools.so
>>>> libz.so.1 =>
>>>> /opt/staden-linux-x86_64-1-7-1b/lib/linux-x86_64-binaries/libz.so.1
>>>> (0x00002acd7097d000)
>>>> ...
>>>>
>>>> locate libz.so.1
>>>> /opt/staden-linux-x86_64-1-7-1b/lib/linux-x86_64-binaries/libz.so.1
>>>> /opt/staden-linux-x86_64-1-7-1b/lib/linux-x86_64-binaries/libz.so.1.2.2
>>>> /usr/lib/libz.so.1
>>>> /usr/lib/libz.so.1.2.3
>>>> /usr/lib64/libz.so.1
>>>> /usr/lib64/libz.so.1.2.3
>>>>
>>>> The environment variable LD_LIBRARY_PATH was being set to
>>>>
>>>> /opt/staden-linux-x86_64-1-7-1b/lib/linux-x86_64-binaries
>>>>
>>>> What seemed to be happening was the R ./configure was picking up the
>>>> LD_LIBRARY_PATH to staden (e.g. in ./configure log:  PATH:
>>>> /opt/staden-linux-x86_64-1-7-1b/linux-x86_64-bin), so I unset the
>>>> environment variable reinstalled R, then installed ShortRead using
>>> biocLite
>>>> without problems
>>>
>>> Thanks Marcus -- this helps to clarify -- an incomplete rather than
>>> non-existent libz; the configure script in Rsamtools looks for a
>>> particular function that I thought was relatively diagnostic of a modern
>>> libz, so definitely this allows Rsamtools to get past configure before
>>> breaking.
>>>
>>> A couple of linux / R tricks. Preceding commands with 'R CMD' sets up
>>> the environment to be the way R sees it, so
>>>
>>>  R CMD env | grep LD_LIBRARY_PATH
>>>
>>> might differ from env |grep LD_LIBRARY_PATH, and likewise for ldd; this
>>> can be helpful to distinguish between 'my system is kind of funky' from
>>> 'my R is kind of funky'. It's also helpful in general, e.g., R CMD
>>> Sweave someFile.Rnw sets the R environment so that Sweave.sty (in the R
>>> distribution) is found.
>>>
>>> Also, R reads variables from R_HOME/etc/Makevars, and you can override
>>> settings there with values in ~/.R/Makevars. This makes it cheaper to
>>> experiment, e.g., with CFLAGS or LD_LIBRARY_PATH, and also to see what
>>> value LD_LIBRARY_PATH took when R was configured (in R_HOME/etc/Makevars).
>>>
>>> Martin
>>>
>>>>
>>>>
>>>> Cheers,
>>>>
>>>> Marcus
>>>>
>>>>> version               _
>>>> platform       x86_64-unknown-linux-gnu
>>>> arch           x86_64
>>>> os             linux-gnu
>>>> system         x86_64, linux-gnu
>>>> status
>>>> major          2
>>>> minor          11.0
>>>> year           2010
>>>> month          04
>>>> day            22
>>>> svn rev        51801
>>>> language       R
>>>> version.string R version 2.11.0 (2010-04-22)
>>>>
>>>>
>>>> On Thu, Jun 3, 2010 at 6:13 AM, Martin Morgan <mtmorgan at fhcrc.org>
>>> wrote:
>>>>
>>>>> Hi Kanika --
>>>>>
>>>>> On 06/02/2010 05:48 AM, kanika arora wrote:
>>>>>> Hi ALL,
>>>>>>
>>>>>> * *
>>>>>>
>>>>>> I am trying to install l.0.2 version Rsamtools from Bioconductor and
>>>>> facing
>>>>>> problems. Please find the error message mentioned below:
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> ** help
>>>>>>
>>>>>> *** installing help indices
>>>>>>
>>>>>>   converting help for package âRsamtoolsâ
>>>>>>
>>>>>>     finding HTML links ... done
>>>>>>
>>>>>>     BamViews-class                          html
>>>>>>
>>>>>>     finding level-2 HTML links ... done
>>>>>>
>>>>>>
>>>>>>
>>>>>>     Rsamtools-package                       html
>>>>>>
>>>>>>     ScanBamParam-class                      html
>>>>>>
>>>>>>     readBamGappedAlignments                 html
>>>>>>
>>>>>> Rd warning: ./man/readBamGappedAlignments.Rd:10: missing file link
>>>>>> âGappedAlignmentsâ
>>>>>>
>>>>>> Rd warning: ./man/readBamGappedAlignments.Rd:36: missing file link
>>>>>> âGappedAlignmentsâ
>>>>>>
>>>>>>     readPileup                              html
>>>>>>
>>>>>> Rd warning: ./man/readPileup.Rd:34: missing file link âGRangesâ
>>>>>>
>>>>>>     scanBam                                 html
>>>>>>
>>>>>> ** building package indices ...
>>>>>>
>>>>>> ** testing if installed package can be loaded
>>>>>>
>>>>>> Error in dyn.load(file, DLLpath = DLLpath, ...) :
>>>>>>
>>>>>>   unable to load shared library
>>>>>> '/usr/lib64/R/library/Rsamtools/libs/Rsamtools.so':
>>>>>>
>>>>>>   /usr/lib64/R/library/Rsamtools/libs/Rsamtools.so: undefined symbol:
>>>>>> gzopen64
>>>>>
>>>>>
>>>>> Rsamtools depends on having a system 'libz' installed. Does your system
>>>>> have this (e.g., for me,
>>>>>
>>>>> mtmorgan at mm:~> /sbin/ldconfig -p|grep libz
>>>>> [...snip...]
>>>>>        libz.so.1 (libc6,x86-64) => /lib64/libz.so.1
>>>>>        libz.so.1 (libc6) => /lib/libz.so.1
>>>>>        libz.so (libc6,x86-64) => /usr/lib64/libz.so
>>>>>
>>>>> This should be checked during package configuration, so I'm a little
>>>>> surprised that the error comes up at this point. Can you confirm that
>>>>> you are installing this with
>>>>>
>>>>>  biocLite('Rsamtools')
>>>>>
>>>>> ? I'm a little nervous that when you say you 'installed all the
>>>>> dependencies' that you are doing something else --
>>> biocLite('Rsamtools')
>>>>> installs the correct version of the dependencies for your version of R.
>>>>>
>>>>> Martin
>>>>>
>>>>>> ERROR: loading failed
>>>>>>
>>>>>> * removing â/usr/lib64/R/library/Rsamtoolsâ
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>> sessionInfo()
>>>>>>
>>>>>> R version 2.11.0 (2010-04-22)
>>>>>>
>>>>>> x86_64-redhat-linux-gnu
>>>>>>
>>>>>>
>>>>>>
>>>>>> 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=C              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] stats     graphics  grDevices utils     datasets  methods   base
>>>>>>
>>>>>>
>>>>>>
>>>>>> other attached packages:
>>>>>>
>>>>>> [1] goseq_1.0.1            geneLenDataBase_0.99.4 BiasedUrn_1.03
>>>>>>
>>>>>>
>>>>>>
>>>>>> loaded via a namespace (and not attached):
>>>>>>
>>>>>>  [1] AnnotationDbi_1.10.1 Biobase_2.8.0        Biostrings_2.16.2
>>>>>>
>>>>>>  [4] BSgenome_1.16.1      DBI_0.2-5            GenomicRanges_1.0.1
>>>>>>
>>>>>>  [7] grid_2.11.0          IRanges_1.6.4        lattice_0.18-5
>>>>>>
>>>>>> [10] Matrix_0.999375-38   mgcv_1.6-1           nlme_3.1-96
>>>>>>
>>>>>> [13] RCurl_1.4-2          RSQLite_0.9-1        rtracklayer_1.8.1
>>>>>>
>>>>>> [16] tools_2.11.0         XML_3.1-0
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> I already installed all the dependencies of the package. Please guide
>>> me
>>>>> in
>>>>>> this context.
>>>>>>
>>>>>> Thanks in advance,
>>>>>>
>>>>>> Kanika
>>>>>>
>>>>>>       [[alternative HTML version deleted]]
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> Bioc-sig-sequencing mailing list
>>>>>> Bioc-sig-sequencing at r-project.org
>>>>>> https://stat.ethz.ch/mailman/listinfo/bioc-sig-sequencing
>>>>>
>>>>>
>>>>> --
>>>>> Martin Morgan
>>>>> Computational Biology / Fred Hutchinson Cancer Research Center
>>>>> 1100 Fairview Ave. N.
>>>>> PO Box 19024 Seattle, WA 98109
>>>>>
>>>>> Location: Arnold Building M1 B861
>>>>> Phone: (206) 667-2793
>>>>>
>>>>> _______________________________________________
>>>>> Bioc-sig-sequencing mailing list
>>>>> Bioc-sig-sequencing at r-project.org
>>>>> https://stat.ethz.ch/mailman/listinfo/bioc-sig-sequencing
>>>>>
>>>>
>>>
>>>
>>> --
>>> Martin Morgan
>>> Computational Biology / Fred Hutchinson Cancer Research Center
>>> 1100 Fairview Ave. N.
>>> PO Box 19024 Seattle, WA 98109
>>>
>>> Location: Arnold Building M1 B861
>>> Phone: (206) 667-2793
>>>
>>
>>
> 


-- 
Martin Morgan
Computational Biology / Fred Hutchinson Cancer Research Center
1100 Fairview Ave. N.
PO Box 19024 Seattle, WA 98109

Location: Arnold Building M1 B861
Phone: (206) 667-2793



More information about the Bioc-sig-sequencing mailing list