web-dev-qa-db-ja.com

--enable-R-shlibを使用してR-3.1.2を構成する方法

コマンドを使用してUbuntuにR-3.1.2をインストールしました

wget http://cran.r-project.org/src/base/R-3/R-3.1.2.tar.gz
tar xvfz R-3.1.2.tar.gz
cd R-3.1.2
./configure
make
Sudo make install

RStudioを起動しようとすると、エラーが発生しました

R共有ライブラリ(/usr/local/lib/R/lib/libR.so)が見つかりません。これがRのカスタムビルドである場合、-enable-R-shlibオプションを使用してビルドされましたか?

だから私は戻って再構成しようとしました

./configure --enable-R-shlib=yes
make

しかし、私はエラーが発生しました

collect2: error: ld returned 1 exit status
make[3]: *** [libR.so] Error 1
make[3]: Leaving directory `/usr/local/lib/R-3.1.2/src/main'
make[2]: *** [R] Error 2
make[2]: Leaving directory `/usr/local/lib/R-3.1.2/src/main'
make[1]: *** [R] Error 1
make[1]: Leaving directory `/usr/local/lib/R-3.1.2/src'
make: *** [R] Error 1

スタックオーバーフローを検索したとき、私はここで答えを見つけました: -enable-R-shlibを使用してR-3.0.1を構成する方法 問題は、次のディレクトリでコンパイルしようとしたことであることが示唆されました以前は「--enable-R-shlib」オプションなしでコンパイルしていました

コマンドを使用して問題を解決しようとしました

make uninstall

多くの人が「「アンインストール」のために何もする必要はありません」というエラーは発生しません。ステートメントが、Rを正常にアンインストールしました

./configure --enable-R-shlib=yes

エラーが発生します

config.status: error: cannot find input file: `src/library/base/DESCRIPTION.in'

その後

make

以前に作成しようとしたときと同じエラーが発生します。

私がどこで間違っているのかを知るのを手伝ってくれませんか?

13
Barker

make uninstallmake installステップのみを元に戻します。これは通常、ファイルをコンパイルディレクトリからシステム上のディレクトリに適切にコピーし、バイナリをたとえば/usr/binに配置して道。以前のコンパイルを行ったディレクトリをクリーンアップしたい場合は、make clean(またはmake distcleanを使用します。Rに関する限り、現在の違いは忘れていますが、慣例では、ビルドディレクトリを事前構成し、事前ビルド状態にします。).

また、一般に、Rソースを含むdirにビルドすることは望ましくありません(./configureはあなたが実行していることを示唆しています)。