FreeBSD Handbook
Prev | Chapter 11 Linux® Binary Compatibility | Next

# 11.5 Installing MATLAB®

Contributed by Dan Pelleg.

This document describes the process of installing the Linux® version of MATLAB® version 6.5 onto a FreeBSD system. It works quite well, with the exception of the Java Virtual Machine™ which is described further in .

The Linux version of MATLAB can be purchased and licensed from MathWorks. Consider letting the company know that you would like a native FreeBSD version of this software.

## 11.5.1 Installing MATLAB

To install MATLAB:

1. Become `root`, as recommended by the installation script. Insert the installation CD and mount it. To start the installation script type:

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

   > Tip: The installer is graphical. If it is not able to open a display, type `setenv HOME ~`USER``, where `USER` is the user who ran su(1).

2. When asked for the MATLAB root directory, type: `/compat/linux/usr/local/matlab`.

   > Tip: For easier typing on the rest of the installation process, type this at the shell prompt: `set MATLAB=/compat/linux/usr/local/matlab`.

3. Edit the license file as instructed when obtaining the MATLAB license.

   > Tip: This file can be prepared in advance using an editor, and copied to `$MATLAB/license.dat` before the installer asks to edit it.

4. Complete the installation process.

At this point the MATLAB installation is complete. The following steps apply “glue” to connect it to the FreeBSD system.

## 11.5.2 License Manager Startup

1. Create symlinks for the license manager scripts:

       # ln -s $MATLAB/etc/lmboot /usr/local/etc/lmboot_TMW
       # ln -s $MATLAB/etc/lmdown /usr/local/etc/lmdown_TMW

2. Create a startup file named `/usr/local/etc/rc.d/flexlm`. The example below is a modified version of the distributed `$MATLAB/etc/rc.lm.glnx86`. The changes are file locations and startup of the license manager under Linux emulation.

       #!/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

   > Important: The file must be made executable:

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

   > Replace `username` with the name of a valid user on the system which is not `root`.

3. Start the license manager with the command:

       # service flexlm start

## 11.5.3 Linking the Java™ Runtime Environment

Change the Java™ Runtime Environment (JRE) link to one working under FreeBSD:

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

## 11.5.4 Creating a MATLAB Startup Script

1. Place the following startup script in `/usr/local/bin/matlab`:

       #!/bin/sh
       /compat/linux/bin/sh /compat/linux/usr/local/matlab/bin/matlab "$@"

2. Then, type the command `chmod +x /usr/local/bin/matlab`.

> Tip: Depending on the version of `emulators/linux_base`, running this script may result in errors. To avoid errors, edit `/compat/linux/usr/local/matlab/bin/matlab`, and change the line that says:

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

> to this line:

>     if test -L $newbase; then

## 11.5.5 Creating a MATLAB Shutdown Script

The following is needed to solve a problem with MATLAB not exiting correctly.

1. Create `$MATLAB/toolbox/local/finish.m` containing the single line:

       ! $MATLAB/bin/finish.sh

   > Note: The `$MATLAB` is literal.

   > Tip: The same directory contains `finishsav.m` and `finishdlg.m`, which allow the workspace to be saved before quitting. If either file is used, insert the line above immediately after the `save` command.

2. Create `$MATLAB/bin/finish.sh` which contains the following:

       #!/compat/linux/bin/sh
       (sleep 5; killall -1 matlab_helper) &
       exit 0

3. Make the file executable:

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

## 11.5.6 Using MATLAB

At this point, `matlab` is ready for use.

Prev | Home | Next
Installing Maple™ | Up | Installing Oracle®