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:
- Mount the disk image.
- Drag the
polymake
application to a folder of your choice on your hard disk (the common choice would be the/Applications
folder). - Start
polymake
by double clicking the icon.
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:
- It does not appear in the Dock, or in the list of running applications.
- Clicking the icon again always opens a new instance of polymake instead of switching to a running instance.
- It is not relocatable. After you started polymake once you have to reset the customization of
polymake
and all extensions if you want to move the app to a different folder. See theREADME
for more details.
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