1

我在尝试安装后收到以下错误ggplot2,然后又尝试安装digest. 会话信息粘贴在下面。

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

有没有人遇到过这个?

> 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 
4

1 回答 1

1

我遇到了这种情况,似乎是因为您的操作系统标头未定义 BYTE_ORDER。我不知道哪些 Linux 发行版省略了这个,但我通过这样做解决了这个问题

$ wget http://cran.stat.ucla.edu/src/contrib/digest_0.6.3.tar.gz
$ tar zxvf digest_0.6.3.tar.gz

然后编辑 digest/src/sha2.c 并在顶部附近粘贴以下行:

#define BYTE_ORDER LITTLE_ENDIAN

(这是假设您的机器实际上是小端;英特尔/AMD 处理器属于这一类)。然后

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

错误的 MD5 校验和是无害的。

于 2013-08-06T23:50:58.583 回答