Table of Contents

MacOS Bundles

Installing the App Bundle

Please make sure you download the correct version on the download page.

It is still necessary to install apple's command line tools. However, this version does not depend on Fink or Homebrew and doesn't require compilation. To install the command line tools try to run clang in a terminal and click install in the window that opens. If that does not work then run xcode-select –install in a terminal. You can also install the full XCode IDE from the app store, but this takes about 20 times more disk space than the command line tools.

Installation of the bundle works as for any other Mac app that does not come via the app store:

If you receive a pop-up when clicking the polymake icon telling you the 'developer cannot be verified', click cancel. Then open system preferences → security + privacy and click 'open anyway'.

The disk image also contains a README file with some more detailed instructions, and the corresponding sources.

Note that the application is not a true Mac application. It just opens a Terminal and starts polymake. This implies the following limitations:

Jupyter Notebooks with the Bundle

The bundle comes with a still experimental support for starting polymake in a jupyter notebook. To use it you need to install python3 and jupyter yourself and make sure polymake can find both in the path (usually python is found with the default path, only jupyter needs to be added. You have two options for this: add the path to the $PATH variable in .bash_profile, or add the path to the variable POLYMAKE_ADD_PATH in the file$HOME/.polymake-macbundle/bundle.config created after the first start of the bundle.) To use polymake in a jupyter notebook, start the bundle at least once and exit, then set POLYMAKE_START_IN_JUPYTER to 1 in $HOME/.polymake-macbundle/bundle.config, and start polymake again. It should ask your confirmation to install the kernel and then start a browser with jupyter.

Using the Bundle for Polymake.jl in Julia

On Mac OS 10.11 you need at least clang version 8 (for Julia, and thus also for polymake in Julia).

You can use the bundle together with Polymake.jl in Julia. You need however to prepare your Julia. Note however that this is still an experimental feature and may fail on your system. We value feedback on this!

Start both Julia and the bundle at least once to create the user configuration directories.

Download this file and save it to a location on your computer. Open a terminal and do

mkdir -p $HOME/.julia/config
echo 'include("/path/to/file/polymake_start_julia.jl")' >> $HOME/.julia/config/startup.jl

where /path/to/file should be the full path (so starting with /Users) to the file you downloaded.

Now start julia and hopefully it downloads and compiles Polymake.jl, linking it against the bundle.

Compiling your own version of the bundle

You can build your own version of the bundle with the following steps. The only prerequisite is Xcode, which you can easily install via the app store. Then open a Terminal (in the utilities folder of Applications) and type the following commands (if you want to you can first switch into a different folder):

git clone https://github.com/polymake/polybundle.git 
cd polybundle
./build_bundle
open -R .

The third command will take a long while. Here, all required software packages are downloaded and installed, so you need a working connection to the internet during this step. The last command opens a finder window of the folder polymake is compiled in. If everything worked you will find the polymake app (look for the logo) in that folder. You can either drag this to /Applications or start directly from this folder by double clicking.

The same usage hints as for the precompiled binaries above apply also to this version.

Packages used together with polymake (partially outdated)

JavaView

Download JavaView (you need the Unix version) from this page and unzip it into some directory on your computer.

If you are going to use JavaView on its own (it can much more than only serving as a showcase for polymake!), you'll have to prepare its start script javaview, which is located in the sub-directory bin/ . You have to make it executable with chmod u+x bin/javaview. You should place the full path to this script in the $PATH variable of your terminal (and remember to change this if you move your javaview installation to a different place). Then start polymake and execute reconfigure("javaview.rules") . This should automatically find the script and start JavaView once for testing - just click its window away.

If you are only interested in polymake interface to JavaView, then execute the reconfigure command right after unpacking the ZIP archive; now you will be asked to enter the location of the unpacked JavaView manually.

POV-Ray

polymake has been tested with the povray version that comes with Fink. The Mac OS X version seems to have problems with the newer Intel Macs.

povray is quite restrictive with files it reads and writes. So before you can use povray with polymake you have to allow it to read from the povray sub-directory of your polymake-root directory, and from the temporary directory polymake places temporary files into. It should be something starting with /private/var/folders. If you don't now where it is, you can call

$c=cube(2); povray($c->VISUAL);

in a polymake shell. It will tell you something like Parse Error: Reading from … is not permitted. Place the given directory in the povray.conf file (The error message will also tell you where you can find it). Add a line

read* = <dir>

for both the temp dir and the povray dir of polymake (You might need to use sudo to be allowed to write into that file.)

If you use the Fink version of povray and installed polymake into its standard location, then the povray.conf file should be in

/sw/etc/povray/3.6/povray.conf

and you should add the lines

read* = /usr/local/share/polymake/povray
read* = /private/var/folders

at the end of the file.

Porta

Before compiling porta you should significantly increase the length of the char array fname in porta.c, say from 20 to 100. The variable contains the name of the input file, which polymake places in a temporary directory. The name of the directory is significantly longer on a Mac than on a Linux system.

Before you install porta you should also consider the remarks about porta on the external software page