Octave, установка пакетов

Ответить
VadimIsaev
Сообщения: 6
Зарегистрирован: 23 фев 2016, 13:58
Operating system: ROSA Fresh R7 KDE

Octave, установка пакетов

Сообщение VadimIsaev » 23 фев 2016, 14:17

При установке дополнительных пакетов с помощью встроенного в Octave менеджера пакетов (pkg) возник интересный баг, который специфичен именно для ОС ROSA, т.к. проверка в ОС XUbuntu показала, что там с установкой пакетов всё отлично. Описание:
При попытке установить новый пакет (для примера, это control-3.0.0) после ввода:

>>pkg install -forge control

В ответ получаю сообщение:

error: cellfun: C must be a cell array

Поиск в интернете навёл на решение установить дополнительно пакет octave-development, после чего сообщение об ошибке поменялось на:

f951 : warning: command line option "-Wformat=1" valid for C/C++/ObjC/ObjC++
but not for Fortran

Таких сообщений выскакивает просто громадное количество, как выяснилось, при компиляции каждого модуля входящего в пакет control. Тем не менее модули откомпилировались, но в конце всегда выскакивает ошибка:

pkg: error running `make' for the control package.

Теперь опишу то, что я предпринял в системе XUbuntu (для сравнения).
После ввода команды:

>>pkg install -forge control

появилось сообщение, что мне нужно установить дополнительный пакет liboctave-dev из репозитория операционной системы. После установки этого пакета, пакеты в Octave начали благополучно устанавливаться.
Таким образом проблема, как мне кажется, заключается в самой ОС, так как в другой ОС всё проходит отлично.

Кто-нибудь сталкивался с такой ситуацией, как она решается?

d_uragan
Сообщения: 505
Зарегистрирован: 23 ноя 2011, 21:27

Re: Octave, установка пакетов

Сообщение d_uragan » 24 фев 2016, 15:37

Да, для сборки доп. пакетов необходим octave-devel. Лучше бы выдавать сообщение об этом. Видимо, это можно сделать, раз в убунте так:)

Предупреждения про -Wformat видимо происходят от того, что octave пытается использовать наши дефолтные флаги компиляции, которые использовались и при сборке самого octave. Вот и вылезают такие сообщения, но на результат они влиять не должны. И у меня сообщения об ошибке не появляется, по крайней мере control похоже успешно собрался.

VadimIsaev
Сообщения: 6
Зарегистрирован: 23 фев 2016, 13:58
Operating system: ROSA Fresh R7 KDE

Re: Octave, установка пакетов

Сообщение VadimIsaev » 24 фев 2016, 18:01

d_uragan писал(а):И у меня сообщения об ошибке не появляется, по крайней мере control похоже успешно собрался.
Проверьте:

pkg list

Должен появиться список установленных дополнительных пакетов.

VadimIsaev
Сообщения: 6
Зарегистрирован: 23 фев 2016, 13:58
Operating system: ROSA Fresh R7 KDE

Re: Octave, установка пакетов

Сообщение VadimIsaev » 27 фев 2016, 11:21

d_uragan

Запустил установку с опцией -verbose и нашёл в логах такую ошибку:
g++ -shared -Wl,-Bsymbolic -o __control_helper_functions__.oct __control_helper_functions__.o -L/usr/lib64/octave/4.0.0 -L/usr/lib64 -loctinterp -loctave -lgfortran -llapack -lGL -lGLU -lpthread
Makefile:44: ошибка выполнения рецепта для цели «__control_helper_functions__.oct»
Что это должно означать? Я в этом сообщении вообще ничего не понимаю. Может быть опять не хватает какого-то пакета из репозитария ROSA?

VadimIsaev
Сообщения: 6
Зарегистрирован: 23 фев 2016, 13:58
Operating system: ROSA Fresh R7 KDE

Re: Octave, установка пакетов

Сообщение VadimIsaev » 27 фев 2016, 11:36

Всё-таки это была ошибка сборщиков RPM-ок для ROSA. Ошибку я нашёл:

В каталоге /usr/lib64 есть две библиотеки - libGL.so.1 и libGLU.so.1, а надо, чтобы они назывались - libGL.so и libGLU.so.

Разработчиков прошу учесть это.

Аватара пользователя
Pulfer
Сообщения: 3358
Зарегистрирован: 15 фев 2012, 01:57
Operating system: ROSA Desktop Fresh 2016.1 i586
Откуда: Vladivostok, Russia

Re: Octave, установка пакетов

Сообщение Pulfer » 01 мар 2016, 18:11

VadimIsaev писал(а):В каталоге /usr/lib64 есть две библиотеки - libGL.so.1 и libGLU.so.1, а надо, чтобы они назывались - libGL.so и libGLU.so.
Дело в том, что libGL.so и libGLU.so - это development-файлы для библиотек libGL.so.1 и libGLU.so.1, они находятся в пакетах lib[64]gl-devel и lib[64]glu-devel. Видимо, надо просто эти *-devel пакеты в зависимости для octave добавить.
Intel Core i7-6700 / 8 Gb RAM / GeForce GTX 750 Ti / Rosa 2016.1 i586

Ответить

Вернуться в «Программы РОСА десктоп»