Rolf Turner <[EMAIL PROTECTED]> writes: > Yesterday I downloaded R-2.2.0.tar.gz, gunzipped and untarred, and > did the usual ./configure and make. Everything seemed to go smoothly > until it got to the bit about installing recommended packages. It > got past ``spatial'' but turned up a fatal error in respect of the > ``boot'' package. > > Here is some of what appeared on the screen: > > ===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+=== > . > . > . > trls.influence text html latex example > trmat text html latex example > variogram text html latex example > ** building package indices ... > * DONE (spatial) > begin installing recommended package boot > * Installing *source* package 'boot' ... > mkdir: cannot create directory `/tmp/Rtmp9726': File exists > ERROR: cannot create temporary R session directory > ERROR: installing package DESCRIPTION failed > /home/faculty/rolf/Rinst/R-2.2.0/bin/INSTALL: test: argument expected > *** Error code 1 > make: Fatal error: Command failed for target `boot.ts' > Current working directory > /homes/faculty/rolf/Rinst/R-2.2.0/src/library/Recommended > *** Error code 1 > make: Fatal error: Command failed for target `recommended-packages' > Current working directory > /homes/faculty/rolf/Rinst/R-2.2.0/src/library/Recommended > *** Error code 1 > make: Fatal error: Command failed for target `stamp-recommended' > ===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+=== > > The system I am working on is a ``sparc'' (from Sun) running > Solaris 2.9. > > I checked on /tmp, and there was indeed a directory (empty) named > Rtmp9726, owned by another user on our system. (It was dated October > 7, 2005, i.e. about a week ago.) Fortunately (???) I have superuser > priviledges, so I was able to remove this (empty) directory. I then > tried ``make'' again, and this time it ran to completion. So I'm > alright, Jack. It would seem however that something is not > ***quite*** as it should be in the installation procedure. I thought > I'd just draw this to youse guys' attention. :-)
This looks like it would be a generic issue, not particularly related to installation. The code in question should be this: #ifdef HAVE_MKDTEMP sprintf(tmp1, "%s/RtmpXXXXXX", tm); tmp = mkdtemp(tmp1); if(!tmp) R_Suicide(_("cannot mkdir R_TempDir")); #else sprintf(tmp1, "rm -rf %s/Rtmp%u", tm, (unsigned int)getpid()); R_system(tmp1); sprintf(tmp1, "%s/Rtmp%u", tm, (unsigned int)getpid()); res = mkdir(tmp1, 0755); if(res) { /* Try one more time, in case a dir left around from that process number from another user */ sprintf(tmp1, "rm -rf %s/Rtmp%u-%d", tm, (unsigned int)getpid(), rand() % 1000); R_system(tmp1); .... inside src/unix/sys-unix.c. I don't think Solaris has mkdtemp (ours don't anyway), and the name of the conflicting dir indicates that the code never went inside the if(res){...} so the conclusion would seem to be that mkdir fails to fail when it should. (Notice, BTW, that the name of the dir is keyed to the process ID of R, so removing the exising directory doesn't really help you. The thing that might help would be to remove all the Rtmp* directories at boot and periodically before PID wraparound.) -- O__ ---- Peter Dalgaard Ă˜ster Farimagsgade 5, Entr.B c/ /'_ --- Dept. of Biostatistics PO Box 2099, 1014 Cph. K (*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918 ~~~~~~~~~~ - ([EMAIL PROTECTED]) FAX: (+45) 35327907 ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel