MATLAB (Matrix Laboratory) is a mathematical application installed on the workstations in the Computer Systems Lab. It is a network-licensed application with the license server running on License.
License Server Installation
MATLAB uses FlexLM as the licensing server. It should be installed on License in /usr/local/MATLAB/<MATLAB VERSION>/, eg /usr/local/MATLAB/R2012a.
To install the license server, you will need the following items (filenames assuming R2013a, they may change slightly between revisions):
- The File Installation Key for the specific MATLAB version you are installing
- A non-root user account for the MATLAB license manager to run as (we use matlab)
The three .zip files can be downloaded from the MathWorks Licensing Center; the license.lic file is the actual license file and must be generated to match the MAC address of the hosting system; the File Installation Key is included with the license.lic file.
Copy all four of the above files (all three zips and the .lic file) to the licence server. Unpack the installer.zip in the same location as the other three files are located. Then edit installer_input.txt and edit the following lines as shown:
destinationFolder=/usr/local/MATLAB/R2013a fileInstallationKey=<Insert File Installation Key here> agreeToLicense=yes mode=silent licensePath=license.lic lmgrFiles=true product.MATLAB
Note that due to a bug in the MATLAB installer, it is currently necessary to select at least one MATLAB product to install along with the licensing server. Otherwise, the installer will default to installing all licensed products. If this bug is ever fixed, the last of the above lines can be removed.
Finally, run the installer with the following command:
./install -inputFile ./installer_input.txt
Currently, the FlexLM binaries shipped with MATLAB are built to work on systems that support the Linux Standard Base (LSB) linker. As a result, they will not run on many distributions including Gentoo with the following error:
bash: ./lmstat: No such file or directory
The solution for this is to use patchelf to modify the binaries to use the glibc linker. The following commands will accomplish this on License:
cd /usr/local/MATLAB/R2013a/etc/glnxa64/ for i in MLM lmborrow lmdiag lmdown lmgrd lmhostid lmremove lmreread lmstat lmswitchr lmutil lmver; do patchelf --set-interpreter /lib64/ld-linux-x86-64.so.2 $i done
You should now be able to start FlexLM with the following command:
/usr/local/MATLAB/R2013a/etc/lmstart -u matlab
You can verify the status of the license server with the following command:
To set FlexLM to start on boot, copy /usrlocal/MATLAB/R2013a/etc/flexnet.boot.linux to /etc/init.d/flexlm then edit it and follow the instructions in the header.