Updated for Mathematica 5.X by Boris
Hollas.
This document describes the process of installing the Linux version of Mathematica® 5.X onto a
FreeBSD system.
The Linux version of Mathematica or Mathematica for Students can be ordered directly from
Wolfram at https://www.wolfram.com/.
First, you have to tell FreeBSD that Mathematica's Linux binaries use the Linux ABI. The easiest
way to do so is to set the default ELF brand to Linux for all unbranded binaries with the
command:
# sysctl kern.fallback_elf_brand=3
This will make FreeBSD assume that unbranded ELF binaries use the Linux ABI and so you
should be able to run the installer straight from the CDROM.
Now, copy the file MathInstaller to your hard drive:
# mount /cdrom
# cp /cdrom/Unix/Installers/Linux/MathInstaller /localdir/
and in this file, replace /bin/sh in the first line by /compat/linux/bin/sh. This makes sure that the installer is executed
by the Linux version of sh(1). Next, replace
all occurrences of Linux) by FreeBSD)
with a text editor or the script below in the next section. This tells the Mathematica installer, who calls
uname -s to determine the operating system, to treat FreeBSD as
a Linux-like operating system. Invoking MathInstaller will now
install Mathematica.
The shell scripts that Mathematica created during installation have to be modified
before you can use them. If you chose /usr/local/bin as the
directory to place the Mathematica executables in, you will find symlinks in this
directory to files called math, mathematica, Mathematica, and MathKernel. In each of these, replace Linux) by FreeBSD) with a text editor or
the following shell script:
#!/bin/sh
cd /usr/local/bin
for i in math mathematica Mathematica MathKernel
do sed 's/Linux)/FreeBSD)/g' $i > $i.tmp
sed 's/\/bin\/sh/\/compat\/linux\/bin\/sh/g' $i.tmp > $i
rm $i.tmp
chmod a+x $i
done
When you start Mathematica
for the first time, you will be asked for a password. If you have not yet obtained a
password from Wolfram, run the program mathinfo in the
installation directory to obtain your “machine ID”. This machine ID is based
solely on the MAC address of your first Ethernet card, so you cannot run your copy of Mathematica on different
machines.
When you register with Wolfram, either by email, phone or fax, you will give them the
“machine ID” and they will respond with a corresponding password consisting
of groups of numbers.
Mathematica uses some
special fonts to display characters not present in any of the standard font sets
(integrals, sums, Greek letters, etc.). The X protocol requires these fonts to be install
locally. This means you will have
to copy these fonts from the CDROM or from a host with Mathematica installed to your local machine. These fonts are
normally stored in /cdrom/Unix/Files/SystemFiles/Fonts on the
CDROM, or /usr/local/mathematica/SystemFiles/Fonts on your hard
drive. The actual fonts are in the subdirectories Type1 and X. There are several ways to use them, as described below.
The first way is to copy them into one of the existing font directories in /usr/X11R6/lib/X11/fonts. This will require editing the fonts.dir file, adding the font names to it, and changing the
number of fonts on the first line. Alternatively, you should also just be able to run
mkfontdir(1) in
the directory you have copied them to.
The second way to do this is to copy the directories to /usr/X11R6/lib/X11/fonts:
# cd /usr/X11R6/lib/X11/fonts
# mkdir X
# mkdir MathType1
# cd /cdrom/Unix/Files/SystemFiles/Fonts
# cp X/* /usr/X11R6/lib/X11/fonts/X
# cp Type1/* /usr/X11R6/lib/X11/fonts/MathType1
# cd /usr/X11R6/lib/X11/fonts/X
# mkfontdir
# cd ../MathType1
# mkfontdir
Now add the new font directories to your font path:
# xset fp+ /usr/X11R6/lib/X11/fonts/X
# xset fp+ /usr/X11R6/lib/X11/fonts/MathType1
# xset fp rehash
If you are using the Xorg server, you can have these font
directories loaded automatically by adding them to your xorg.conf file.
Note: For XFree86™ servers, the configuration file is XF86Config.
If you do not already have a
directory called /usr/X11R6/lib/X11/fonts/Type1, you can change
the name of the MathType1 directory in the example above to Type1.