При установке дополнительных пакетов с помощью встроенного в 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 начали благополучно устанавливаться.
Таким образом проблема, как мне кажется, заключается в самой ОС, так как в другой ОС всё проходит отлично.
Кто-нибудь сталкивался с такой ситуацией, как она решается?
Octave, установка пакетов
-
- Сообщения: 6
- Зарегистрирован: 23 фев 2016, 13:58
Re: Octave, установка пакетов
Да, для сборки доп. пакетов необходим octave-devel. Лучше бы выдавать сообщение об этом. Видимо, это можно сделать, раз в убунте так:)
Предупреждения про -Wformat видимо происходят от того, что octave пытается использовать наши дефолтные флаги компиляции, которые использовались и при сборке самого octave. Вот и вылезают такие сообщения, но на результат они влиять не должны. И у меня сообщения об ошибке не появляется, по крайней мере control похоже успешно собрался.
Предупреждения про -Wformat видимо происходят от того, что octave пытается использовать наши дефолтные флаги компиляции, которые использовались и при сборке самого octave. Вот и вылезают такие сообщения, но на результат они влиять не должны. И у меня сообщения об ошибке не появляется, по крайней мере control похоже успешно собрался.
-
- Сообщения: 6
- Зарегистрирован: 23 фев 2016, 13:58
Re: Octave, установка пакетов
Проверьте:d_uragan писал(а):И у меня сообщения об ошибке не появляется, по крайней мере control похоже успешно собрался.
pkg list
Должен появиться список установленных дополнительных пакетов.
-
- Сообщения: 6
- Зарегистрирован: 23 фев 2016, 13:58
Re: Octave, установка пакетов
d_uragan
Запустил установку с опцией -verbose и нашёл в логах такую ошибку:
Запустил установку с опцией -verbose и нашёл в логах такую ошибку:
Что это должно означать? Я в этом сообщении вообще ничего не понимаю. Может быть опять не хватает какого-то пакета из репозитария ROSA?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»
-
- Сообщения: 6
- Зарегистрирован: 23 фев 2016, 13:58
Re: Octave, установка пакетов
Всё-таки это была ошибка сборщиков RPM-ок для ROSA. Ошибку я нашёл:
В каталоге /usr/lib64 есть две библиотеки - libGL.so.1 и libGLU.so.1, а надо, чтобы они назывались - libGL.so и libGLU.so.
Разработчиков прошу учесть это.
В каталоге /usr/lib64 есть две библиотеки - libGL.so.1 и libGLU.so.1, а надо, чтобы они назывались - libGL.so и libGLU.so.
Разработчиков прошу учесть это.
Re: Octave, установка пакетов
Дело в том, что libGL.so и libGLU.so - это development-файлы для библиотек libGL.so.1 и libGLU.so.1, они находятся в пакетах lib[64]gl-devel и lib[64]glu-devel. Видимо, надо просто эти *-devel пакеты в зависимости для octave добавить.VadimIsaev писал(а):В каталоге /usr/lib64 есть две библиотеки - libGL.so.1 и libGLU.so.1, а надо, чтобы они назывались - libGL.so и libGLU.so.
Intel Core i7-6700 / 8 Gb RAM / GeForce GTX 750 Ti / Rosa 2016.1 i586