From ripley at stats.ox.ac.uk  Fri Aug 21 08:38:44 2009
From: ripley at stats.ox.ac.uk (Prof Brian Ripley)
Date: Fri, 21 Aug 2009 07:38:44 +0100 (BST)
Subject: [Rd] R compilation problem on 64 bit SunOS (PR#13898)
In-Reply-To: <20090821010010.E5286282EFC0@mail.pubhealth.ku.dk>
References: <20090821010010.E5286282EFC0@mail.pubhealth.ku.dk>
Message-ID: <alpine.LFD.2.00.0908210729190.9615@gannet.stats.ox.ac.uk>

You are reporting a Solaris error to R-bugs.  If the Solaris libintl.h 
is broken (and it seems yours is), then you need to try one that 
works (e.g. OpenCSW) or force the use of the one in the R sources by

   --with-included-gettext use the GNU gettext library included here

or dlsable NLS (see below).

Please don't use R-bugs for things that are not R problems.


On Fri, 21 Aug 2009, uwe_f_mayer at yahoo.com wrote:

> Full_Name: Uwe F. Mayer
> Version: 2.9.1
> OS: SunOS myhost 5.10 Generic_120012-14 i86pc i386 i86pc Solaris
> Submission from: (NULL) (216.113.168.130)
>
>
> With the change of the NLS handling from 2.9.0 to 2.9.1 the compilation breaks,
> even as I do specifically not request nls.

In fact you did not specifically not request nls: use the flag from 
the gcc specs below to do so (as someone did for gcc).

> Specifics:
>
> gcc -v
> Using built-in specs.
> Target: x86_64-pc-solaris2.10
> Configured with: ../../src/gcc-4.4.0/configure
> --prefix=/usr/local/opt/x86_64-pc-solaris2.10/gcc-4.4.0
> --with-gmp=/usr/local/opt/x86_64-pc-solaris2.10
> --with-mpfr=/usr/local/opt/x86_64-pc-solaris2.10 --disable-nls
> --enable-languages=c,c++,fortran -with-gnu-as --without-gnu-ld
> --with-ld=/usr/ccs/bin/ld --with-as=/usr/sfw/bin/gas CC='gcc -m64' CXX='g++
> -m64' CFLAGS='-m64 -g -O2' CXXFLAGS='-m64 -g -O2' LDFLAGS=-m64
> Thread model: posix
> gcc version 4.4.0 (GCC)
>
> R version: 2.9.1 (2009-06-29)
>
> R configuration
> ../../src/R-2.9.1/configure
> --prefix=/usr/local/opt/x86_64-pc-solaris2.10/R-2.9.1
> --exec-prefix=/usr/local/opt/x86_64-pc-solaris2.10/R-2.9.1 --disable-nls
> --without-recommended-packages --with-readline --with-gnu-ld CC="gcc -m64
> -I/usr/local/opt/x86_64-pc-solaris2.10/include
> -L/usr/local/opt/x86_64-pc-solaris2.10/lib" F77="gfortran -m64" CXX="g++ -m64"
> FC="gfortran -m64" LIBnn=lib64 LD=/usr/local/opt/x86_64-pc-solaris2.10/bin/ld
>
> The last compilation step throwing the error:
>
> gcc -m64 -I/usr/local/opt/x86_64-pc-solaris2.10/include
> -L/usr/local/opt/x86_64-pc-solaris2.10/lib -std=gnu99 -I. -I../../src/include
> -I../../../../src/R-2.9.1/src/include -I/usr/openwin/include
> -I/usr/local/include -DHAVE_CONFIG_H    -g -O2 -c
> ../../../../src/R-2.9.1/src/unix/system.c -o system.o
> In file included from /usr/include/locale.h:50,
>                 from ../../../../src/R-2.9.1/src/unix/system.c:36:
> /usr/include/libintl.h:62: error: expected identifier or '(' before 'unsigned'
>
> The contents of /usr/include/libintl.h, line62:
>
> extern char *ngettext(const char *, const char *, unsigned long int);
>
> The same error happens to several other files (datetime.c, main.c, platform.c
> util.c), all of which with the exception of the last one have not even changed
> since 2.9.0. I compiled 2.9.0. in a parallel tree, copied the corresponding .o
> files over, and got the resulting version to run.
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>

-- 
Brian D. Ripley,                  ripley at stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595



[Rd] R compilation problem on 64 bit SunOS (PR#13898)
Prof Brian Ripley