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™ (see
Section 10.5.3).
The Linux version of MATLAB
can be ordered directly from The MathWorks at https://www.mathworks.com. Make sure you also get the license file or
instructions how to create it. While you are there, let them know you would like a native
FreeBSD version of their software.
Insert the installation CD and mount it. Become root, as
recommended by the installation script. To start the installation script type:
#/compat/linux/bin/sh /cdrom/install
Tip: The installer is graphical. If you get errors about not being able to open
a display, type setenv HOME ~USER, where USER
is the user you did a su(1) as.
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
your shell prompt: set MATLAB=/compat/linux/usr/local/matlab
Edit the license file as instructed when obtaining the MATLAB license.
Tip: You can prepare this file in advance using your favorite editor, and copy
it to $MATLAB/license.dat before the installer asks you to edit
it.
Complete the installation process.
At this point your MATLAB
installation is complete. The following steps apply “glue” to connect it to
your FreeBSD system.
Create a startup file at /usr/local/etc/rc.d/flexlm.sh. 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.sh
You must also replace username above with the name
of a valid user on your system (and not root).
Then type the command chmod +x /usr/local/bin/matlab.
Tip: Depending on your version of emulators/linux_base, you may run into errors when running this
script. To avoid that, edit the file /compat/linux/usr/local/matlab/bin/matlab, and change the line that
says:
if [ `expr "$lscmd" : '.*->.*'` -ne 0 ]; then
(in version 13.0.1 it is on line 410) to this line:
The following is needed to solve a problem with MATLAB
not exiting correctly.
Create a file $MATLAB/toolbox/local/finish.m, and in it put
the single line:
! $MATLAB/bin/finish.sh
Note: The $MATLAB is literal.
Tip: In the same directory, you will find the files finishsav.m and finishdlg.m, which let
you save your workspace before quitting. If you use either of them, insert the line above
immediately after the save command.
Create a file $MATLAB/bin/finish.sh, which will contain the
following: