From ArchWiki
Revision as of 09:45, 3 May 2011 by Revelation60 (talk | contribs) (Added warning of spaces in path)
Jump to navigation Jump to search

General installation

Use the following commands to mount and install Matlab. Note that the path to the install script should contain no spaces, or the install will fail. For graphical install and interface libxp is needed.

pacman -S libxp 

Install from iso file

modprobe loop
mount -o loop matu2k8b.iso /media/iso/

Install 32-bit Matlab on 64-bit system

Unfortunately, 32-bit is the only version available to students; 64-bit versions are available if you pay more money. These instructions have been updated for the student r2009A version - however the instructions should work with any current version of Matlab. To start off with we need to install a bunch of lib32 packages, not all found with pacman. Check the AUR for Template:Package AUR.

$ pacman -S lib32-mesa
$ pacman -S lib32-glibc
$ pacman -S lib32-libxmu
$ pacman -S lib32-zlib
$ pacman -S lib32-ncurses
$ pacman -S lib32-libxtst
$ pacman -S lib32-libxi
$ pacman -S lib32-libxrender
$ pacman -S lib32-libxfixes
$ pacman -S lib32-freetype2 lib32-fontconfig lib32-libxdamage
$ pacman -S lib32-libxpm

My system is not a fresh install so there may be some other packages needed.

Once they are installed

$ ./install -glnx86

After fixing any library dependency problems, you will be able to guide the installer through the install process. If activation doesn't work in the installer you'll need to login to Wolfram's site and download a license file which you'll put in {MATLAB}/licenses. After the install process, you'll need to create a symbolic link because the installer oddly thinks it's installing the 64-bit version of Matlab:

$ cd {MATLAB}/sys/java/jre
$ ln -s glnx86 glnxa64

In the above, {MATLAB} should be replaced by the root directory you chose for your installation.

You'll also need to put another link in matlab's bin folder because despite asking matlab to install the 32bit version, it still thinks you want to use the 64bit one.

$ cd {MATLAB}/bin
$ ln -s glnx86 glnxa64

After that you'll need to edit the {MATLAB}/bin/matlab script to get the java settings correct. After the comments at the top of the file, you'll need the line

export MATLAB_JAVA={Path of JRE}

Where {Path of JRE} will be /opt/java/jre if you're using Sun's JRE. The path is one level up from where rt.jar is located. That is, rt.jar should be in /opt/java/jre/libs if you used /opt/java/jre for MATLAB_JAVA. In Matlab R2010a it works pretty well, if you use the intern JRE with

export MATLAB_JAVA={Path of Matlab}/sys/java/jre/glnx86/jre

To run it, you'll need to:

$ /{MATLAB}/bin/matlab -glnx86 -desktop

At this point you may have to resolve more library dependencies or troubleshoot Java. Your version of Matlab may need a specific version of Sun's JRE installed.


As one installs matlab, it might complain that there isn't a package, for the most part just look at the package name and then install it with pacman, or in the case of x86_64 there are some libraries only in AUR.

OpenGL Acceleration

Once Matlab is installed type

opengl info

The output should be similar to the following:

Version         = 2.0 Mesa 7.8.2
Vendor          = Advanced Micro Devices, Inc.
Renderer        = Mesa DRI R600 (RV710 9552) 20090101 x86/MMX/SSE2 TCL DRI2
MaxTextureSize  = 4096
Visual          = 0xcb (TrueColor, depth 24, RGB mask 0xff0000 0xff00 0x00ff)
Software        = false
# of Extensions = 107

Driver Bug Workarounds:
OpenGLBitmapZbufferBug    = 0
OpenGLWobbleTesselatorBug = 0
OpenGLLineSmoothingBug    = 0
OpenGLClippedImageBug     = 0
OpenGLEraseModeBug        = 0

This will vary with card you are using, but the important part is "Software = false". If it's not "false" for you, then there is a problem with your hardware acceleration.


With an nVidia card, the output should be similar to this:

>> opengl info
Version         = 2.1.2 NVIDIA 177.82
Vendor          = NVIDIA Corporation
Renderer        = Quadro NVS 140M/PCI/SSE2
MaxTextureSize  = 8192
Visual          = 0x21 (TrueColor, depth 16, RGB mask 0xf800 0x07e0 0x001f)
Software        = false
# of Extensions = 144

Driver Bug Workarounds:
OpenGLBitmapZbufferBug    = 0
OpenGLWobbleTesselatorBug = 0
OpenGLLineSmoothingBug    = 0
OpenGLClippedImageBug     = 1
OpenGLEraseModeBug        = 0

With the nVidia card all it required to start working was to copy the from the matlab installed library /usr/local/matlab/sys/opengl/lib/glnx86/ to /usr/lib directory. Note that in x86_64 this might be a different directory.

Note: Although, not thoroughly tested, using lib32-nvidia-utils seems to work as well.