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

これに遭遇しましたが、OS ヘッダーで 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

(これは、マシンが実際にはリトル エンディアンであると仮定しています。Intel/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 に答える