Re: [Rd] compile R with Portland Group compiler

From: Prof Brian Ripley <ripley_at_stats.ox.ac.uk>
Date: Tue 23 Aug 2005 - 21:20:47 GMT

regex.c is not our code, but from glibc. Could you please try R-devel instead, which has a later version of glibc. Since 2.1.1 is not longer part of the developement, we cannot help with that, but we can help wih R-devel.

I see the later regex.c does use prototypes. But bitset is an integer type, so that may be a compiler error.

(It is on my list to try Intel and PG compilers on AMD64 as we have licences, but not very high priority.)

On Tue, 23 Aug 2005, Jennifer Lai wrote:

> Hi,
> Can anyone advise me on how to compile R with Portland Group
> compiler on a Opeteron machine with Red Hat Enterprise Linux WS release
> 4 installed?
>
> I've edit config.site file to pick portland group compilers instead of
> gcc. Here is the list of modified flags:
> CC=/usr/pgi/linux86-64/6.0/bin/pgcc
> CFLAGS='-g -O2'
> CPPFLAGS='-I/usr/pgi/linux86-64/6.0/include
> -I/usr/pgi/linux86-64/6.0/include/CC'
> F77=/usr/pgi/linux86-64/6.0/bin/pgf77
> FLAGS='-O2'
> CPICFLAGS=-fPIC
> FPICFLAGS=-fPIC
> SHLIB_LDFLAGS=-shared
> LDFLAGS='-L/usr/pgi/linux86-64/6.0/lib -L/usr/lib64'
> CXX=/usr/pgi/linux86-64/6.0/bin/pgCC
> CXXPICFLAGS=-fPIC
> SHLIB_CXXLDFLAGS=-shared
>
>
> When I ran configure, I didn't get any error message, but config.log
> indicated there are errors,

That's fine: it is not GNU C so it should give an error.

> configure:4102: $? = 0
> configure:4124: result: o
> configure:4128: checking whether we are using the GNU C compiler
> configure:4152: /usr/pgi/linux86-64/6.0/bin/pgcc -c -g -O2
> -I/usr/pgi/linux86-64/6.0/include -I/usr/pgi/linux86-64/6.0/include/C\
> C conftest.c >&5
> PGC-S-0040-Illegal use of symbol, choke (conftest.c: 21)
> PGC/x86-64 Linux/x86-64 6.0-5: compilation completed with severe errors
> configure:4158: $? = 2
> configure: failed program was:
> | /* confdefs.h. */
> |
> | #define PACKAGE_NAME "R"
> | #define PACKAGE_TARNAME "R"
> | #define PACKAGE_VERSION "2.1.1"
> | #define PACKAGE_STRING "R 2.1.1"
> | #define PACKAGE_BUGREPORT "r-bugs@R-project.org"
> | #define PACKAGE "R"
> | #define VERSION "2.1.1"
> | #define R_PLATFORM "x86_64-unknown-linux-gnu"
> | #define R_CPU "x86_64"
> | #define R_VENDOR "unknown"
> | #define R_OS "linux-gnu"
> | #define Unix 1
> | /* end confdefs.h. */
> |
> | int
> | main ()
> | {
> | #ifndef __GNUC__
> | choke me
> | #endif
> |
> | ;
> | return 0;
> | }
> configure:4184: result: no
> configure:4190: checking whether /usr/pgi/linux86-64/6.0/bin/pgcc accepts -g
>
>
> If I ignored the config.log errors and went ahead to do make, I got the
> following errors,
> make[3]: Entering directory `/home/cuser/AMD_BENCH/R-2.1.1/src/main'
> /usr/pgi/linux86-64/6.0/bin/pgcc -I../../src/extra/zlib
> -I../../src/extra/bzip2 -I../../src/extra/pcre -I. -I../../src/include
> -I../../src/include -I/usr/pgi/linux86-64/6.0/include
> -I/usr/pgi/linux86-64/6.0/include/CC -DHAVE_CONFIG_H -g -O2 -c regex.c
> -o regex.o
> PGC-W-0155-64-bit integral value truncated (/usr/include/wctype.h: 109)
> PGC-W-0155-64-bit integral value truncated (/usr/include/wctype.h: 110)
> PGC-W-0155-64-bit integral value truncated (/usr/include/wctype.h: 111)
> PGC-W-0155-64-bit integral value truncated (/usr/include/wctype.h: 112)
> PGC-W-0084-Type of old-style argument src does not match type of
> prototype argument src (regex.c: 743)
> PGC-S-0043-Redefinition of symbol, bitset_merge (regex.c: 743)
> PGC-S-0100-Non-integral operand for mod, shift, or bitwise operator
> (regex.c: 746)
> PGC-W-0084-Type of old-style argument src does not match type of
> prototype argument src (regex.c: 753)
> PGC-S-0043-Redefinition of symbol, bitset_not_merge (regex.c: 753)
> PGC-S-0063-Operand of ~ must be an integer type (regex.c: 756)
> PGC-W-0084-Type of old-style argument src does not match type of
> prototype argument src (regex.c: 763)
> PGC-S-0043-Redefinition of symbol, bitset_mask (regex.c: 763)
> PGC-S-0100-Non-integral operand for mod, shift, or bitwise operator
> (regex.c: 766)
> PGC-W-0155-Long value is passed to a nonprototyped function - argument
> #5 (regex.c: 3152)
> PGC-W-0155-Long value is passed to a nonprototyped function - argument
> #3 (regex.c: 4261)
> PGC-W-0155-Long value is passed to a nonprototyped function - argument
> #3 (regex.c: 4383)
> PGC-W-0155-Long value is passed to a nonprototyped function - argument
> #3 (regex.c: 4427)
> PGC-W-0155-Long value is passed to a nonprototyped function - argument
> #3 (regex.c: 4529)
> PGC-W-0155-Long value is passed to a nonprototyped function - argument
> #3 (regex.c: 4585)
> PGC-W-0155-Long value is passed to a nonprototyped function - argument
> #4 (regex.c: 4586)
> PGC-W-0155-Long value is passed to a nonprototyped function - argument
> #3 (regex.c: 4648)
> PGC-W-0155-Long value is passed to a nonprototyped function - argument
> #3 (regex.c: 4701)
> PGC-W-0155-Long value is passed to a nonprototyped function - argument
> #3 (regex.c: 4766)
> PGC-W-0155-Long value is passed to a nonprototyped function - argument
> #4 (regex.c: 4773)
> PGC-W-0155-Long value is passed to a nonprototyped function - argument
> #3 (regex.c: 4846)
> PGC-W-0155-Long value is passed to a nonprototyped function - argument
> #3 (regex.c: 4925)
> PGC-W-0155-Long value is passed to a nonprototyped function - argument
> #3 (regex.c: 5420)
> PGC-W-0155-Long value is passed to a nonprototyped function - argument
> #3 (regex.c: 5436)
> PGC-W-0155-Long value is passed to a nonprototyped function - argument
> #3 (regex.c: 5469)
> PGC-W-0155-Long value is passed to a nonprototyped function - argument
> #3 (regex.c: 5482)
> PGC-W-0155-Long value is passed to a nonprototyped function - argument
> #3 (regex.c: 5510)
> PGC-W-0155-Long value is passed to a nonprototyped function - argument
> #3 (regex.c: 5695)
> PGC-W-0155-Long value is passed to a nonprototyped function - argument
> #3 (regex.c: 6071)
> PGC-W-0155-Long value is passed to a nonprototyped function - argument
> #6 (regex.c: 6790)
> PGC-W-0155-Long value is passed to a nonprototyped function - argument
> #3 (regex.c: 7483)
> PGC-W-0155-Long value is passed to a nonprototyped function - argument
> #2 (regex.c: 7494)
> PGC-W-0155-Long value is passed to a nonprototyped function - argument
> #3 (regex.c: 7502)
> PGC-W-0155-Long value is passed to a nonprototyped function - argument
> #7 (regex.c: 10317)
> PGC/x86-64 Linux/x86-64 6.0-5: compilation completed with severe errors
> make[3]: *** [regex.o] Error 2
> make[3]: Leaving directory `/home/cuser/AMD_BENCH/R-2.1.1/src/main'
> make[2]: *** [R] Error 2
>
>
> Any help is greatly appreciated.
>
> Thanks,
> Jennifer
>
> ______________________________________________
> R-devel@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>
>

-- 
Brian D. Ripley,                  ripley@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

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
Received on Wed Aug 24 07:24:37 2005

This archive was generated by hypermail 2.1.8 : Mon 20 Feb 2006 - 03:21:18 GMT