[BioC] Trouble building Bioconductor

Herve Pages hpages at fhcrc.org
Tue Feb 21 20:11:28 CET 2006

Atro Tossavainen wrote:

>Dear Mr Pages
>>These problems seem to occur with C compilers that don't support
>>declarations that appear after an executable statement in a block.
>>The ability to declare a variable in the middle of a block was introduced
>>in the C99 specifications. Since the C code in the postmean.c file makes
>>use of this feature, you'll need a C99-compliant in order to compile it.
>Thank you for the explanation.
>>For a list of compilers that support C99, see:
>>    http://clc-wiki.net/wiki/C_Compilers
>>A recent version of gcc (>= 3.3) should work...
>The page contains nothing on anything related to anything else but x86
>platforms (except for one compiler that runs on an outdated OS on Mac).
Are you kidding? Nowhere it is said that the compilers listed on this
page are for x86 only. For example, it says that the gcc compiler (the first
in the list) supports "Windows, Linux and many others".
And if you take the time to go on the GCC website, you'll see that it 
indeed many other platforms (http://gcc.gnu.org/install/specific.html),
including Solaris 2.7 and Irix 6.

>So you're suggesting that I should recompile R, which can be quite a
>heavy application, with gcc, whose code generation on platforms other
>than x86 often leaves a lot to be desired, and where native compilers
>that are often significantly better than gcc in other respects are
>available to get any use of Bioconductor at all?  It doesn't really
>sound all that appealing.
If your native compiler supports C99 then use it. If it does not, then
you have alternatives, like gcc. We are currently using gcc to build and
check the binary packages that we distribute and we have no problem
with it. It's free, it's open source, it successfully builds R on 32-bit 
64-bit Linux, Mac OS X, Solaris, IRIX, and many more... It also supports
Fortran, C++ and Java so by installing it you will also be able to compile
R packages that make use of these languages.
And recompiling R on a Unix system is very easy. What can be not that
easy is to compile and install gcc + libraries (this can take a while on an
old system). However the cost in time and effort to install gcc can't be
compared in any manner to the cost in time and effort to upgrade the
operating system.

>Somewhat fortunately, Sun appears to have C99 support since Studio 9,
>and SGI since MIPSpro 7.4.  Perhaps all that I need to do is to upgrade
>the operating systems and compiler libraries on all of the Suns and SGIs
>in my herd (which means several dozen machines) to these newer versions
>and I will be able to avoid gcc when compiling R.
Good luck!

Hervé Pagès
E-mail: hpages at fhcrc.org
 Phone: (206) 667-5791
   Fax: (206) 667-1319

More information about the Bioconductor mailing list