Ошибка установки пакета lme4 в Ubuntu 12.04

ИЗМЕНИТЬ:

Большое спасибо пользователю 20650, чей ответ решил эту проблему. Но если кто-нибудь знает, почему файл .Rprofile влияет на установку lme4 в Ubuntu 12.04, сообщите, потому что мне очень хотелось бы знать.


Исходное сообщение:

Я пытаюсь установить пакет doBy и у меня возникают проблемы. Это зависит от lme4, который по какой-то причине не компилируется ни из одного источника, который я пробовал до сих пор. Я был на нескольких ссылках на SO, включая эту и убежище не имел никакого успеха.

Вот фрагменты ошибок, которые я получаю при установке. Я пробовал это тремя разными способами, как указано ниже. Кто-нибудь знает, что-то случилось с lme4?

Попытка 1:

> install.packages('doBy')
# ...
# ERROR: compilation failed for package ‘lme4’
# * removing ‘/home/richard/R/x86_64-pc-linux-gnu-library/3.1/lme4’
# Warning in install.packages :
#   installation of package ‘lme4’ had non-zero exit status
# 
# Successfully loaded .Rprofile at Wed May 21 13:33:34 2014 
# ERROR: dependency ‘lme4’ is not available for package ‘doBy’
# * removing ‘/home/richard/R/x86_64-pc-linux-gnu-library/3.1/doBy’
# Warning in install.packages :
#   installation of package ‘doBy’ had non-zero exit status

Попытка 2:

> install.packages("lme4",repos = "http://r-forge.r-project.org")
# Installing package into ‘/home/richard/R/x86_64-pc-linux-gnu-library/3.1’
# (as ‘lib’ is unspecified)
# Warning in install.packages :
#   package ‘lme4’ is not available (for R version 3.1.0)

Попытка 3:

> install_github(repo = 'lme4/lme4', username = 'stevencarlislewalker')

введите здесь описание изображения


Запуск Ubuntu 12.04 LTS

> version
# _                           
# platform       x86_64-pc-linux-gnu         
# arch           x86_64                      
# os             linux-gnu                   
# system         x86_64, linux-gnu           
# status                                     
# major          3                           
# minor          1.0                         
# year           2014                        
# month          04                          
# day            10                          
# svn rev        65387                       
# language       R                           
# version.string R version 3.1.0 (2014-04-10)
# nickname       Spring Dance     

person Rich Scriven    schedule 21.05.2014    source источник
comment
Может sudo apt-get install r-cran-lme4 поможет? В противном случае вы можете попытаться вернуться к более старым исходным версиям, используя архив CRAN...   -  person Dirk Eddelbuettel    schedule 22.05.2014
comment
@DirkEddelbuettel, ну, это немного приблизило меня. Теперь это в моем списке, но я получаю Error: package ‘lme4’ was built before R 3.0.0: please re-install it   -  person Rich Scriven    schedule 22.05.2014
comment
Хорошо, но вы все еще не сказали, какой дистрибутив вы используете.   -  person Dirk Eddelbuettel    schedule 22.05.2014
comment
(1) Я не уверен, почему lme4 не будет доступен для версии 3.1 (проверка пакетов и страница CRAN выглядят нормально ). (2) Я не очень удивлен, что lme4 не строится на R-forge, но попробуйте repos="http://lme4.r-forge.r-project.org/repos" (3) sudo apt-get установить texinfo   -  person Ben Bolker    schedule 22.05.2014
comment
Спасибо @BenBolker, я попробую.   -  person Rich Scriven    schedule 22.05.2014
comment
У вас есть .Rprofile с указанными .first и .last - это вызвало у меня проблемы. Если это так, попробуйте временно удалить его и снова установить lme4.   -  person user20650    schedule 22.05.2014
comment
@ user20650, да. Я на самом деле только что добавил его несколько дней назад. Мне было интересно, почему мое сообщение .First появлялось в потоках ошибок.   -  person Rich Scriven    schedule 22.05.2014
comment
Я просто выдвинул возможное исправление. Если у вас есть доступ к средствам разработки (предположим, что это так, поскольку вы используете Ubuntu), не могли бы вы попробовать devtools::github_install("lme4","lme4") и сообщить мне, работает ли он?   -  person Ben Bolker    schedule 24.05.2014
comment
спасибо @DirkEddelbuettel, команда sudo apt-get install r-cran-lme4 заставит меня работать!   -  person SkyR    schedule 09.07.2018


Ответы (4)


Это (возможно) не может быть ответом на вопрос Ричарда, но повторяет проблему, с которой я столкнулся при установке lme4 на ubuntu 12,04 на Rv3.1. Было бы хорошо, если бы другие могли воспроизвести это.

Итак, следуя моему комментарию - заметив, что у Ричарда был .Rprofile, определение .First и .Last в моем .Rprofile привело к тому, что пакеты не были установлены.

Пример

Сначала удалите lme4

remove.packages("lme4")

Определить файл .Rprofile

## .First() run at the start of every R session.
.First <- function() {
cat("\nSuccessfully loaded your .Rprofile at", date(), "\n")
}

## .Last() run at the end of the session
.Last <- function() {
cat("\nGoodbye at ", date(), "\n")
}

Открыть R

Попробуйте установить lme4 - безуспешно и ошибка похожа на ошибку Ричарда выше.

install.packages("lme4")

...
* removing ‘/home/admin1/R/i686-pc-linux-gnu-library/3.1/lme4’
Warning in install.packages :
  installation of package ‘lme4’ had non-zero exit status

Поэтому переименуйте (или удалите) файл .Rprofile в терминале.

mv .Rprofile temp.Rprofile

Снова откройте R и попробуйте установить lme4.

install.packages("lme4")

...
* installing vignettes
** testing if installed package can be loaded
* DONE (lme4)

 library(lme4)
# Loading required package: Matrix
# Loading required package: Rcpp
person user20650    schedule 22.05.2014
comment
Большое спасибо Вам! Это сработало отлично. Я понятия не имею, почему .Rprofile влияет на установку lme4, но пока меня это не волнует. Спасибо еще раз. - person Rich Scriven; 23.05.2014
comment
@РичардСкривен; добро пожаловать. Да, я тоже не понимаю, но .First будет мешать установке нескольких пакетов (поэтому я удалил свой). В любом случае, добавление профиля было случаем, когда праздные руки были игрушкой дьявола. - person user20650; 23.05.2014
comment
Я надеюсь изучить это, но не знаю, как скоро я смогу добраться до этого. Если вы хотите, вы можете добавить задачу на github.com/lme4/lme4/issues. - person Ben Bolker; 23.05.2014

Это была ошибка, которая должна быть исправлена ​​этой фиксацией в разрабатываемой версии (на Github) а в релизе 1.1-7 когда выйдет (скоро?)

person Ben Bolker    schedule 27.05.2014

На основании ваших комментариев и расширенных вопросов:

  • Вы стреляете себе в ногу, устанавливая R 3.1.0 на Ubuntu 12.04.

  • Теперь вы запускаете R, который не синхронизирован с такими пакетами, как r-cran-lme4 в дистрибутиве.

  • Хорошая новость заключается в том, что вы можете запросить у дистрибутива информацию о так называемых Build-Depends, которые он знает, и пересобрать lme4 под R 3.1.0.

  • Или вы можете извлечь выгоду из другой работы Майкла на панели запуска и использовать его другое репо, что, например, делает код r-travis: sudo add-apt-repository -y "ppa:marutter/rrutter", за которым следует и sudo add-apt-repository -y "ppa:marutter/c2d4u"

Этот последний шаг даст вам множество готовых пакетов. В долгосрочной перспективе вам, конечно, лучше иметь возможность самостоятельно собирать пакеты из исходного кода...

person Dirk Eddelbuettel    schedule 21.05.2014
comment
FWIW у меня lme4 отлично работает на Ubuntu 12.04 - person Ben Bolker; 22.05.2014
comment
Мы все делаем. Инфраструктура Travis CI также использует версию 12.04. И сборка из исходников хорошо работает для большинства людей, включая вас и меня. - person Dirk Eddelbuettel; 22.05.2014
comment
Тогда я не совсем понимаю ваш первый пункт выше: что не так с установкой 3.1.0 на 12.04? - person Ben Bolker; 22.05.2014
comment
Разбивает r-cran-lme4 из дистрибутива, который был создан против актуального на тот момент 2. * независимо от того, что приводит к ошибке в его комментарии под его вопросом. - person Dirk Eddelbuettel; 22.05.2014
comment
Честно говоря, я был намного счастливее с R в Ubuntu, чем с Windows, с тех пор как я переключился. Это действительно первая проблема с установкой, с которой я столкнулся. Я могу быть linux-lifer теперь. Все намного лучше, и Ubuntu никогда не говорит мне, что я не отвечаю :) - person Rich Scriven; 22.05.2014
comment
@DirkEddelbuettel, оказывается, проблема была в моем .First звонке в моем .Rprofile. Теперь разобрался, но если вы знаете, почему возникает эта проблема, я хотел бы знать. - person Rich Scriven; 23.05.2014
comment
Просто заверните его в if (interactive()) {}. Вы можете иметь код в .Rprofile. - person Dirk Eddelbuettel; 23.05.2014
comment
Да, но на самом деле сбой был ошибкой пакета (вывод Rscript -e передавался в переменную среды в src/Makevars -- добавлено --vanilla) - person Ben Bolker; 24.05.2014
comment
Я понимаю. Мы тоже усвоили этот урок на своей шкуре, поскольку Rcpp раньше у нас были такие Rscript звонки. - person Dirk Eddelbuettel; 24.05.2014

 sudo apt-get install r-base-dev

решил проблему для меня

person jr1    schedule 02.04.2015