我正在尝试安装包Rcartogram
,这取决于fftw。我在Ubuntu上安装fftw没有问题,感谢这个问题/答案:How to install the fftw3 package of R in ubuntu 12.04?
library(fftw)
工作得很好,我有所有需要的库,包括:
root@DUS-WKS-B2011:~# ls /usr/include/fftw*
/usr/include/fftw3.f /usr/include/fftw3.h /usr/include/fftw3q.f03
/usr/include/fftw3.f03 /usr/include/fftw3l.f03
和图书馆:
root@DUS-WKS-B2011:~# ls /usr/lib/x86_64-linux-gnu/*fftw*
/usr/lib/x86_64-linux-gnu/libfftw3.a /usr/lib/x86_64-linux-gnu/libfftw3l_threads.so.3.4.4
/usr/lib/x86_64-linux-gnu/libfftw3f.a /usr/lib/x86_64-linux-gnu/libfftw3_omp.a
/usr/lib/x86_64-linux-gnu/libfftw3f_omp.a /usr/lib/x86_64-linux-gnu/libfftw3_omp.so
/usr/lib/x86_64-linux-gnu/libfftw3f_omp.so /usr/lib/x86_64-linux-gnu/libfftw3_omp.so.3
/usr/lib/x86_64-linux-gnu/libfftw3f_omp.so.3 /usr/lib/x86_64-linux-gnu/libfftw3_omp.so.3.4.4
/usr/lib/x86_64-linux-gnu/libfftw3f_omp.so.3.4.4 /usr/lib/x86_64-linux-gnu/libfftw3q.a
/usr/lib/x86_64-linux-gnu/libfftw3f.so /usr/lib/x86_64-linux-gnu/libfftw3q_omp.a
/usr/lib/x86_64-linux-gnu/libfftw3f.so.3 /usr/lib/x86_64-linux-gnu/libfftw3q_omp.so
/usr/lib/x86_64-linux-gnu/libfftw3f.so.3.4.4 /usr/lib/x86_64-linux-gnu/libfftw3q_omp.so.3
/usr/lib/x86_64-linux-gnu/libfftw3f_threads.a /usr/lib/x86_64-linux-gnu/libfftw3q_omp.so.3.4.4
/usr/lib/x86_64-linux-gnu/libfftw3f_threads.so /usr/lib/x86_64-linux-gnu/libfftw3q.so
/usr/lib/x86_64-linux-gnu/libfftw3f_threads.so.3 /usr/lib/x86_64-linux-gnu/libfftw3q.so.3
/usr/lib/x86_64-linux-gnu/libfftw3f_threads.so.3.4.4 /usr/lib/x86_64-linux-gnu/libfftw3q.so.3.4.4
/usr/lib/x86_64-linux-gnu/libfftw3l.a /usr/lib/x86_64-linux-gnu/libfftw3q_threads.a
/usr/lib/x86_64-linux-gnu/libfftw3l_omp.a /usr/lib/x86_64-linux-gnu/libfftw3q_threads.so
/usr/lib/x86_64-linux-gnu/libfftw3l_omp.so /usr/lib/x86_64-linux-gnu/libfftw3q_threads.so.3
/usr/lib/x86_64-linux-gnu/libfftw3l_omp.so.3 /usr/lib/x86_64-linux-gnu/libfftw3q_threads.so.3.4.4
/usr/lib/x86_64-linux-gnu/libfftw3l_omp.so.3.4.4 /usr/lib/x86_64-linux-gnu/libfftw3.so
/usr/lib/x86_64-linux-gnu/libfftw3l.so /usr/lib/x86_64-linux-gnu/libfftw3.so.3
/usr/lib/x86_64-linux-gnu/libfftw3l.so.3 /usr/lib/x86_64-linux-gnu/libfftw3.so.3.4.4
/usr/lib/x86_64-linux-gnu/libfftw3l.so.3.4.4 /usr/lib/x86_64-linux-gnu/libfftw3_threads.a
/usr/lib/x86_64-linux-gnu/libfftw3l_threads.a /usr/lib/x86_64-linux-gnu/libfftw3_threads.so
/usr/lib/x86_64-linux-gnu/libfftw3l_threads.so /usr/lib/x86_64-linux-gnu/libfftw3_threads.so.3
/usr/lib/x86_64-linux-gnu/libfftw3l_threads.so.3 /usr/lib/x86_64-linux-gnu/libfftw3_threads.so.3.4.4
当我想安装Rcartogram时,问题就出现了。原始网站已关闭,但幸运的是,他们将所有代码移至github:https://github.com/omegahat/Rcartogram。我想,更容易安装!不幸的是,
install_github("omegahat/Rcartogram")
给出以下错误:
> install_github("omegahat/Rcartogram")
Downloading GitHub repo omegahat/Rcartogram@master
from URL https://api.github.com/repos/omegahat/Rcartogram/zipball/master
Installing Rcartogram
'/usr/lib/R/bin/R' --no-site-file --no-environ --no-save --no-restore CMD \
INSTALL '/tmp/Rtmp3BpPB1/devtools5fd876a8a4b4/omegahat-Rcartogram-715cb93' \
--library='/usr/local/lib/R/site-library' --install-tests
* installing *source* package ‘Rcartogram’ ...
checking for pkg-config... /usr/bin/pkg-config
Looking for fftw3 files in /usr/local
Cannot find fftw.h
ERROR: configuration failed for package ‘Rcartogram’
* removing ‘/usr/local/lib/R/site-library/Rcartogram’
Error: Command failed (1)
错误消息很明确,它正在/usr/local
中查找包含,但它们位于/usr/include
中。如何告诉R在/usr/include
中搜索它们?我需要像-I/usr/include
这样的东西,但是
install_github("omegahat/Rcartogram", args = c('--configure-vars="-I/usr/include"'))
或类似的尝试不起作用。
我正在运行Ubuntu 14.10,64bit。
答案 0 :(得分:0)
尝试
install_github("omegahat/Rcartogram", args = c('--configure-vars="--with-fftw3=/usr"'))
因为在 https://github.com/omegahat/Rcartogram/blob/master/configure.in,
if test -r $FFTW3_DIR/include/fftw3.h ; then
PKG_CPPFLAGS="-I$FFTW3_DIR/include/"
...
fi;
和https://github.com/omegahat/Rcartogram/blob/master/configure
# Check whether --with-fftw3 or --without-fftw3 was given.
if test "${with_fftw3+set}" = set; then
withval="$with_fftw3"
FFTW3_DIR="$withval"
fi;