简体   繁体   English

在Docker容器中安装R软件包时缺少'aclocal-1.14'

[英]'aclocal-1.14' is missing when installing R package in docker container

I am trying to install the package flowDensity when building a docker container using the latest bioconductor image release_core2. 我正在尝试使用最新的生物导体映像release_core2构建docker容器时安装package flowDensity I receive the following error: 我收到以下错误:

ERROR: dependencies 'rgeos', 'flowWorkspace' are not available for package 'flowDensity' 错误:依赖项“ rgeos”,“ flowWorkspace”不可用于程序包“ flowDensity”

I could fix the first one by adding apt-get install libgeos-dev to the dockerfile. 我可以通过在dockerfile中添加apt-get install libgeos-dev来解决第一个问题。 However, the second one is more tricky. 但是,第二个比较棘手。 It comes down to the package RProtoBufLib , which is a dependency for cytolib and hence for flowWorkspace . 它归结为RProtoBufLib软件包,它是cytolib的依赖关系,因此也是flowWorkspace的依赖关系。 I receive the following error when installing RProtoBufLib : 安装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

I found this question , but I have no idea how to go about this when building a docker container. 我发现了这个问题 ,但是在构建Docker容器时我不知道该如何解决。 Any suggestions are welcome. 欢迎任何建议。 Thanks! 谢谢!

I've recreated your issue on my local environment. 我已经在本地环境上重新创建了您的问题。 The problem is that you don't have automake, autoconf and libtoolize installed. 问题是您没有安装automake,autoconf和libtoolize。

These are my install.R and Dockerfile script. 这些是我的install.RDockerfile脚本。

install.R: install.R:

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

Dockerfile: 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

In order to build the project I've executed this command: 为了构建项目,我执行了以下命令:

docker build -t rbiotest .

NOTE: Build time will seem eternal. 注意:构建时间似乎是永恒的。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM