# Difference between revisions of "Mathematica"

m (→Troubleshooting: Fix heading levels) |
m (Added troubleshooting of errors due to incompatibilities with system libraries. Seems to be a common problem now.) |
||

Line 83: | Line 83: | ||

* In the tree on the right, go to ''Formatting Options → Font Options → Font Properties'' | * 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 <code>xdpyinfo | grep resolution</code> to get a more precise number (which will need to be doubled). | * Change the value for ''"ScreenResolution"'' to double its current setting, e.g. 72 → 144. You can also use <code>xdpyinfo | grep resolution</code> to get a more precise number (which will need to be doubled). | ||

+ | |||

+ | === Conflicts with system libraries === | ||

+ | |||

+ | The Mathematica package includes a number of it's 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 | ||

== See also == | == See also == |

## Revision as of 20:47, 11 June 2018

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

## Contents

## 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

You can start the installer by navigating to:

/Unix/Installer

Run *MathInstaller* with:

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. Successful install may throw non-critical errors: xdg-icon-resource, mkdir, xdg-desktop-menu.

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

## Troubleshooting

### Missing symbols

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

appears as a square), try uninstalling font-mathematica.

Also, 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 it's 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