title: Problems installing R packages
body: <p>I'm setting up a new laptop running Gentoo and wish to install R (as I do on all of my computers!).</p>
  
  <p>However, I've hit a bit of a problem when it comes to installing packages.</p>
  
  <p>I first tried to:</p>
  
  <pre><code>&gt; install.packages(c("ggplot2", "plyr", "reshape2"))
  </code></pre>
  
  <p>And it duly downloaded all of the packages and its dependencies.  However they didn't install reporting.</p>
  
  <pre><code>Error in library(data.table) : there is no package called ‘data.table’
  Calls: .First -&gt; library
  Execution halted
  Error in library(data.table) : there is no package called ‘data.table’
  Calls: .First -&gt; library
  Execution halted
  Error in library(data.table) : there is no package called ‘data.table’
  Calls: .First -&gt; library
  Execution halted
  Error in library(data.table) : there is no package called ‘data.table’
  Calls: .First -&gt; library
  Execution halted
  Error in library(data.table) : there is no package called ‘data.table’
  Calls: .First -&gt; library
  Execution halted
  Error in library(data.table) : there is no package called ‘data.table’
  Calls: .First -&gt; library
  Execution halted
  Error in library(data.table) : there is no package called ‘data.table’
  Calls: .First -&gt; library
  Execution halted
  Error in library(data.table) : there is no package called ‘data.table’
  Calls: .First -&gt; library
  </code></pre>
  
  <p>Not a problem I'll just install the data.table package, unfortunately...</p>
  
  <pre><code>&gt; install.packages("data.table")
  trying URL 'http://cran.uk.r-project.org/src/contrib/data.table_1.8.2.tar.gz'
  Content type 'application/x-gzip' length 818198 bytes (799 Kb)
  opened URL
  ==================================================
  downloaded 799 Kb
  
  Error in library(data.table) : there is no package called ‘data.table’
  Calls: .First -&gt; library
  Execution halted
  
  The downloaded source packages are in
      ‘/tmp/RtmpbQtALj/downloaded_packages’
  Updating HTML index of packages in '.Library'
  Making packages.html  ... done
  Warning message:
  In install.packages("data.table") :
    installation of package ‘data.table’ had non-zero exit status
  </code></pre>
  
  <p>And there is no indication of why installation failed at all, so I've no idea how to go about solving this? A traceback() isn't available either.</p>
  
  <p>GCC is installed and configured as the output of gcc-config shows (and the fact that I can install other software from source no problem).</p>
  
  <pre><code># gcc-config -l
   [1] x86_64-pc-linux-gnu-4.6.3 *
  </code></pre>
  
  <p>Stumped as to how to go about solving this one.  Any thoughts or ideas on how to get more information out of <code>install.packages()</code> welcome.</p>
  
  <p>EDIT : contents of .First as requested....</p>
  
  <pre><code>&gt; .First
  function () 
  {
      library(data.table)
      library(foreign)
      library(ggplot2)
      library(Hmisc)
      library(lattice)
      library(plyr)
      library(rms)
      library(xtable)
      cat("\nWelcome at", date(), "\n")
  }
  </code></pre>
  
  <p>EDIT 2 : No Rprofile.site but there is /usr/lib64/R/library/base/R/Rprofile which has....</p>
  
  <pre><code># cat /usr/lib64/R/library/base/R/Rprofile 
  ### This is the system Rprofile file. It is always run on startup.
  ### Additional commands can be placed in site or user Rprofile files
  ### (see ?Rprofile).
  
  ### Notice that it is a bad idea to use this file as a template for
  ### personal startup files, since things will be executed twice and in
  ### the wrong environment (user profiles are run in .GlobalEnv).
  
  .GlobalEnv &lt;- globalenv()
  attach(NULL, name = "Autoloads")
  .AutoloadEnv &lt;- as.environment(2)
  assign(".Autoloaded", NULL, envir = .AutoloadEnv)
  T &lt;- TRUE
  F &lt;- FALSE
  R.version &lt;- structure(R.Version(), class = "simple.list")
  version &lt;- R.version            # for S compatibility
  
  ## for backwards compatibility only
  R.version.string &lt;- R.version$version.string
  
  ## NOTA BENE: options() for non-base package functionality are in places like
  ##            --------- ../utils/R/zzz.R
  
  options(keep.source = interactive())
  options(warn = 0)
  # options(repos = c(CRAN="@CRAN@"))
  # options(BIOC = "http://www.bioconductor.org")
  
  options(timeout = 60)
  options(encoding = "native.enc")
  options(show.error.messages = TRUE)
  ## keep in sync with PrintDefaults() in  ../../main/print.c :
  options(scipen = 0)
  options(max.print = 99999)# max. #{entries} in internal printMatrix()
  options(add.smooth = TRUE)# currently only used in 'plot.lm'
  options(stringsAsFactors = TRUE)
  if(!interactive() &amp;&amp; is.null(getOption("showErrorCalls")))
      options(showErrorCalls = TRUE)
  
  local({dp &lt;- Sys.getenv("R_DEFAULT_PACKAGES")
         if(identical(dp, "")) # marginally faster to do methods last
             dp &lt;- c("datasets", "utils", "grDevices", "graphics",
                     "stats", "methods")
         else if(identical(dp, "NULL")) dp &lt;- character(0)
         else dp &lt;- strsplit(dp, ",")[[1]]
         dp &lt;- sub("[[:blank:]]*([[:alnum:]]+)", "\\1", dp) # strip whitespace
         options(defaultPackages = dp)
       })
  
  ## Expand R_LIBS_* environment variables.
  Sys.setenv(R_LIBS_SITE =
             .expand_R_libs_env_var(Sys.getenv("R_LIBS_SITE")))
  Sys.setenv(R_LIBS_USER =
             .expand_R_libs_env_var(Sys.getenv("R_LIBS_USER")))
  
  .First.sys &lt;- function()
  {
      for(pkg in getOption("defaultPackages")) {
          res &lt;- require(pkg, quietly = TRUE, warn.conflicts = FALSE,
                         character.only = TRUE)
          if(!res)
              warning(gettextf('package %s in options("defaultPackages") was not found',     sQuote(pkg)),
                      call.=FALSE, domain = NA)
      }
  }
  
  .OptRequireMethods &lt;- function()
  {
        if("methods" %in% getOption("defaultPackages")) {
          res &lt;- require("methods", quietly = TRUE, warn.conflicts = FALSE,
                         character.only = TRUE)
          if(!res)
              warning('package "methods" in options("defaultPackages") was not found', call.=FALSE)
      }
  }
  
  if(nzchar(Sys.getenv("R_BATCH"))) {
      .Last.sys &lt;- function()
      {
          cat("&gt; proc.time()\n")
          print(proc.time())
      }
      ## avoid passing on to spawned R processes
      ## A system has been reported without Sys.unsetenv, so try this
      try(Sys.setenv(R_BATCH=""))
  }
  ###-*- R -*- Unix Specific ----
  
  .Library &lt;- file.path(R.home(), "library")
  .Library.site &lt;- Sys.getenv("R_LIBS_SITE")
  .Library.site &lt;- if(!nchar(.Library.site)) file.path(R.home(), "site-library") else unlist(strsplit(.Library.site, ":"))
  .Library.site &lt;- .Library.site[file.exists(.Library.site)]
  
  invisible(.libPaths(c(unlist(strsplit(Sys.getenv("R_LIBS"), ":")),
                        unlist(strsplit(Sys.getenv("R_LIBS_USER"), ":")
                        ))))
  
  local({
  ## we distinguish between R_PAPERSIZE as set by the user and by configure
  papersize &lt;- Sys.getenv("R_PAPERSIZE_USER")
  if(!nchar(papersize)) {
      lcpaper &lt;- Sys.getlocale("LC_PAPER") # might be null: OK as nchar is 0
      papersize &lt;- if(nchar(lcpaper))
          if(length(grep("(_US|_CA)", lcpaper))) "letter" else "a4"
      else Sys.getenv("R_PAPERSIZE")
  }
  options(papersize = papersize,
          printcmd = Sys.getenv("R_PRINTCMD"),
          dvipscmd = Sys.getenv("DVIPS", "dvips"),
          texi2dvi = Sys.getenv("R_TEXI2DVICMD"),
          browser = Sys.getenv("R_BROWSER"),
          pager = file.path(R.home(), "bin", "pager"),
          pdfviewer = Sys.getenv("R_PDFVIEWER"),
          useFancyQuotes = TRUE)
  })
  
  ## non standard settings for the R.app GUI of the Mac OS X port
  if(.Platform$GUI == "AQUA") {
      ## this is set to let RAqua use both X11 device and X11/TclTk
      if (Sys.getenv("DISPLAY") == "")
      Sys.setenv("DISPLAY" = ":0")
  
      ## this is to allow gfortran compiler to work
      Sys.setenv("PATH" = paste(Sys.getenv("PATH"),":/usr/local/bin",sep = ""))
  }## end "Aqua"
  
  local({
      tests_startup &lt;- Sys.getenv("R_TESTS")
      if(nzchar(tests_startup)) source(tests_startup)
  })
  </code></pre>