readlineをダウンロードするだけでなく、実際にインストールしてから、とでポイントrpy2
する必要がCFLAGS
ありLDFLAGS
ます。
このアプローチを試してください。それは私にとってほとんど機能しています-私は同じ問題を抱えていますが、rpy2が私のhomedirインストールの代わりにシステムRに対してリンクしているように見える追加のしわがあります。
まず、readlineをにダウンロードし~/src/readline-6.2
、でインストールしました./configure --prefix=$HOME && make && make install
。(ソースをダウンロードするだけでなく、どこかにインストールする必要があります。)
次に、Rを再コンパイルしました
CPPFLAGS="-I/usr/local/include -I$HOME/include/" \
LDFLAGS="-L/usr/local/lib64 -L/usr/local/lib -L$HOME/lib64 -L$HOME/lib" \
./configure --prefix=$HOME --enable-BLAS-shlib --enable-R-shlib
make
make install
Rは間違いなくそのreadlineを使用しています:
$ ldd ~/lib64/R/lib/libR.so | grep readline
libreadline.so.6 => /home/dsutherl/lib/libreadline.so.6 (0x00007f8104207000)
Pythonの自宅インストールでも同じです(3.2.3、h5pyはまだ3.3で動作しないため):
CFLAGS="-I/usr/local/include -I$HOME/include/" \
LDFLAGS="-L/usr/local/lib64 -L/usr/local/lib -L$HOME/lib64 -L$HOME/lib" \
./configure --prefix=$HOME
make
make install
そしてまた:
$ ldd ~/lib/python3.2/lib-dynload/readline.cpython-32m.so | grep readline
libreadline.so.6 => /home/dsutherl/lib/libreadline.so.6 (0x00007fbfff5c2000)
次に、rpy2ソースをダウンロードして、次のようにビルドしました。
CFLAGS="-I/usr/local/include -I$HOME/include/" \
LDFLAGS="-L/usr/local/lib64 -L/usr/local/lib -L$HOME/lib64 -L$HOME/lib" \
python3 setup.py build --r-home $HOME/lib64/R install
これは成功したように見え、右へのリンクldd
で.so
sを使用しています...しかし、明示的であるにもかかわらず、私の代わりにシステムにリンクしています。site-packages/rpy2
libreadline
R
--r-home