This document describes the process of installing the Linux version of MATLAB(R) version 6.5 onto a FreeBSD system. It works quite well, with the exception of the Java Virtual MachineTM (see Sekcja 10.5.3, "Linking the JavaTM Runtime Environment").
The Linux version of MATLAB(R) 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(R), 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(R) 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(R) 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(R) 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 JavaTM 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(R) 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 https://download.freebsd.org/ftp/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>.