[Rd] Change in grep functionality causes Rd_db to fail silently (PR#9846)
Full_Name: Mike Pacey Version: 2.5.1 OS: SUSE SE Linux 9.3 Submission from: (NULL) (194.80.32.10) Versions 2.5.0 and 2.5.1 currently fail "make check" on my system due to a silent failure in the call to Rd_db("base"): - > ### Name: Rdutils > ### Title: Rd Utilities > ### Aliases: Rd_db Rd_parse > ### Keywords: utilities documentation > > ### ** Examples > > ## Build the Rd db for the (installed) base package. > db <- Rd_db("base") > ## Run Rd_parse on all entries in the Rd db. > db <- lapply(db, function(txt) Rd_parse(text = txt)) > ## Extract the metadata. > meta <- lapply(db, "[[", "meta") > > ## Keyword metadata per Rd file. > keywords <- lapply(meta, "[[", "keywords") > ## Tabulate the keyword entries. > kw_table <- sort(table(unlist(keywords))) Error in as.vector(x, mode) : invalid argument 'mode' Execution halted Tracing through the call to Rd_db, a call is made to list_files_with_exts(). The functionality of the relevant section of that function in 2.4.0 is replicated here: > dir [1] "/usr/local/packages/R-2.4.0-acml/lib64/R/library/base/man" > files <- list.files(dir) > files [1] "base.Rd.gz" > patt [1] "\\.(Rd|rd|Rd.gz|rd.gz)$" > grep(patt, files, value = TRUE) [1] "base.Rd.gz" In 2.5.1, the behaviour of grep() seems to have changed: > dir [1] "/usr/local/packages/src/R-2.5.1/library/base/man" > files <- list.files(dir) > files [1] "base.Rd.gz" > patt [1] "\\.(Rd|rd|Rd.gz|rd.gz)$" > grep(patt, files, value = TRUE) character(0) The result is that the call to Rd_db fails to find the relevant documentation for the base package. __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
[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 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 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@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel