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)

関連する記事

  • Python KNPを用いて係り受け構造を抽出する方法Python KNPを用いて係り受け構造を抽出する方法 Ubuntu14.04環境で、Python3と日本語構文・格・照応解析システムKNPを用いて係る語と受ける語のペアを抽出する方法をご紹介する。 係り受け構造を抽出するPython3のソースコードは次である。 from pyknp import KNP def […]
  • R dplyrパッケージで複数の列を文字列として指定し結合された列を追加する方法R dplyrパッケージで複数の列を文字列として指定し結合された列を追加する方法 Rのdplyrパッケージのmutate関数は新たに列を追加する関数です。 ここでは、mutate関数に文字列として与えた列に対して、paste関数で統合した結果を新たに追加する方法をお伝えします。 サンプルデータとして、統計的な学生の髪と目の色が収められているHairEyeColorを用います。 ただし、このサンプルデータはtableとなっておりますので、実際にはd […]
  • DockerでMySQL8.0を使う方法DockerでMySQL8.0を使う方法 DockerでMySQL8.0を使用できるまでの手順をお伝えします。 ここでは、docker-composeとDocker公式のMySQL8.0イメージを用います。 環境 ホストOS ホストOSはUbuntu 20.04を用いております。 $ cat /etc/lsb-release […]
  • R ggplotに回帰直線の式を表示する方法R ggplotに回帰直線の式を表示する方法 R言語のggplotにおいて、グラフに回帰直線の式を表示する方法をお伝えします。 ggplotのグラフに回帰直線の式を表示する方法はいくつかあります。 ここでは最も簡単と思われるggpmiscパッケージを用いて回帰直線の式を表示する方法をお伝えします。 環境 今回の作業環境をsessionInfo()関数で確認しておきます。 > […]
  • Ubuntu14.04とPython3でMeCabを使う方法Ubuntu14.04とPython3でMeCabを使う方法 MeCabは各種スクリプト言語(perl、ruby、python、Java)から、各言語バイディングで利用できるようになっている。 しかし、Pythonで用意されているのはPython2系のもので、残念ながらPython3系では使えない。 そこで、ここでは用意されているPython2系バイディングをPython3系に変換して使用する方法をお伝えする。 MeCab […]
Ubuntu,R gmpパッケージをインストールする方法