# Mathematica

Mathematica is a commercial program used in scientific, engineering and mathematical fields. Here we explain how to install it.

## Installation

Since Mathematica is a non-free application and upgrades may incur costs, this section lists instructions for different available versions.

### Mathematica 6

#### Mounting iso

One way to mount the Mathematica `.iso`

is to create a `/media/iso`

mount directory and add the following line to the fstab:

/location/of/mathematica.iso/media/iso iso9660 exec,ro,user,noauto,loop=/dev/loop0 0 0

Now you can mount it with:

# mount /media/iso

#### Running the Installer

Run *MathInstaller* with:

# cd Unix/Installer # sh ./MathInstaller

**Note:**If you do not place the "sh" in front, then you will get an error about a bad interpreter.

#### Fonts

Add the directories containing Type1 and BDF fonts to your FontPath.

### Mathematica 7

Mathematica 7 is much easier to install.

# tar xf Mathematica-7.0.1.tar.gz # cd Unix/Installer # ./MathInstaller

Follow instructions.

For KDE users, the Mathematica icon may appear in the *Lost & Found* category. To solve this, execute the following as root:

# ln -s /etc/xdg/menus/applications-merged /etc/xdg/menus/kde-applications-merged

### Mathematica 8

An issue with Mathematica 8 is a reproducible crash when performing WolframAlpha[] functions. By default, Mathematica is configured to detect the system's proxy settings when configuring how to connect to the internet to fetch data. A "bug" exists that will eventually crash Mathematica when the calling library is used. A workaround is to avoid this library call altogether by configuring Mathematica to "directly connect" to the internet. (*Edit > Preferences > Internet Connectivity > Proxy Settings*). This bug has been reported to Wolfram.

### Mathematica 10

Install mathematica^{AUR} (need historical version). The `Mathematica_10.XX.YY_LINUX.sh`

installation script is required; you will need to download this separately from Wolfram.com, your university, etc. You will also need an activation key.

### Mathematica 11

Install mathematica^{AUR}. Obtain `Mathematica_11.XX.YY_LINUX.sh`

from Wolfram Research, along with an activation key, and save it to the package build directory. Successful install may throw non-critical errors: xdg-icon-resource, mkdir, xdg-desktop-menu. For more details see the mathematica PKGBUILD file.

Mathematica 11 automatically creates a document folder 'Wolfram Mathematica' in $UserDocumentsDirectory, which is set by Mathematica according to XDG user directories.

### Mathematica 12

- Make sure the packages avahi and inetutils are installed before proceeding with the installation.
- Start/enable
`avahi-daemon.service`

which is**required**for the installation. - Run the
`hostname`

command and make sure it returns the hostname before starting the installation. Failure to do so results in the installation failing right at the end. - Get the installation file
`Mathematica_12.XX.YY_LINUX.sh`

from Wolfram Research and save it to the build directory (e.g Downloads folder). - Make
`Mathematica_12.XX.YY_LINUX.sh`

executable. - Start installation using the command
`./Mathematica_12.XX.YY_LINUX.sh`

**as root**and follow instructions.

**Note:**running as superuser enables the installation to write to

`/usr/local/Wolfram/`

and `/usr/local/bin/`

.## Troubleshooting

### Missing symbols

If you have font rendering problems where certain symbols do not show up (i.e. `/`

appears as a square), try this solution. It also states the issue is fixed with Mathematica version 9.

Try having applications use anti-aliasing.
For KDE: *System Settings > Application Appearance > Fonts > Use anti-aliasing (Enabled)*

### HiDPI / Retina Screens

If you have a HiDPI screen, such as an Apple Retina display, and the main text in Mathematica looks small when you open it, this can be fixed:

- Go to
*Edit → Preferences* - From the
*Advanced*tab, click*Open Option Inspector* - In the tree on the right, go to
*Formatting Options → Font Options → Font Properties* - Change the value for
*"ScreenResolution"*to double its current setting, e.g. 72 → 144. You can also use`xdpyinfo | grep resolution`

to get a more precise number (which will need to be doubled).

### Conflicts with system libraries

The Mathematica package includes a number of its own libraries, located in `<INSTALL_DIR>/SystemFiles/Libraries/Linux-x86-64`

. They may lead to some compatibility issues and fallback to the system versions of some of these libraries may be necessary.

#### Symbol lookup error: /usr/lib/libfontconfig.so.1: undefined symbol: FT_Done_MM_Var

Force Mathematica to use the system version of the freetype library.

# cd <INSTALL_DIR>/SystemFiles/Libraries/Linux-x86-64 # mv libfreetype.so.6 libfreetype.so.6.old

#### Mathematica/11.3/SystemFiles/Libraries/Linux-x86-64/libz.so.1: version `ZLIB_1.2.9' not found (required by /usr/lib/libpng16.so.16)

Force Mathematica to use the system version of the zlib library.

# cd <INSTALL_DIR>/SystemFiles/Libraries/Linux-x86-64 # mv libz.so.1 libz.so.1.old

#### Symbol lookup error: /usr/lib/libfreetype.so.6: undefined symbol: hb_ot_tags_from_script_and_language

Force Mathematica to use the system version of the harfbuzz library.

# cd <INSTALL_DIR>/SystemFiles/Libraries/Linux-x86-64 # mv libharfbuzz.so.0 libharfbuzz.so.0.old