m.pacey at lancaster.ac.uk
2007-Nov-26 14:45 UTC
[Rd] Problem with configure's detection of glob on 2.6.0 (PR#10468)
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
ripley at stats.ox.ac.uk
2007-Nov-26 15:55 UTC
[Rd] Problem with configure's detection of glob on 2.6.0 (PR#10468)
I've no idea about the glob detection, but clearly this is the first system that allegedly lacks glob that we have encountered: the file needs to be #if defined(HAVE_GLOB) || defined(Win32) glob_t globbuf; #endif Have fixed that for 2.6.1 patched. On Mon, 26 Nov 2007, m.pacey at lancaster.ac.uk wrote:> 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 > > ______________________________________________ > 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