8/22/2006

Установка MATLAB в Debian GNU/Linux

Задача: надо поставить (не)честно (не)купленную (не)институтом систему численных математических расчётов MATLAB в Linux. В этом деле есть некоторые грабли, которые я постараюсь осветить.

Поставляется MATLAB на нескольких CD-дисках, и его инсталлятор, как указывается, способен работать на любых *никсах. Это, скорее всего, так и есть, потому что установочные скрипты писались с использованием стандартных средств типа cat, awk, sed и проч.
Читаем инструкцию по установке, заходим в каталог, где примонтирован диск/исо-образ и под рутом даём команду
# ./install
Если нам очень повезёт, то начнётся установка. Если установка плюётся ошибками, то перво-наперво проверяем, имеет ли наше устройство/исо-образ бит выполнения - если нет, даём права как минимум
# chmod 555 /где/устройство/накоторомматлаб
В Дебиане нам может не повезти ещё больше - у меня с MATLAB v7 и Debian v3.1 Sarge это выглядело так: в консольном режиме от имени root даётся команда:
# ./cdrom/install
что приводит к появлению сообщения
--------------------------------------------------------------------------------------------
Sorry! Could not determine the Format of the CDROM for architecture (glnx86)
--------------------------------------------------------------------------------------------
Можно пробовать запускать
# ./cdrom/install -t
в "терминальном режиме", но сообщение то же самое. Если запустить консольку из графического режима, то реакция будет другой:

Internal error 2: Could not determine the path of the
MATLAB root directory.

original command path = bash
current command path = bash

Please contact Mathworks Technical Support
for further assistance.

Установочный скрипт выругался, что не видит оболочки bash. Это, конечно, неправда, но как его убедить, чтобы он поставился? Этот золотой ключик мне сообщил замечательный человек - Игорь Чернявский, за что ему от меня земной поклон.

Так вот, если содержимое файла лицензии не позволяет вам обратиться в службу тех.поддержки, то попробуйте следующие действия (главное - выделено полужирно)
$ mkdir /usr/local/matlab7/
$ cp /media/cdrom/../license.txt /usr/local/matlab7/
$ cd /usr/local/matlab7/
$ sh /media/cdrom/install
Просто установщику нужно дать отдельную консоль. Опробовано в FedoraCore начиная с 3-ей версии и свежеустановленном Debian GNU/Linux v3.1 Sarge. Только после этого установщик начал ставить MATLAB, что происходит гладко и успешно.
Правда, на моём ноутбуке с точно таким же Саржем и с теми же манипуляциями установка в графическом режиме не пошла. Вылечил ключом -t и текстовым вариантом инсталляции.

Впечатления:
не знаю, у кого как, но в Дебиане графическая оболочка MATLAB работает отвратительно. Может быть потому, что у меня IceWM, но вылеты через раз после старта и крэш-дампы вёдрами меня, скажем так, не устраивают (обновлено: на новых вресиях, типа 2007b, графический интерфейс работает намного лучше). Поэтому чаще всего я запускаю MATLAB с ключом:
$ matlab -nojvm
что вырубает графическую морду и работает в терминальном режиме. Это гораздо лучше, быстрее и стабильнее. Кстати, не удивляйтесь, если некоторые скрипты будут отсутствовать в линуксовой версии - сейчас MathWorks интенсивно затачивает своё творение под мастдай, что на самом MATLAB отражается далеко не лучшим образом. Впрочем, к теме это уже не относится...

Лицензии и их срок действия
Грустно, когда срок лицензии на MATLAB у вас заканчивается. Тогда вы увидите что-то вроде этого при запуске или работе:

License checkout failed.
License Manager Error -10
Your license for MATLAB has expired.
Expire date: 11-nov-2011
If you are not using a trial license contact your License Administrator to obtain an updated
passcode.
Otherwise, contact your Sales Representative for a trial extension.

Troubleshoot this issue by visiting:
http://www.mathworks.com/support/lme10a

Diagnostic Information:
Feature: MATLAB
License path: /opt/matlab/etc/license.dat:/opt/matlab/etc/*.lic:
FLEXnet Licensing error: -10,32.
Severe:
The program '[10893] : Native' has exited with code 1 (0x1).
Впрочем, если отвести назад системные часы с помощью команды date, то всё заработает, как и раньше. Главное, не переключать часы во время работы матлаба, а то его лицензионному менеджеру это не нравится.

Пояснение:
MATLAB - это система численных математических расчётов, написанная на C и Фортране, имеющая простой интерпретируемый язык высокого уровня, на котором пишут скрипты/программы. Поставляется в виде интегрированной среды разработки, средств отладки и профилирования. Ядро системы закрыто, программа проприетарная, однако её расширения - простые текстовые скрипты - поставляются в открытом виде и реализуют базовые операции: работа с матрицами, БПФ, вейвлет-преобразование, работа с сигналами, статистические расчёты и проч. и проч. Так как скрипты открыты и их можно посмотреть и изменить для своих нужд, система MATLAB стала невероятно популярной и фактически стандартном де-факто в научном мире. Естественно, что MATLAB есть для всех платформ, а не только для Windows.

Есть ли альтернативы? Есть, но до уровня MATLAB они не дотягивают. Самая мощная из альтернативных систем - GNU/Octave, хорошо совместимая с MATLAB, но явно проигрывающая ей (хотя и приближающаяся) по функционалу. Остальные (Scilab, Yorik) отстают ещё больше на фоне MATLAB.

15 комментариев:

  1. Как насчёт maxima?
    Мне показалась программа достаточно продвинутой.
    Хотя у нас "ТехМаш" и МатКаду в учебных целях хватает.

    ОтветитьУдалить
  2. "Как насчёт maxima?"
    Не понял!? Maxima - это пакет символьных вычислений, а MATLAB - численных. Я занимаюсь обработкой графики, поэтому Maxima мне не особенно нужна, зато MATLAB очень. Там же в примечании мелким щрифтом вроде написано...

    "Мне показалась программа достаточно продвинутой."
    Не показалось, а так и есть :-) Именно из Максимы вышли Maple и MathCAD (хотя последний КАДом ну никак не могу назвать).

    "Хотя у нас "ТехМаш" и МатКаду в учебных целях хватает."
    Техническое машиностроение!? Кстати, не в курсе - нет ли обзоров по CAD-системам?
    То, что нашёл я, больше похоже на кладбище погибших кораблей... Скоро буду обзор по современному состоянию КАДов под Линукс писать.

    ОтветитьУдалить
  3. [quote]"Хотя у нас "ТехМаш" и МатКаду в учебных целях хватает."
    Техническое машиностроение!? Кстати, не в курсе - нет ли обзоров по CAD-системам?
    То, что нашёл я, больше похоже на кладбище погибших кораблей... Скоро буду обзор по современному состоянию КАДов под Линукс писать.[/quote]
    Технология машиностроения, если быть точным.
    Ничего более менее применительного даже в учебном процессе я не нашел.
    Или за деньги или такая лажа...
    Хотя вот www.opencascade.org.
    Но тоже... 8-(

    ОтветитьУдалить
  4. "www.opencascade.org"
    Спасибо за ссылочку, не знал. Сяду писать про кады, как освобожусь.

    ОтветитьУдалить
  5. Забыл совсем. 8-(
    На www.nixp.ru,в разделе софта можно посмотреть,но... 8-(

    ОтветитьУдалить
  6. имеется еще компилятор матлаба matcom.

    я правда все больше статистикой занимаюсь, а это R.

    ОтветитьУдалить
  7. 2 Anonymous
    имеется еще компилятор матлаба matcom.
    Гуглёж выдал что-то невразумительное: товарищ Анонимус, не могли бы вы на личную почту, что в профиле, кинуть что-нибудь про этот компилятор. Есть ли под Линукс, как работает, пару хороших ссылок. Почёт, фимиам и слава гарантированы :-)

    ОтветитьУдалить
  8. Пару дней назад установил легально купленный, чертовски дорогой Matlab 2006b на свою Ubuntu 6.06. Все сделал, как написано в мануале по установке, все работает замечательно. Интерфейс просто радует (после длительного использования Matlab 7.1). Работает заметно быстрее, чем 7.1 и нет ошибки с символической математикой. Единственное, что пришлось подправить - это русский язык в редакторе. В общем я доволен.

    ОтветитьУдалить
  9. Интереснее было бы почитать об об использовании бесплатных SciLab и Octave.

    ОтветитьУдалить
  10. не подскажите где собака зарыта:
    /.../update/install/main.sh: line 80: /.../Matlab_R2008a_Linux/update/bin/glnx86/xsetup: Нет прав
    права менял не помогает(

    ОтветитьУдалить
  11. а как менял права?
    надеюсь, работал из под рута?
    это пробовал ? :
    chown -Rh folder
    chmod -R 777 folder


    или хотя бы из под sudo..... и что с фаерволом?

    ОтветитьУдалить
  12. Поделитесь, у кого есть, крякнутым Матлабом под Линукс. Взаранее спасибо

    ОтветитьУдалить
  13. Добрый вечер!

    Установил Matlab R2010b на Debian. Установилось, но не запускается - пишет, что моим процессором (Athlon XP) не поддерживаются инструкции SSE2.
    Подскажите, кто знает, какую версию Matlab потянет мой процессор? Пробовал ставить Matlab6 - но ему требуется glibc версии 2, а у меня старше, и ради Matlab изменять версию glibc не хочется (попросту не запускается lmstart).

    Кто сталкивался - подскажите. Спасибо.

    ОтветитьУдалить
  14. Установил "лицензионный матлаб 7", но когда на графике подписал оси, оказалось что кириллица не читается!
    кто знает, в чём может быть дело?

    ОтветитьУдалить
  15. пытаюсь устанвливать, - говорит permission denied. Хотя права присвоены рутовские.

    ОтветитьУдалить