====== 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 the ''README'' 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 [[https://github.com/oscar-system/Polymake.jl/|Polymake.jl]] in [[http://julialang.org|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 [[http://www.polymake.org/downloads/polymake_start_julia.jl|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 [[http://www.javaview.de/download/|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* = 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|external software page]]