在Docker容器中安装R包时缺less“aclocal-1.14”

我正在尝试使用最新的bioconductor图像release_core2构builddocker容器时安装包flowDensity 。 我收到以下错误:

错误:依赖关系'rgeos','flowWorkspace'不能用于包'flowDensity'

我可以通过将apt-get install libgeos-dev到dockerfile来修复第一个问题。 但是,第二个更棘手。 它归结于包RProtoBufLib ,它是cytolib的依赖关系,因此也是flowWorkspace的依赖关系。 安装RProtoBufLib时收到以下错误:

 config.status: error: cannot find input file: `config.h.in' CDPATH="${ZSH_VERSION+.}:" && cd . && /bin/bash /tmp/Rtmpro4BMN/R.INSTALL65e11754ab1d/RProtoBufLib/src/protobuf-2.6.0/missing aclocal-1.14 -I m4 /tmp/Rtmpro4BMN/R.INSTALL65e11754ab1d/RProtoBufLib/src/protobuf-2.6.0/missing: line 81: aclocal-1.14: command not found WARNING: 'aclocal-1.14' is missing on your system. You should only need it if you modified 'acinclude.m4' or 'configure.ac' or m4 files included by 'configure.ac'. The 'aclocal' program is part of the GNU Automake package: <http://www.gnu.org/software/automake> It also requires GNU Autoconf, GNU m4 and Perl in order to run: <http://www.gnu.org/software/autoconf> <http://www.gnu.org/software/m4/> <http://www.perl.org/> make: *** [aclocal.m4] Error 127 Makefile:407: recipe for target 'aclocal.m4' failed 

我发现这个问题 ,但我不知道如何去build造一个docker集装箱。 任何build议,欢迎。 谢谢!

我已经在我的本地环境中重新创build了您的问题。 问题是你没有安装automake,autoconf和libtoolize。

这些是我的install.RDockerfile脚本。

install.R:

 install.packages( c('RProtoBufLib', 'flowDensity'), dependencies = TRUE, repos = c('http://bioconductor.org/packages/3.6/bioc', 'https://cloud.r-project.org') ) 

Dockerfile:

 FROM bioconductor/release_core2 RUN apt-get update \ && apt-get install -y --no-install-recommends \ libgeos-dev ed \ automake autoconf libtool \ && rm -rf /var/lib/apt/lists/* ADD install.R /tmp RUN Rscript /tmp/install.R \ && rm -rf /tmp/downloaded_packages/ /tmp/*.rds \ && rm -rf /var/lib/apt/lists/* \ && rm -rf /usr/share/info/* \ && rm -rf /usr/share/man/* \ && rm -rf /usr/share/doc/* \ && rm -rf /var/lib/dpkg/info 

为了build立这个项目,我已经执行了这个命令:

 docker build -t rbiotest . 

注意:build立时间似乎是永恒的。

Interesting Posts