29

By installing the package in R using the following command:

install.packages('FILE_PATH', repos=NULL, type = "source")

I got the following error:

Installing package into ‘/home/p/R/x86_64-pc-linux-gnu-library/3.0’ (as ‘lib’ is unspecified) Errore in rawToChar(block[seq_len(ns)]) : embedded nul in string: 'PK\003\004\024\0\002\0\b\0]\xadVCr\xcb\xea\xfcR\0\0\0\xa7\0\0\0\027\0\0\0bivpois-Rcode/.Rhistory+\xce/-JN\xd5PO\xca,+\xc8\xcf,\xd6+IL\xcaI\xd5\vR\xd7\xe4\xe5*\x86J\xe5\xe4\xea%\025`\b\xa5d\xa2\v楖\xe7%\xe6' Warning message: In install.packages("/home/p/Research/14_bivpois-Rcode.zip", repos = NULL, : installation of package ‘/home/p/Research/14_bivpois-Rcode.zip’ had non-zero exit status

The R version is the 3.0.2 (2013-09-25) -- "Frisbee Sailing" and the OS is Linux Mint (UNIX).

Why Do I get that error and what does it mean:

installation of package ‘/home/p/Research/14_bivpois-Rcode.zip’ had non-zero exit status

in R?

You can find the package here and the file 14_bivpois-Rcode.zip is the source.

I tried to install that locally and the path is the correct one.

Any suggestion to install that package in UNIX?

Shawn Mehan
  • 4,513
  • 9
  • 31
  • 51
QuantumGorilla
  • 583
  • 2
  • 10
  • 25
  • 1
    That archive doesn't have the required structure for a valid R package. It looks like you'll need to load the functions into your workspace from each of the .R files (e.g. with `source`), or else load the .RData file provided at the page you linked (see `?load`). – jbaums Jan 12 '15 at 00:21
  • Firstly, thanks for commenting the question. In your opinion, If I use load(), what could I use in place of 'envir = parent.frame'? I don't understand what R means with that kind of syntax. – QuantumGorilla Jan 12 '15 at 01:02
  • You can leave `envir` at its default - this argument just specifies where you'd like the functions/objects to be loaded. In your case the default will load them into the global environment. – jbaums Jan 12 '15 at 01:13

9 Answers9

16

Simple install following libs on your linux.
curl: sudo apt-get install curl
libssl-dev: sudo apt-get install libssl-dev
libcurl: sudo apt-get install libcurl4-openssl-dev
xml2: sudo apt-get install libxml2-dev

Vigen
  • 161
  • 1
  • 2
  • Works perfectly fine for every package you are trying to install and you get the ''installation of package ‘XXXX’ had non-zero exit status''. – Pavlos Ponos Sep 09 '20 at 19:48
13

The .zip file provided by the authors is not a valid R package, and they do state that the source is for "direct use" in R (by which I assume they mean it's necessary to load the included functions manually). The non-zero exit status simply indicates that there was an error during the installation of the "package".

You can extract the archive manually and then load the functions therein with, e.g., source('bivpois.table.R'), or you can download the .RData file they provide and load that into the workspace with load('.RData'). This does not install the functions as part of a package; rather, it loads the functions into your global environment, making them temporarily available.

You can download, extract, and load the .RData from R as follows:

download.file('http://stat-athens.aueb.gr/~jbn/papers/files/14/14_bivpois_RDATA.zip', 
              f <- tempfile())
unzip(f, exdir=tempdir())
load(file.path(tempdir(), '.RData'))

If you want the .RData file to be available in the current working directory, to be loaded in the future, you could use the following instead:

download.file('http://stat-athens.aueb.gr/~jbn/papers/files/14/14_bivpois_RDATA.zip', 
              f <- tempfile())
unzip(f, exdir=tempdir())
file.copy(file.path(tempdir(), '.RData'), 'bivpois.RData')
# the above copies the .RData file to a file called bivpois.RData in your current 
# working directory.
load('bivpois.RData')

In future R sessions, you can just call load('bivpois.RData').

jbaums
  • 27,115
  • 5
  • 79
  • 119
  • Everything is ok and there's no error, but I'm not able to call the package. It gives error if I try to invoke it in the current session by using library(). – QuantumGorilla Jan 12 '15 at 01:28
  • @Quantopic - that's because it's not a package. The functions are floating freely in your workspace. You will have to load the .Rdata file every time you want to use the functions. – jbaums Jan 12 '15 at 01:34
  • Ok. Thanks for the explaantions and help. Really clear and useful. – QuantumGorilla Jan 12 '15 at 01:36
  • @Quantopic - I've made some edits to clarify things a little. – jbaums Jan 12 '15 at 01:40
13

You can try using command : install.packages('*package_name', dependencies = TRUE)

For example is you have to install 'caret' package in your R machine in linux : install.packages('caret', dependencies = TRUE)

Doing so, all the dependencies for the package will also be downloaded.

Kshitiz Agrawal
  • 131
  • 1
  • 2
3

For those of you who are using MacOS and like me perhaps have been circling the internet as to why some R packages do not install here is a possible help.

If you get a non-zero exit status first check to ensure all dependencies are installed as well. Read through the messaging. If that is checked off, then look for indications such as gfortran: No such a file or directory. That might be due to Apple OS compiler issues that some packages will not install unless you use their binary version. Look for binary zip file in the package cran.r-project.org page, download it and use the following command to get the package installed:

install.packages("/PATH/zip file ", repos = NULL, type="source")

Sally_ar
  • 126
  • 8
2

Did you check the gsl package in your system. Try with this:

ldconfig-p | grep gsl

If gsl is installed, it will display the configuration path. If it is not in the standard path /usr/lib/ then you need to do the following in bash:

export PATH=$PATH:/your/path/to/gsl-config 

If gsl is not installed, simply do

sudo apt-get install libgsl0ldbl
sudo apt-get install gsl-bin libgsl0-dev

I had a problem with the mvabund package and this fixed the error

Cheers!

Steven Beaupré
  • 21,343
  • 7
  • 57
  • 77
Ricardo
  • 21
  • 1
2

Try use this:

    apt-get install r-base-dev

It will be help. After then I could makeinstall.packages('//package_name')

Tyomik_mnemonic
  • 786
  • 3
  • 9
  • 31
1

I was having a similar problem trying to install a package called AED. I tried using the install.packages() command:

install.packages('FILE_PATH', repos=NULL, type = "source")

but kept getting the following warning message:

Warning message:
In install.packages("/Users/blahblah/R-2.14.0/AED",  :
installation of package ‘/Users/blahblah/R-2.14.0/AED’ had
non-zero exit status

It turned out the folder 'AED' had another folder inside of it that hadn't been uncompressed. I just uncompressed it and tried installing the package again and it worked.

1

I have had the same problem with a specific package in R and the solution was I should install in the ubuntu terminal libcurl. Look at the information that appears above explaining to us that curl package has error installation.

I knew this about the message:

Configuration failed because libcurl was not found. Try installing:
 * deb: libcurl4-openssl-dev (Debian, Ubuntu, etc)
 * rpm: libcurl-devel (Fedora, CentOS, RHEL)
 * csw: libcurl_dev (Solaris)
If libcurl is already installed, check that 'pkg-config' is in your
PATH and PKG_CONFIG_PATH contains a libcurl.pc file. If pkg-config
is unavailable you can set INCLUDE_DIR and LIB_DIR manually via:
R CMD INSTALL --configure-vars='INCLUDE_DIR=... LIB_DIR=...'

To install it I used the net command:

sudo apt-get install libcurl4-openssl-dev

Sometimes we can not install a specific package in R because we have problems with packages that must be installed previously as curl package. To know if we should install it we should check the warning errors such as: installation of package ‘curl’ had non-zero exit status.

I hope I have been helpful

Dmitriy Fialkovskiy
  • 3,065
  • 8
  • 32
  • 47
1

I had the same problem, but the answer from @little_chemist helped me sorting it out. When installing packages from a file in a unix OS (Ubuntu 18.04 for me), the file can not be zipped. You are using:

install.packages("/home/p/Research/14_bivpois-Rcode.zip", repos = NULL, type="source")

I noticed the solution was as simple as unzipping the package. Additionally, unzip all (installation related?) packages inside, as @little_chemist points out. Then use install.packages:

install.packages("/home/p/Research/14_bivpois-Rcode", repos = NULL, type="source")

Hope it helps!

chilifan
  • 157
  • 1
  • 12