UbuntuにRパッケージのgmpをインストールする方法を備忘録として残しておきます。

CライブラリGMP(GNU Multiple Precision Arithmetic)を使用した「制限なしの算術」、複数の高精度算術(大きな整数と有理数、素数検定、行列計算)を行うことのできるパッケージです。

RStudioのコンソールでgmpパッケージをインストールしようとすると、次のように表示されてインストールできません。これは、Ubuntu上にgmpライブラリがないことが原因です。


> install.packages("gmp")

* installing *source* package ‘gmp’ ...
**  パッケージ ‘gmp’ の解凍および MD5 サムの検証に成功しました 
creating cache ./config.cache
checking for __gmpz_ui_sub in -lgmp... no
configure: error: GNU MP not found, or not 4.1.4 or up, see http://gmplib.org
ERROR: configuration failed for package ‘gmp’
* removing '/home/[home-user]/R/x86_64-pc-linux-gnu-library/3.4/gmp'
Warning in install.packages :
  installation of package ‘gmp’ had non-zero exit status

そのため、ターミナルで次のコマンドを実行することによりUbuntu上にgmpライブラリをインストールします。


$ sudo apt-get install libgmp3-dev

Ubuntu上にgmpライブラリをインストールした後、RStudioのコンソールでgmpパッケージをインストールすれば成功します。


> install.packages("gmp")

* installing *source* package ‘gmp’ ...
**  パッケージ ‘gmp’ の解凍および MD5 サムの検証に成功しました 
creating cache ./config.cache
checking for __gmpz_ui_sub in -lgmp... yes
updating cache ./config.cache
creating ./config.status
creating src/Makevars
** libs
g++  -I/usr/share/R/include -DNDEBUG -I/usr/local/include/       -fpic  -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g  -c apply.cc -o apply.o
g++  -I/usr/share/R/include -DNDEBUG -I/usr/local/include/       -fpic  -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g  -c biginteger.cc -o biginteger.o
g++  -I/usr/share/R/include -DNDEBUG -I/usr/local/include/       -fpic  -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g  -c bigintegerR.cc -o bigintegerR.o
g++  -I/usr/share/R/include -DNDEBUG -I/usr/local/include/       -fpic  -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g  -c bigmod.cc -o bigmod.o
g++  -I/usr/share/R/include -DNDEBUG -I/usr/local/include/       -fpic  -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g  -c bigrational.cc -o bigrational.o
g++  -I/usr/share/R/include -DNDEBUG -I/usr/local/include/       -fpic  -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g  -c bigrationalR.cc -o bigrationalR.o
g++  -I/usr/share/R/include -DNDEBUG -I/usr/local/include/       -fpic  -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g  -c bigvec.cc -o bigvec.o
g++  -I/usr/share/R/include -DNDEBUG -I/usr/local/include/       -fpic  -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g  -c bigvec_q.cc -o bigvec_q.o
g++  -I/usr/share/R/include -DNDEBUG -I/usr/local/include/       -fpic  -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g  -c extract_matrix.cc -o extract_matrix.o
g++  -I/usr/share/R/include -DNDEBUG -I/usr/local/include/       -fpic  -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g  -c factor.cc -o factor.o
g++  -I/usr/share/R/include -DNDEBUG -I/usr/local/include/       -fpic  -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g  -c factorize.cc -o factorize.o
g++  -I/usr/share/R/include -DNDEBUG -I/usr/local/include/       -fpic  -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g  -c init.cc -o init.o
g++  -I/usr/share/R/include -DNDEBUG -I/usr/local/include/       -fpic  -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g  -c matrix.cc -o matrix.o
g++  -I/usr/share/R/include -DNDEBUG -I/usr/local/include/       -fpic  -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g  -c matrixq.cc -o matrixq.o
g++  -I/usr/share/R/include -DNDEBUG -I/usr/local/include/       -fpic  -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g  -c solve.cc -o solve.o
g++ -shared -L/usr/lib/R/lib -Wl,-Bsymbolic-functions -Wl,-z,relro -o gmp.so apply.o biginteger.o bigintegerR.o bigmod.o bigrational.o bigrationalR.o bigvec.o bigvec_q.o extract_matrix.o factor.o factorize.o init.o matrix.o matrixq.o solve.o -L/usr/local/lib/ -lgmp -L/usr/lib/R/lib -lR
installing to /home/[home-user]/R/x86_64-pc-linux-gnu-library/3.4/gmp/libs
** R
** data
** preparing package for lazy loading
Creating a generic function for ‘which.max’ from package ‘base’ in package ‘gmp’
Creating a generic function for ‘which.min’ from package ‘base’ in package ‘gmp’
** help
*** installing help indices
** building package indices

Attaching package: ‘gmp’

The following objects are masked from ‘package:base’:

    %*%, apply, crossprod, matrix, tcrossprod

	** testing if installed package can be loaded
	* DONE (gmp)

関連する記事

  • MySQL 月の差分を計算する方法MySQL 月の差分を計算する方法 MySQLで、月の差分を計算する方法をお伝えする。 計算は、PERIOD_DIFF関数を用いれば簡単に求めることができる。 これは、二つの期間の差の月数を返す関数である。 PERIOD_DIFF(P1, […]
  • R ggplot2を用いて散布図と周辺分布をプロットする方法R ggplot2を用いて散布図と周辺分布をプロットする方法 ggplot2を用いて散布図と周辺分布をプロットする2つの方法をお伝えします。 最初の方法は、ggExtraパッケージのggMarginal関数を用いる方法で、周辺分布を簡単にプロットすることができます。 二番目の方法は、散布図と周辺分布を作成した上で、一つにまとめる方法です。 それぞれ一長一短があります。 最初の方法は、コード量が少ないですがグラフとして […]
  • R言語 CRAN Task View:微分方程式R言語 CRAN Task View:微分方程式 CRAN Task View: Differential Equationsの英語での説明文をGoogle翻訳を使用させていただき機械的に翻訳したものを掲載しました。 Maintainer: Karline Soetaert, Thomas Petzoldt Contact: karline.soetaert at […]
  • R言語 CRAN Task View:自然言語処理R言語 CRAN Task View:自然言語処理 CRAN Task View: Natural Language Processingの英語での説明文をGoogle翻訳を使用させていただき機械的に翻訳したものを掲載しました。 Maintainer: Fridolin Wild, Performance Augmentation Lab (PAL), Oxford Brookes University, […]
  • Ubuntuに日本語係り受け解析器CaboChaをインストールする手順Ubuntuに日本語係り受け解析器CaboChaをインストールする手順 日本語のテキストデータを解析する際に、係り受けを抽出したいときがある。係り受けを行うことができるフリーのソフトウェアの一つにCaboChaがある。CaboChaは, Support Vector […]
Ubuntu,R gmpパッケージをインストールする方法