GOOGLE ADS

вторник, 10 мая 2022 г.

проблема с установкой nloptr 2.0.0 на Debian 9 с R 4.2.0 и cmake 3.23.1

на моей машине Debian 9 (растянутая), я установил R4.2.0 из исходников. у меня проблема с установкой nloptr 2.0.0 с использованием синтаксиса:

if (!require("nloptr", quietly = TRUE)) BiocManager::install("nloptr")

ошибка, которую я получаю:

/opt/R/4.2.0/lib/R/etc/Makeconf:177: recipe for target 'test-C-API.o' failed
make: *** [test-C-API.o] Error 1
ERROR: compilation failed for package 'nloptr'
* removing '/home/ezop/R/x86_64-pc-linux-gnu-library/4.2/nloptr'
The downloaded source packages are in
'/tmp/Rtmpqk35gk/downloaded_packages'
Warning message:
In install.packages(...):
installation of package 'nloptr' had non-zero exit status

Я также пытался установить его, скопировав скомпилированные двоичные файлы, которые я нашел в Интернете, но затем у меня возникла эта ошибка:

> library(nloptr)
Error: package or namespace load failed for 'nloptr' in dyn.load(file, DLLpath = DLLpath,...):
unable to load shared object '/home/ezop/R/x86_64-pc-linux-gnu-library/4.2/nloptr/libs/nloptr.so':
/home/ezop/R/x86_64-pc-linux-gnu-library/4.2/nloptr/libs/nloptr.so: invalid ELF header

Я проверил заголовок и информацию о машине, но не знаю, что делать дальше:

base) root@kanta:/home/ezop/R/x86_64-pc-linux-gnu-library/4.2# file /home/ezop/R/x86_64-pc-linux-gnu-library/4.2/nloptr/libs/nloptr.so
/home/ezop/R/x86_64-pc-linux-gnu-library/4.2/nloptr/libs/nloptr.so: Mach-O 64-bit x86_64 dynamically linked shared library, flags:<NOUNDEFS|DYLDLINK|TWOLEVEL|WEAK_DEFINES|BINDS_TO_WEAK|NO_REEXPORTED_DYLIBS|HAS_TLV_DESCRIPTORS>
(base) root@kanta:/home/ezop/R/x86_64-pc-linux-gnu-library/4.2# uname -a
Linux kanta 4.9.0-18-amd64 #1 SMP Debian 4.9.303-1 (2022-03-07) x86_64 GNU/Linux

Решение проблемы

У меня была такая же проблема несколько минут назад. Я попытался установить cmake и gfortran, но без особого успеха. Я заметил, когда пытался install.packages("nloptr")в последний раз, это сообщение об ошибке: There are binary versions available but the source versions are later. Do you want to install from sources the package which needs compilation?.

Дженни Брайан объясняет здесь, что достаточно простого «Нет».

Надеюсь, это будет полезно для вас двоих.

Комментариев нет:

Отправить комментарий

Laravel Datatable addColumn returns ID of one record only

Я пытаюсь использовать Yajra Datatable для интеграции DataTable на свой веб-сайт. Я смог отобразить таблицу, но столкнулся с проблемой. В по...