[BioC] Problems compiling lumi on Solaris Sparc and R 2.9.0

ngrundma ngrundma at uni-muenster.de
Thu Jan 21 09:59:10 CET 2010


Thanks, it worked... :-)

But what have I done?  I am using Solaris x86, the Sun Studio compiler 
version 12, compiled R 2.9.2 from source and added bioconductor packages 
beadarray, limma and lumi to R.

The basic things I did for compiling R:
- Added libiconf from blastwave
- Set the appropriate compiler environment with

  setenv CC /opt/SUNWspro/bin/cc
  setenv PATH /opt/SUNWspro/bin:$PATH

- Compiled R with

  ./configure CFLAGS=-I/opt/csw/include LDFLAGS=-L/opt/csw/lib
  gmake


Add bioconductor packages
- The I changed one line in the Makeconf file in R's etc directory and 
add the __EXTENSIONS__

  CPPFLAGS = -I/usr/local/include -D__EXTENSIONS__

  and installed the packages for R 2.9.2...

Many thanks, Norbert


Seth Falcon wrote:
> Hi Norbert,
>
> [I've cc'd the maintainer of affyio]
>
> On 1/14/10 1:57 AM, ngrundma wrote:
>> I am new to R and bioconductor and only want to compile some
>> bioconductor packages on a Solaris 10 Sparc system. I am using gcc 
>> 3.4.6.
>> I searched for a solution, but have not found something that really
>> helps. Packages like beadarray work, but compiling lumi gave me
>> following output:
>>
>> -- snip --
>> R version 2.9.0 (2009-04-17)
>> Copyright (C) 2009 The R Foundation for Statistical Computing
>> ISBN 3-900051-07-0
>
> Some suggestions below, but note that you are using rather old 
> versions of gcc and R.
>
> Our build server uses gcc 4.3.2.  The current release of R is 2.10.1. 
> If you can, I would recommend upgrading R and then trying the 
> installation again.
>
> But more below...
>
>> * Installing *source* package 'affyio' ...
>
> This is actually the package that you are having problems with, not lumi.
>
>> checking for gcc... gcc
>> checking for C compiler default output file name... a.out
>> checking whether the C compiler works... yes
>> checking whether we are cross compiling... no
>> checking for suffix of executables...
>> checking for suffix of object files... o
>> checking whether we are using the GNU C compiler... yes
>> checking whether gcc accepts -g... yes
>> checking for gcc option to accept ISO C89... none needed
>> checking how to run the C preprocessor... gcc -E
>> checking for grep that handles long lines and -e... /usr/sfw/bin/ggrep
>> checking for egrep... /usr/sfw/bin/ggrep -E
>> checking for ANSI C header files... yes
>> checking for sys/types.h... yes
>> checking for sys/stat.h... yes
>> checking for stdlib.h... yes
>> checking for string.h... yes
>> checking for memory.h... yes
>> checking for strings.h... yes
>> checking for inttypes.h... yes
>> checking for stdint.h... yes
>> checking for unistd.h... yes
>> checking for main in -lz... yes
>> checking zlib.h usability... yes
>> checking zlib.h presence... yes
>> checking for zlib.h... yes
>> checking if zlib version >= 1.1.3... yes
>> checking for pthread_create in -lpthread... yes
>> checking if we can use pthreads... yes
>> configure: creating ./config.status
>> config.status: creating src/Makevars
>> ** libs
>> gcc -std=gnu99 -I/usr/local/lib/R/include -DPACKAGE_NAME=\"\"
>> -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\"
>> -DPACKAGE_BUGREPORT=\"\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1
>> -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1
>> -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1
>> -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_ZLIB=1 -DHAVE_LIBPTHREAD=1
>> -DUSE_PTHREADS=1 -I/usr/local/include -I/usr/local/ssl/include
>> -I/usr/local/pgsql/include -I/usr/local/include/ncurses
>> -I/usr/openwin/include -I/usr/local/rrdtool-1.2.19/include -g -O2 -fPIC
>> -O2 -L/usr/local/pgsql/lib -R/usr/local/pgsql/lib -L/usr/local/lib
>> -R/usr/local/lib -L/usr/local/ssl/lib -R/usr/local/ssl/lib
>> -L/usr/openwin/lib -R/usr/openwin/lib
>> -I/usr/local/rrdtool-1.2.19/include -c fread_functions.c -o
>> fread_functions.o
>> gcc -std=gnu99 -I/usr/local/lib/R/include -DPACKAGE_NAME=\"\"
>> -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\"
>> -DPACKAGE_BUGREPORT=\"\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1
>> -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1
>> -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1
>> -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_ZLIB=1 -DHAVE_LIBPTHREAD=1
>> -DUSE_PTHREADS=1 -I/usr/local/include -I/usr/local/ssl/include
>> -I/usr/local/pgsql/include -I/usr/local/include/ncurses
>> -I/usr/openwin/include -I/usr/local/rrdtool-1.2.19/include -g -O2 -fPIC
>> -O2 -L/usr/local/pgsql/lib -R/usr/local/pgsql/lib -L/usr/local/lib
>> -R/usr/local/lib -L/usr/local/ssl/lib -R/usr/local/ssl/lib
>> -L/usr/openwin/lib -R/usr/openwin/lib
>> -I/usr/local/rrdtool-1.2.19/include -c read_abatch.c -o read_abatch.o
>> read_abatch.c: In function `read_probeintensities':
>> read_abatch.c:4421: error: `PTHREAD_STACK_MIN' undeclared (first use in
>> this function)
>> read_abatch.c:4421: error: (Each undeclared identifier is reported only
>> once
>> read_abatch.c:4421: error: for each function it appears in.)
>> *** Error code 1
>> make: Fatal error: Command failed for target `read_abatch.o'
>> ERROR: compilation failed for package 'affyio'
>> * Removing '/local/usr/local/lib/R/library/affyio'
>>
>
> It looks like the problem is that Solaris is missing 
> PTHREAD_STACK_MIN.  Some digging suggests that there is a way to 
> access this macro on Solaris with an appropriate compile time flag, 
> perhaps __EXTENSIONS__, but perhaps one of _POSIX* defines would also 
> work.
>
> This page has some details:
>
> http://wikis.sun.com/display/SolAppPro/Home
>
> I would try:
>
> Find you platform string:
> R --slave -e "R.version"|grep platform
>
> Create ~/.R/Makevars-R_PLATFORM, replacing R_PLATFORM with the value 
> obtained above.  I have: ~/.R/Makevars-i386-apple-darwin10.2.0
>
> Inside this file add:
>
>   CFLAGS=-D__EXTENSIONS__
>
> Then try starting R and doing biocLite("affyio").  Let us know how it 
> goes.  There may be a way to make this less painful for the next 
> Solaris user.
>
> + seth
>


-- 
Institute of Bioinformatics
Faculty of Medicine
University of Muenster, Germany
fax: +49-251-8353005
phone: +49-251-8353007

Use *BSD because Linux is a patch for Linux



More information about the Bioconductor mailing list