Entering edit mode
Michael Hoffman
▴
30
@michael-hoffman-882
Last seen 10.2 years ago
Hi, I can't install Ruuid on a DEC/HP AlphaServer running OSF1, which
is blocking the installation of some other Bioconductor libraries.
Here's what happens:
$ ~/arch/OSF1/opt/R/bin/R CMD INSTALL Ruuid
* Installing *source* package 'Ruuid' ...
loading cache ./config.cache
checking for glib-config... (cached) /usr/local/bin/glib-config
checking how to run the C preprocessor... (cached) cc -E
checking for /usr/include/unistd.h... (cached) yes
creating ./config.status
creating src/Makevars
** libs
cc -I/nfs/acari/mh5/arch/OSF1/opt/R/lib/R/include
-I/usr/local/include/glib-1.2 -I/usr/local/lib/glib/include
-DHAVE_UNISTD_H=1 -I/usr/local/include -std1 -ieee_with_inexact
-std1 -fast -arch ev6 -c Rinit.c -o Rinit.o
cc: Error: /usr/local/include/glib-1.2/glib.h, line 1573: Missing ";".
(nosemi)
G_INLINE_FUNC gint g_bit_nth_lsf (guint32 mask,
--------------^
cc: Info: /usr/local/include/glib-1.2/glib.h, line 1573: "inline" is a
keyword in the C99 revision of the C standard. Using it as an
identifier will prevent your program from conforming to that standard.
(futurekeywd2)
G_INLINE_FUNC gint g_bit_nth_lsf (guint32 mask,
^
cc: Error: /usr/local/include/glib-1.2/glib.h, line 1576: Missing ";".
(nosemi)
G_INLINE_FUNC gint
--------------^
cc: Error: /usr/local/include/glib-1.2/glib.h, line 1591: Missing ";".
(nosemi)
G_INLINE_FUNC gint g_bit_nth_msf (guint32 mask,
--------------^
cc: Error: /usr/local/include/glib-1.2/glib.h, line 1594: Missing ";".
(nosemi)
G_INLINE_FUNC gint
--------------^
cc: Error: /usr/local/include/glib-1.2/glib.h, line 1611: Missing ";".
(nosemi)
G_INLINE_FUNC guint g_bit_storage (guint number);
--------------^
cc: Error: /usr/local/include/glib-1.2/glib.h, line 1613: Missing ";".
(nosemi)
G_INLINE_FUNC guint
--------------^
gmake: *** [Rinit.o] Error 1
ERROR: compilation failed for package 'Ruuid'
** Removing '/nfs/acari/mh5/arch/OSF1/opt/R/lib/R/library/Ruuid'
** Restoring previous
'/nfs/acari/mh5/arch/OSF1/opt/R/lib/R/library/Ruuid'
The problem is that -std1 tries to enforce strict C89 compliance,
which means no inline keyword. This causes the C compiler to barf when
it gets to an inline declaration. I cannot, for the life of me, figure
out how to get this thing to compile without the offending -std1
option, since R helpfully deletes all the build files between each
run.
This problem also exists when using install.packages2("Ruuid",
develOK=T)
Any hints?
--
Michael Hoffman <hoffman@ebi.ac.uk>
European Bioinformatics Institute