Dit document beschrijft het installatieproces van de Linux® versie van MATLAB 6.5 op een FreeBSD systeem. Het werkt best goed, met uitzondering van de Java Virtual Machine™ (zie Paragraaf 11.5.3).
De Linux versie van MATLAB kan besteld worden bij The MathWorks op http://www.mathworks.com. Er dient ook een licentiebestand of instructies hoe dat te maken te zijn. Het is belangrijk om Maplesoft te schrijven om ze te laten weten dat een echte FreeBSD versie gewenst is!
Om MATLAB te installeren:
Laad de installatie-CD-ROM en koppel die aan. Start het installatiescript als root:
# /compat/linux/bin/sh /cdrom/install
Tip: Het is een grafisch installatieprogramma. Als er foutmeldingen verschijnen dat het programma geen scherm kan openen, kan setenv HOME ~GEBRUIKER uitgevoerd worden, waar GEBRUIKER de gebruiker is waarmee su(1) is gedaan.
Als om de MATLAB rootmap wordt gevraagd, dient /compat/linux/usr/local/matlab opgegeven te worden.
Tip: Voer op de commandoregel het volgende uit om de rest van het installatieproces gemakkelijk te houden: set MATLAB=/compat/linux/usr/local/matlab.
Wijzig het licentiebestand zoals aangegeven tijdens het verkrijgen van de licentie voor MATLAB.
Tip: Dit bestand kan van tevoren gemaakt worden met een tekstverwerker en door het te kopiëren naar $MATLAB/license.dat voordat het installatieprogramma vraagt om het te bewerken.
Maak het installatieproces af.
Nu is de installatie van MATLAB compleet. De volgende stappen “lijmen” het aan het FreeBSD systeem.
Maak symbolische links voor de scriptbestanden van de licentiebeheerder:
# ln -s $MATLAB/etc/lmboot /usr/local/etc/lmboot_TMW # ln -s $MATLAB/etc/lmdown /usr/local/etc/lmdown_TMW
Maak een opstartbestand in /usr/local/etc/rc.d/flexlm. Onderstaand voorbeeld is een gewijzigde versie van het meegeleverde $MATLAB/etc/rc.lm.glnx86. De wijzigingen omvatten bestandslocaties en het starten van de licentiebeheerder onder Linux-emulatie.
#!/bin/sh case "$1" in start) if [ -f /usr/local/etc/lmboot_TMW ]; then /compat/linux/bin/sh /usr/local/etc/lmboot_TMW -u gebruikersnaam && 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
Belangrijk: Het bestand moet uitvoerbaar zijn:
# chmod +x /usr/local/etc/rc.d/flexlmOok moet bovenstaande gebruikersnaam vervangen worden door een geldige gebruikersnaam op het systeem (maar niet door root).
Start de licentiebeheerder op met het commando:
# service flexlm start
Verander de Java™ Runtime Environment Link naar een die werkt op FreeBSD:
# cd $MATLAB/sys/java/jre/glnx86 # unlink jre; ln -s ./jre1.1.8 ./jre
Plaats het volgende startscript in /usr/local/bin/matlab:
#!/bin/sh /compat/linux/bin/sh /compat/linux/usr/local/matlab/bin/matlab "$@"
Geef vervolgens het commando chmod +x /usr/local/bin/matlab.
Tip: Afhankelijk van de versie van emulators/linux_base, kunnen er fouten optreden als dit script draait. Om dat te voorkomen, dient in /compat/linux/usr/local/matlab/bin/matlab de regel:
if [ `expr "$lscmd" : '.*->.*'` -ne 0 ]; then(in versie 13.0.1 staat dit op regel 410) veranderd te worden in:
if test -L $newbase; then
Het volgende is nodig om een probleem op te lossen dat samenhangt met het onjuist afsluiten van MATLAB.
Maak het bestand $MATLAB/toolbox/local/finish.m dat alleen de volgende regel bevat:
! $MATLAB/bin/finish.sh
Opmerking: $MATLAB$ is hier letterlijk bedoeld.
Tip: In dezelfde map staan de bestanden finishsav.m en finishdlg.m, die de mogelijkheid geven om de werkomgeving te bewaren vóór het afsluiten. Als één van deze scripts gebruikt wordt, dient de bovenstaande regel direct na het commando save ingevoegd te worden.
Maak het bestand $MATLAB/bin/finish.sh, dat het volgende bevat:
#!/compat/linux/bin/sh (sleep 5; killall -1 matlab_helper) & exit 0
Maak het bestand uitvoerbaar:
# chmod +x $MATLAB/bin/finish.sh
Nu kan met matlab het programma gestart worden.