R took a long time to compile yesterday because it depends on all kinds of things that I didn't have installed already. One of them is the Tcl/Tk language, which apparently comes from two separate FreeBSD ports -- one named tcl85 and the other tk85. The latter made trouble. It aborted the installation and it advised me to remove a directory called /nonexistent.

I googled around a bit and it turns out that /nonexistent is the default home directory of all sorts of system users, such as www or cups, which you might want to have. So, I read the friendly manual and decided that these users needed a new home. There seem to be two steps to that.

The first is that you move their stuff, like so:

# cp -R /nonexistent /newhome

The second is that you move them to the new address. You can see all the system users who reside at /nonexistent in the /etc/passwd file. If you don't have too many -- I had seven -- you can move them one by one with the command

# chpass user

The chpass command uses the vi editor to do the job, or whatever is your default $EDITOR setting. If, like me, you don't use the thing often enough, you may prefer an easier one. For that, you need to change the environment variable EDITOR to something that works for you before you do chpass. I chose ee:

# setenv EDITOR ee

Finally, I removed the offending /nonexistent directory:

# rm -Rf /nonexistent

After that, I thought I'd resume installation. First I found the port:

# whereis R

Then I cd'd to it, then did:

# make deinstall clean && make reinstall clean

The installation resumed where the tk85 port had left off. Now I have R under FreeBSD. I used to dabble in R a while back, with the help of this book. I had it installed under Windows XP from binaries, and I must say that that process was a lot more convenient.