[BioC] Loading problem with Rlibstree and microRNA packages on MacOS X 10.4

Duncan Temple Lang duncan at wald.ucdavis.edu
Sat Nov 29 21:44:41 CET 2008


Hi Weijun

Thanks for informing me about the problem.

I haven't looked at the problem you got when loading the package, but
rather the problem with compiling.

Firstly, I would let Rlibstree build its own version of libstree-0.4.2 
(or 0.4-3) rather than building it yourself. But either will work
after the libstree source is corrected.

The error when building libstree from either source is the lack of
a definition for u_char or u_int.  This is typically defined by
the system, but not anymore on OS X.   So we just need to define it.

If you add

typedef unsigned char u_char;
typedef unsigned int u_int;

to the file libstree-0.4.2/src/lst_string.h
just before the definition

    struct lst_string

Then things should work. They do on my systems.

I'll add something to the source to check for this
and define the types if they are not already defined.
It won't happen in the next 2 weeks however.


As for Rlibstree not being maintained.....
Not certain why Steven came to that conclusion, but
just because things aren't updated doesn't mean they aren't
maintained - just that they don't need to be changed!

  D.



Luo Weijun wrote:
> Thanks Steven, for all the information,
> Based on the README of Rlibstree in your message, I tried installed libstree-0.4.2 first, then reinstalled Rlibstree using: R CMD INSTALL --configure-args=--with-libstree=$HOME/local Rlibstree either from binaries or source. I still got the same loading error messages (and the same errors when installing Rlibstree from source). 
> Different from what you have seen, configure and make install steps for libstree on my machine seemed to be okay. To me, the problem is more likely occurring at Rlibstree configuration and installation level. However, the authors of the rtracklayer package and microRNA package seemed to have no problem in loading Rlibstree package because both packages have gone through the checking process. Not sure what platform(s) have been checked when these packages were built.
> Weijun
> 
> 
> 
> --- On Fri, 11/28/08, Steven McKinney <smckinney at bccrc.ca> wrote:
> 
>> From: Steven McKinney <smckinney at bccrc.ca>
>> Subject: RE: [BioC] Loading problem with Rlibstree and microRNA packages on MacOS X 10.4
>> To: luo_weijun at yahoo.com, bioconductor at stat.math.ethz.ch
>> Date: Friday, November 28, 2008, 3:14 PM
>> Dear Luo,
>>
>> The README file in the Rlibstree source directory
>> discusses installing the software 'libstree'.
>>
>> I downloaded libstree from 
>> http://www.icir.org/christian/libstree/
>> and attempted to configure and make, but libstree
>> would not make.
>>
>> bash-3.2$ make
>> make  all-recursive
>> Making all in src
>> if /bin/sh ../libtool --mode=compile --tag=CC gcc-4.2
>> -DHAVE_CONFIG_H -I. -I. -I.. -I.. -W -Wall    -g -O2 -MT
>> lst_stree.lo -MD -MP -MF ".deps/lst_stree.Tpo" -c
>> -o lst_stree.lo lst_stree.c; \
>> 	then mv -f ".deps/lst_stree.Tpo"
>> ".deps/lst_stree.Plo"; else rm -f
>> ".deps/lst_stree.Tpo"; exit 1; fi
>>  gcc-4.2 -DHAVE_CONFIG_H -I. -I. -I.. -I.. -W -Wall -g -O2
>> -MT lst_stree.lo -MD -MP -MF .deps/lst_stree.Tpo -c
>> lst_stree.c  -fno-common -DPIC -o .libs/lst_stree.o
>> In file included from lst_structs.h:29,
>>                  from lst_stree.h:34,
>>                  from lst_stree.c:34:
>> lst_string.h:101: error: expected specifier-qualifier-list
>> before 'u_char'
>> lst_string.h:130: error: expected specifier-qualifier-list
>> before 'u_int'
>> lst_string.h:165: error: expected declaration specifiers or
>> '...' before 'u_int'
>> lst_string.h:165: error: expected declaration specifiers or
>> '...' before 'u_int'
>> lst_string.h:180: error: expected declaration specifiers or
>> '...' before 'u_int'
>> .
>> .
>> .
>>
>> Doesn't look promising.
>> The DESCRIPTION of Rlibstree lists Duncan Temple Lang
>> as the maintainer (though the date is Oct 2007)
>> Maintainer: Duncan Temple Lang
>> <duncan at wald.ucdavis.edu>
>> so you could contact Duncan and see if he is still
>> maintaining
>> this package.
>>
>> The README from libstree states:
>>  Given that LibSTree is a self-contained library, it should
>> build on
>>  any major OS out there or at least be easy to port.
>> Reported to work:
>>
>>  - Linux
>>  - OpenBSD
>>
>>
>>  Requirements:
>>  =============
>>
>>  	* none, other than gcc or some other compiler.
>>
>> The last date on the libstree website is Sept 2007 and
>> Christian Kreibich states 
>> "it is increasingly hard for me to find time to work
>> on libstree"
>>
>>
>>
>> README from Rlibstree:
>> -----------------------
>>  This is a quickly written interface to a suffix tree
>> library to
>>  explore different aspects of external data and the use of
>> suffix trees
>>  in R for text manipulation.  Currently, we use the
>> libstree
>>  (http://www.cl.cam.ac.uk/~cpk25/libstree/, Download from
>>
>> http://www.cl.cam.ac.uk/~cpk25/downloads/libstree-0.4.0.tar.gz
>>  or more recently from
>> http://www.icir.org/christian/libstree/) source
>>  code by Christian Kreibich. Installation of that library
>> is relatively
>>  straighforward as it is stand-alone, not depending on
>> other libraries.
>>  Unfortunately, to use it easily with another program, the
>> libstree
>>  code should be installed.  To put it someplace for which
>> you do not
>>  need special permissions, use
>>
>>    cd libstree-0.4-0      # or whatever the relevant
>> directory is.
>>    ./configure --prefix=$HOME/local
>>    make install 
>>
>>  Then use
>>
>>     R CMD INSTALL
>> --configure-args=--with-libstree=$HOME/local Rlibstree 
>>
>>  and that should find the relevant header and libaries
>> files.  
>>  Specifically, the argument for --prefix when building and
>> installing libstree
>>  should be the same as the value for --with-libstree in the
>> R CMD INSTALL.
>>
>>
>>
>> I think Rlibstree has not been maintained for a while
>> and its various parts are no longer working.
>>
>> You might also need to contact the maintainer of 
>> the package that requires Rlibstree and let them
>> know of this problem.
>>
>>
>> Best
>>
>> Steven McKinney
>>
>> Statistician
>> Molecular Oncology and Breast Cancer Program
>> British Columbia Cancer Research Centre
>>
>> email: smckinney +at+ bccrc +dot+ ca
>>
>> tel: 604-675-8000 x7561
>>
>> BCCRC
>> Molecular Oncology
>> 675 West 10th Ave, Floor 4
>> Vancouver B.C. 
>> V5Z 1L3
>> Canada
>>
>>
>>
>>
>> -----Original Message-----
>> From: bioconductor-bounces at stat.math.ethz.ch on behalf of
>> Luo Weijun
>> Sent: Fri 11/28/2008 9:44 AM
>> To: bioconductor at stat.math.ethz.ch
>> Subject: [BioC] Loading problem with Rlibstree and microRNA
>> packages on MacOS X 10.4
>>  
>> Dear all,
>> I called microRNA package when I tried rtracklayer package
>> on a Mac OS X 10.4 machine. Errors produced when loading the
>> depended package Rlibstree (see below).
>> I tried installed Rlibstree alone from binaries or source,
>> both failed. Error messages (see below). suggested that
>> R_newStringSet and R_stringSetAdd functions (in stree.c
>> file) had problem when passing argument 1 of
>> 'lst_string_new'. This seems to be consistent with
>> the loading error message, but I am not sure what does it
>> mean. Could anybody help or give any hints. Thanks a lot!
>> Weijun
>>
>> #Loading error
>> Loading required package: Rlibstree
>> Error in dyn.load(file, DLLpath = DLLpath, ...) : 
>>   unable to load shared library
>> '/Library/Frameworks/R.framework/Resources/library/Rlibstree/libs/ppc/Rlibstree.so':
>>  
>> dlopen(/Library/Frameworks/R.framework/Resources/library/Rlibstree/libs/ppc/Rlibstree.so,
>> 6): Symbol not found: _lst_alg_longest_common_substring
>>   Referenced from:
>> /Library/Frameworks/R.framework/Resources/library/Rlibstree/libs/ppc/Rlibstree.so
>>   Expected in: dynamic lookup
>>
>> Error: package 'Rlibstree' could not be loaded
>>> sessionInfo()
>> R version 2.8.0 (2008-10-20) 
>> powerpc-apple-darwin8.11.1 
>>
>> locale:
>> C
>>
>> attached base packages:
>> [1] tools     stats     graphics  grDevices utils    
>> datasets  methods  
>> [8] base     
>>
>> other attached packages:
>> [1] matchprobes_1.14.0 affy_1.20.0        Biobase_2.2.1    
>>
>>
>> loaded via a namespace (and not attached):
>> [1] affyio_1.10.1        preprocessCore_1.4.0
>>
>> Installing error (from source)
>> .
>> gcc -arch ppc -std=gnu99
>> -I/Library/Frameworks/R.framework/Resources/include
>> -I/Library/Frameworks/R.framework/Resources/include/ppc
>> -I../local/include/ -I/usr/local/include    -fPIC  -g -O2 -c
>> prefix.c -o prefix.o
>> gcc -arch ppc -std=gnu99
>> -I/Library/Frameworks/R.framework/Resources/include
>> -I/Library/Frameworks/R.framework/Resources/include/ppc
>> -I../local/include/ -I/usr/local/include    -fPIC  -g -O2 -c
>> stree.c -o stree.o
>> stree.c: In function 'R_newStringSet':
>> stree.c:100: warning: passing argument 1 of
>> 'lst_string_new' discards qualifiers from pointer
>> target type
>> stree.c: In function 'R_stringSetAdd':
>> stree.c:316: warning: passing argument 1 of
>> 'lst_string_new' discards qualifiers from pointer
>> target type
>> gcc -arch ppc -std=gnu99 -dynamiclib
>> -Wl,-headerpad_max_install_names -mmacosx-version-min=10.4
>> -undefined dynamic_lookup -single_module -multiply_defined
>> suppress -L/usr/local/lib -o Rlibstree.so prefix.o stree.o
>> -L../local/lib -lstree  -F/Library/Frameworks/R.framework/..
>> -framework R -Wl,-framework -Wl,CoreFoundation
>> /usr/bin/libtool: for architecture cputype (16777223)
>> cpusubtype (3) object: /usr/local/lib/libgcc_s.10.4.dylib
>> malformed object (unknown load command 4)
>> make: *** [Rlibstree.so] Error 1
>> chmod:
>> /Library/Frameworks/R.framework/Versions/2.8/Resources/library/Rlibstree/libs/ppc/*:
>> No such file or directory
>> ERROR: compilation failed for package 'Rlibstree'
>> ** Removing
>> '/Library/Frameworks/R.framework/Versions/2.8/Resources/library/Rlibstree'
>> ** Restoring previous
>> '/Library/Frameworks/R.framework/Versions/2.8/Resources/library/Rlibstree'
>>
>>
>>
>>
>>
>> _______________________________________________
>> Bioconductor mailing list
>> Bioconductor at stat.math.ethz.ch
>> https://stat.ethz.ch/mailman/listinfo/bioconductor
>> Search the archives:
>> http://news.gmane.org/gmane.science.biology.informatics.conductor
> 
> _______________________________________________
> Bioconductor mailing list
> Bioconductor at stat.math.ethz.ch
> https://stat.ethz.ch/mailman/listinfo/bioconductor
> Search the archives: http://news.gmane.org/gmane.science.biology.informatics.conductor



More information about the Bioconductor mailing list