簡體   English   中英

安裝失敗 - R 包 Boom 0.9 在 Ubuntu 18.04 上

[英]Install Fails - R package Boom 0.9 on Ubuntu 18.04

我無法在 Ubuntu 18.04 上安裝 Boom 0.9,安裝 Boom 0.8 沒有問題。 但是,我們需要 0.9 作為 CausalImpact 的先決條件。

 g++: internal compiler error: Killed (program cc1plus) Please submit a full bug report, with preprocessed source if appropriate. See <file:///usr/share/doc/gcc-7/README.Bugs> for instructions. /usr/lib/R/etc/Makeconf:176: recipe for target 'Models/Glm/PosteriorSamplers/fill_poisson_mixture_approximation_table_2.o' failed make[1]: *** [Models/Glm/PosteriorSamplers/fill_poisson_mixture_approximation_table_2.o] Error 4 make[1]: *** Waiting for unfinished jobs.... make[1]: Leaving directory '/tmp/RtmpKl6J7B/R.INSTALL90e7ca998b2/Boom/src' ERROR: compilation failed for package 'Boom' * removing '/usr/local/lib/R/site-library/Boom' The downloaded source packages are in '/tmp/RtmpIk7UFT/downloaded_packages' Warning message: In install.packages("Boom") : installation of one or more packages failed, probably 'Boom'

我確保 build-essential 是最新可用的最新版本(並嘗試了 g++-8)。

看看: https : //cran.r-project.org/web/checks/check_results_Boom.html

檢查頁面說“GNU make”是一個未聲明的 SystemRequirement。

版本:0.9.1 檢查:Makefiles 中的 GNU 擴展結果:注意 GNU make 是一個 SystemRequirements。

由於您的安裝過程在 make[1] 處似乎也失敗了,因此檢查是否安裝了 GNU make 可能是有意義的。

我認為貴組織中的其他人可能已經就此與我聯系過。 我們正在飛行中調試。

Boom 是一個大包,在構建時可能會超時。 首先要檢查的是,您是否能夠使用多個內核進行構建(即您可以通過 -jx 標志來進行構建)。

作為診斷,您可以嘗試在不涉及 R. Clone https://github.com/steve-the-bayesian/BOOM 的情況下構建包,並使用 bazel(最新)或 make(不太過時)構建。 如果此構建成功,則比較傳遞給 R 構建與本機構建的標志。

為了更好地了解 R 在哪里失敗,請從 CRAN https://cran.r-project.org/src/contrib/Boom_0.9.1.tar.gz下載 Boom 包,然后從命令行 R CMD CHECK Boom_0 嘗試以下操作。 9.1.tar.gz

這可能會失敗,但它會生成一個名為 Boom.Rcheck 的目錄,其中包含一個包含所有編譯器輸出的文件 00install.out。

令人懷疑的是,上面的構建在 poisson_mixture_approximation_table 上失敗,這是一個可能會溢出堆棧的大文件。 或者這可能是巧合。

從源代碼安裝 Boom 包(也在 Docker 構建期間)可能由於以下幾個原因而失敗:

  • 低內存專業核心
  • 低堆棧大小
  • 構建過程超時(可能)

我們目前為 Docker 使用以下設置:

  • 核心:4
  • 內存:8GB

在開始安裝之前,我們可以使用以下命令將堆棧大小設置為 16MB:

碼頭工人:

RUN ulimit -s 16384 \
    && R -e 'install.packages("Boom");'

Linux:

ulimit -s 16384 \
    && R -e 'install.packages("Boom");'

注意:堆棧大小是與操作系統相關的配置,可能因所使用的主機操作系統而異。

注意:安裝boom 包的命令可能因您的應用程序而異。 我們使用例如packrat。

類似問題:鏈接

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM