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 Sekcja 10.5.3, „Linking the Java™ Runtime Environment”).
The Linux version of MATLAB® can be
ordered directly from The MathWorks at http://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.
To install MATLAB®, do the following:
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
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
.
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.
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 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
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
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
).
Start the license manager with the command:
#
/usr/local/etc/rc.d/flexlm.sh start
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
Place the following startup script in
/usr/local/bin/matlab
:
#!/bin/sh /compat/linux/bin/sh /compat/linux/usr/local/matlab/bin/matlab "$@"
Then type the command
chmod +x /usr/local/bin/matlab
.
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:
if test -L $newbase; then
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
The $MATLAB
is
literal.
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:
#!/usr/compat/linux/bin/sh (sleep 5; killall -1 matlab_helper) & exit 0
Make the file executable:
#
chmod +x $MATLAB/bin/finish.sh
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>.