I receive the following error after trying to install ggplot2
which in turn tries to install digest
. The session info is pasted below.
sha2.c(88): catastrophic error: #error directive: Define BYTE_ORDER to be equal to either LITTLE_ENDIAN or BIG_ENDIAN
#error Define BYTE_ORDER to be equal to either LITTLE_ENDIAN or BIG_ENDIAN
Has anyone encountered this before?
> sessionInfo()
R version 2.15.2 (2012-10-26)
Platform: x86_64-unknown-linux-gnu (64-bit)
locale:
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8 LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
[7] LC_PAPER=C LC_NAME=C LC_ADDRESS=C LC_TELEPHONE=C LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] kernlab_0.9-18 xts_0.9-3 lmtest_0.9-31 sandwich_2.2-10 reshape2_1.2.2 plyr_1.8 zoo_1.7-9 data.table_1.8.8
loaded via a namespace (and not attached):
[1] grid_2.15.2 lattice_0.20-13 stringr_0.6.2 tcltk_2.15.2 tools_2.15.2
I encountered this and it appears that it happens because your OS headers don't define BYTE_ORDER. I don't know what Linux distributions omit this, but I solved this by doing
$ wget http://cran.stat.ucla.edu/src/contrib/digest_0.6.3.tar.gz
$ tar zxvf digest_0.6.3.tar.gz
Then edit digest/src/sha2.c and stick the following line in there near the top:
#define BYTE_ORDER LITTLE_ENDIAN
(this is assuming your machine is, in fact, little endian; Intel/AMD processors fall into this category). Then
R CMD INSTALL digest
* installing to library ‘/N/u/glock/sierra/R/lib64/R/library’
* installing *source* package ‘digest’ ...
file ‘src/sha2.c’ has the wrong MD5 checksum
The wrong MD5 checksum is harmless.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.