From m.pacey at lancaster.ac.uk  Mon Nov 26 15:45:04 2007
From: m.pacey at lancaster.ac.uk (m.pacey at lancaster.ac.uk)
Date: Mon, 26 Nov 2007 15:45:04 +0100 (CET)
Subject: [Rd] Problem with configure's detection of glob on 2.6.0 (PR#10468)
Message-ID: <20071126144504.26352282EFF8@mail.pubhealth.ku.dk>

Full_Name: Mike Pacey
Version: 2.6.0
OS: SuSe Linux 9.3 x86_64
Submission from: (NULL) (194.80.32.10)



A "vanilla" version of R configures and compiles without a problem on my system.
Switching to using the PGI compiler configures correctly (see the values at the
bottom fo thismessage), but compilation aborts with:

pgcc -I../../src/extra/zlib -I../../src/extra/bzip2 -I../../src/extra/pcre  -I.
-I../../src/include -I../../src/include -I/usr/local/include -DHAVE_CONFIG_H   
-Mvect=sse -Mscalarsse -Mcache_align -O2 -Kieee -c platform.c -o platform.o
PGC-S-0040-Illegal use of symbol, glob_t (platform.c: 1141)
PGC-W-0156-Type not specified, 'int' assumed (platform.c: 1141)
PGC-W-0095-Type cast required for this conversion (platform.c: 1168)
PGC/x86-64 Linux 7.0-2: compilation completed with severe errors
make[3]: *** [platform.o] Error 2


Running a diff on ./src/include/config.h files from both installs highlights a
difference in the #define settings. For the vanilla install I get:

/* Define to 1 if you have the `glob' function. */
#define HAVE_GLOB 1

/* Define to 1 if you have the <glob.h> header file. */
#define HAVE_GLOB_H 1

For the PGI version of the install I get:

/* Define to 1 if you have the `glob' function. */
/* #undef HAVE_GLOB */

/* Define to 1 if you have the <glob.h> header file. */
#define HAVE_GLOB_H 1

I was a little puzzled as to why the latter would have the glob header file but
not glob itself, so I modified the config.h file so that HAVE_GLOB was #defined
to 1. The result compiles and passes the "make check" tests.

Have I missed something or is configure/autoconf doing something odd with glob
detection?

-----

Flags/variables for the PGI install are:
export CC=pgcc
export CFLAGS="-Mvect=sse -Mscalarsse -Mcache_align -O2 -Kieee"
export F77=pgf77
export FFLAGS="-Mvect=sse -Mscalarsse -Mcache_align -O2 -Kieee"
export CXX=pgCC
export CXXFLAGS="-Mvect=sse -Mscalarsse -Mcache_align -O2 -Kieee"
export FC=pgf95
export FCFLAGS="-Mvect=sse -Mscalarsse -Mcache_align -O2 -Kieee"
export SHLIB_CXXLDFLAGS=-shared
export SHLIB_LDFLAGS=-shared
./configure --prefix=/usr/local/packages/R-2.6.0-acml \
--with-blas="-lacml" --x-includes=/usr/X11R6/include
--x-libraries=/usr/X11R6/lib64



[Rd] Problem with configure's detection of glob on 2.6.0 (PR#10468)
m.pacey at lancaster.ac.uk