11.5. Installing MATLAB®
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 Section 11.5.3, “Linking the Java™ Runtime Environment”.

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 | Up | Next
11.4. Installing Maple™ | Home | 11.6. Installing Oracle®

All FreeBSD documents are available for download at http://ftp.FreeBSD.org/pub/FreeBSD/doc/

Questions that are not answered by the documentation may be sent to <freebsd-questions@FreeBSD.org>.
Send questions about this document to <freebsd-doc@FreeBSD.org>.