10.5. Установка MATLAB®

Этот документ описывает процесс установки Linux-версии MATLAB® версии 6.5 на систему FreeBSD. Эта программа работает вполне нормально, за исключением Java Virtual Machine (см. Разд. 10.5.3).

Linux-версию MATLAB можно приобрести непосредственно в компании The MathWorks на сайте http://www.mathworks.com. Не забудьте получить файл лицензии или инструкции по его созданию. По ходу дела дайте знать производителю, что хотели бы увидеть версию их ПО специально для FreeBSD.

10.5.1. Процесс установки MATLAB

Для установки MATLAB выполните следующие шаги:

  1. Вставьте инсталляционный CD и смонтируйте его. Станьте пользователем root, как рекомендует скрипт установки. Для запуска скрипта установки наберите:

    # /compat/linux/bin/sh /cdrom/install
    

    Подсказка: Запускается графический инсталлятор. Если вы получаете сообщения о невозможности открыть дисплей, наберите setenv HOME ~USER, где USER - пользователь, от имени которого выполнена команда su(1).

  2. При запросе корневого каталога MATLAB, наберите: /compat/linux/usr/local/matlab.

    Подсказка: Чтобы упростить набор остальных команд в ходе установки, выполните в командном интерпретаторе следующую команду: set MATLAB=/compat/linux/usr/local/matlab

  3. Отредактируйте файл лицензии в соответствии с инструкциями в полученной лицензии MATLAB.

    Подсказка: Этот файл можно подготовить заранее с помощью любого текстового редактора и скопировать его в $MATLAB/license.dat до того, как инсталлятор попросит его отредактировать.

  4. Завершите процесс установки.

В этот момент ваша установка MATLAB завершена. Следующие шаги позволяют ''связать'' эту программу с вашей системой FreeBSD.

10.5.2. Запуск диспетчера лицензий

  1. Создайте символические ссылки для скриптов диспетчера лицензий:

    # ln -s $MATLAB/etc/lmboot /usr/local/etc/lmboot_TMW
    # ln -s $MATLAB/etc/lmdown /usr/local/etc/lmdown_TMW
    
  2. Создайте файл запуска /usr/local/etc/rc.d/flexlm.sh. Представленный ниже пример - измененная версия входящего в дистрибутив файла $MATLAB/etc/rc.lm.glnx86. Изменены местонахождения файлов и диспетчер лицензий запускается под эмулятором Linux.

    #!/bin/sh
    case "$1" in
      start)
            if [ -f /usr/local/etc/lmboot_TMW ]; then
                  /compat/linux/bin/sh /usr/local/etc/lmboot_TMW -u username && echo 'MATLAB_lmgrd'
            fi
            ;;
      stop)
            if [ -f /usr/local/etc/lmdown_TMW ]; then
                /compat/linux/bin/sh /usr/local/etc/lmdown_TMW  > /dev/null 2>&1
            fi
            ;;
      *)
            echo "Usage: $0 {start|stop}"
            exit 1
            ;;
    esac
    
    exit 0
    

    Важно: Этот файл надо сделать выполняемым:

    # chmod +x /usr/local/etc/rc.d/flexlm.sh
    

    Вы также должны заменить username именем пользователя в вашей системе (но не root).

  3. Запустите диспетчер лицензий с помощью команды:

    # /usr/local/etc/rc.d/flexlm.sh start
    

10.5.3. Связь с Java™ Runtime Environment

Измените ссылку Java Runtime Environment (JRE) так, чтобы он ссылалась на версию, работающую в FreeBSD:

# cd $MATLAB/sys/java/jre/glnx86/
# unlink jre; ln -s ./jre1.1.8 ./jre

10.5.4. Создание скрипта запуска MATLAB

  1. Поместите следующий скрипт запуска в файл /usr/local/bin/matlab:

    #!/bin/sh
    /compat/linux/bin/sh /compat/linux/usr/local/matlab/bin/matlab "$@"
    
  2. Затем выполните команду chmod +x /usr/local/bin/matlab.

Подсказка: В зависимости от версии emulators/linux_base, при выполнении этого скрипта могут быть выданы сообщения об ошибках. Чтобы избежать этого, отредактируйте файл /compat/linux/usr/local/matlab/bin/matlab и измените строку вида:

if [ `expr "$lscmd" : '.*->.*'` -ne 0 ]; then

(в версии 13.0.1 это строка 410) на следующую строку:

if test -L $newbase; then

10.5.5. Создание скрипта остановки MATLAB

Следующие действия необходимы для решения проблемы с некорректным завершением работы MATLAB.

  1. Создайте файл $MATLAB/toolbox/local/finish.m и поместите в него одну строку:

    ! $MATLAB/bin/finish.sh
    

    Замечание: $MATLAB -- литерал.

    Подсказка: В том же каталоге находятся файлы finishsav.m и finishdlg.m, которые позволяют сохранять рабочее пространство перед выходом. Если вы используете любой из них, вставьте представленную выше строку сразу после команды save.

  2. Создайте файл $MATLAB/bin/finish.sh, который будет содержать следующий скрипт:

    #!/usr/compat/linux/bin/sh
    (sleep 5; killall -1 matlab_helper) &
    exit 0
    
  3. Сделайте этот файл выполняемым:

    # chmod +x $MATLAB/bin/finish.sh
    

10.5.6. Использование MATLAB

В этот момент все готово для выполнения команды matlab и начала использования этой программы.

Этот, и другие документы, могут быть скачаны с ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.