[Rd] possibly stupid question about RPM building

Prof Brian Ripley ripley at stats.ox.ac.uk
Wed Jul 19 08:32:09 CEST 2006


On Tue, 18 Jul 2006, Ben Bolker wrote:

> 
>   I'm trying to build an RPM of R 2.3.1 on a very old RedHat system
> (specifically, a ROCKS 3.3.0 cluster which is built on RH enterprise
> 3 (I think??))

`Very old' to me suggested 7.x or so ....

>   I downloaded R-2.3.1.tgz from CRAN; downloaded the R.spec file
> cran.r-project.org/http://cran.r-project.org/bin/linux/redhat/SRPMS/ ;
> and ran rpmbuild -ba R.specs.

I think the official procedures are to either

1) build the tarball according to the usual instructions
2) download the SRPM and use rpmbuild --rebuild on that

Can you check 1) works and if so try 2)? 

The error message suggests that either the wrong R is being picked up or 
that makeLazyLoading has indeed been run on the tools package. I don't 
know that it matters, but I would check that R_HOME was not set in the 
build environment.


>   Everything goes along fine until ...
> 
> make[5]: Entering directory
> `/usr/src/redhat/BUILD/R-2.3.1/src/library/tools/src'
> gcc -I../../../../include -I../../../../include  -I/usr/local/include
> -fpic  -O2 -g -march=i386 -mcpu=i686 -c text.c -o text.o
> gcc -I../../../../include -I../../../../include  -I/usr/local/include
> -fpic  -O2 -g -march=i386 -mcpu=i686 -c init.c -o init.o
> gcc -I../../../../include -I../../../../include  -I/usr/local/include
> -fpic  -O2 -g -march=i386 -mcpu=i686 -c Rmd5.c -o Rmd5.o
> gcc -I../../../../include -I../../../../include  -I/usr/local/include
> -fpic  -O2 -g -march=i386 -mcpu=i686 -c md5.c -o md5.o
> gcc -shared -L/usr/local/lib -o tools.so text.o init.o Rmd5.o md5.o
> -L../../../../lib -lR
> mkdir -p -- ../../../../library/tools/libs
> make[5]: Leaving directory
> `/usr/src/redhat/BUILD/R-2.3.1/src/library/tools/src'
> make[4]: Leaving directory
> `/usr/src/redhat/BUILD/R-2.3.1/src/library/tools/src'
> Warning message:
> package seems to be using lazy loading already in: makeLazyLoading("tools")
> Error in lazyLoadDBfetch(key, datafile, compressed, envhook) :
>         internal error in R_decompress1
> Execution halted
> 
> 
> Thereafter, going to /usr/src/redhat/BUILD/R-2.3.1/src/library/tools and
> executing "make" gives essentially the same result.
> 
>   digging deeper finds the error message within
> library/tools/R/makeLazyLoad.R:
> 
>   if (file.info(codeFile)["size"] == file.info(loaderFile)["size"])
>         warning("package seems to be using lazy loading already")
> 
> hacking this file to produce more output identifies codeFile
> as /usr/lib/R/library/tools/R/tools and loaderFile as below:
> 
> 
> [root at bolker-cluster tools]# ls -l
> /usr/src/redhat/BUILD/R-2.3.1/share/R/nspackloader.R
> -rw-r--r--    1 root     root          384 Jul 18 18:29
> /usr/src/redhat/BUILD/R-2.3.1/share/R/nspackloader.R
> [root at bolker-cluster tools]# ls -l /usr/lib/R/library/tools/R/tools
> -rw-r--r--    1 root     root          384 Jul 18 17:33
> /usr/lib/R/library/tools/R/tools
> 
>   ?? I am at the edge of my comprehension here ...
> 
>   Searching for "R_decompress1", "internal error", etc., on
> Google/RSiteSearch gave nothing
> 
> Searching on "package seems to be using lazy loading already" finds
> a few old hits, but no solutions.
> 
>   I have 252M free space (the first time this happened I had only
> 50M ...)
> 
> 
>   Could this possibly be related to having another (old) instance
> of R running at the same time?  Seems unlikely but ...  	
> 
> 
>   does anyone have any hints?
> 
>   sincerely
>     Ben Bolker
> 
> 

-- 
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



More information about the R-devel mailing list