install:macos

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
install:macos [2021/03/29 20:37] – [Configure and install polymake] paffenholzinstall:macos [2026/09/17 12:17] (current) – external edit 127.0.0.1
Line 1: Line 1:
 ===== Install polymake on Mac OS ===== ===== Install polymake on Mac OS =====
  
-The latest release 4.should work on all Mac OS versions greater or equal to 10.14. The installation requires a couple of steps (of which you have maybe done some already for other reasons):+The latest release 4.should work on all Mac OS versions greater or equal to 11. The installation requires a couple of steps (of which you have maybe done some already for other reasons):
   * Install the xcode command line tools   * Install the xcode command line tools
-  * (for some versions) install SDK headers 
   * install Homebrew   * install Homebrew
   * install Perlbrew   * install Perlbrew
Line 19: Line 18:
 In the terminal type In the terminal type
 <code>xcode-select --install</code> <code>xcode-select --install</code>
-Either this tells you that your command line tools are installed or opens a small window that asks you whether you want to install them. Confirm. It also offers to install the full XCode IDE. This is **not** neccessary and **not** recommended (you then need to install the command line tools on top from whithin XCode). +Either this tells you that your command line tools are installed or opens a small window that asks you whether you want to install them. Confirm. It also offers to install the full XCode IDE. This is **not** necessary and **not** recommended (you then need to install the command line tools on top from within XCode). 
  
-On MacOS **10.14** you may need an additional step. Run  +==== Install Homebrew ==== 
-<code>ls /System/Library/Perl/5.18/darwin-thread-multi-2level/CORE/EXTERN.h</code> + 
-If that returns a //File not found// error then run +Installation instructions are [[https://brew.sh/|here]]In most cases it should be sufficient to copy and execute the first code line on that page into your terminal, that is:
-<code>sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -allowUntrusted -target /</code> +
-This will ask for your passwordYou need to be an administrator of your Mac to run this command. If this fails, then run +
-<code+
-softwareupdate -l +
-softwareupdate -i "Command Line Tools (macOS Mojave version 10.14) for Xcode-10.3" +
-</code> +
-where you may need to replace the string in the second command to the one that looks similar in the return of the first command. Then repeat the previous installer command. It should now succeed.+
  
-On **10.15**, you should do 
 <code> <code>
-export CPATH=/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Perl/5.18/darwin-thread-multi-2level/CORE/+/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
 </code> </code>
-and do all following steps in this terminal (or repeat the export command, if you open a new one). 
- 
-==== Install Homebrew ==== 
- 
-Installation instructions are [[https://brew.sh/|here]]. In most cases it should be sufficient to copy and execute the first code line on that page into your terminal. Make sure you copy the whole line! 
  
 ==== Install Perlbrew ==== ==== Install Perlbrew ====
  
-Installation instructions are  [[https://perlbrew.pl/|here]]. In most cases it should be sufficient to copy and execute the first code line on that page into your terminal. Make sure you copy the whole line!+Installation instructions are  [[https://perlbrew.pl/|here]]. In most cases it should be sufficient to copy and execute the first code line on that page into your terminal, that is:
  
-Now add some paths to your Terminal config and reload the config. For versions prior to 10.15 do 
 <code> <code>
-echo "export PERL5LIB=$HOME/perl5/lib/perl5:$HOME/perl5${PERL5LIB+:$PERL5LIB}" >> $HOME/.bash_profile +\curl -L https://install.perlbrew.pl | bash
-echo "source ~/perl5/perlbrew/etc/bashrc" >> $HOME/.bash_profile +
-echo 'export ARCHFLAGS="-arch x86_64"' >> $HOME/.bash_profile +
-source $HOME/.bash_profile+
 </code> </code>
-and for 10.15 and 11 do + 
 +We have to add some variables to the shell environmentRecent macs usually use ''zsh'' as their shell. You can check this with 
 +<code> 
 +echo $SHELL 
 +</code> 
 +If you use ''bash'', you have to  
 +  * replace ''.zshrc'' with ''.bashrc'' in the terminal commands below  
 +  * add <code>if [ -f ~/.bashrc ]; then . ~/.bashrc; fi </code> at the end of the file ''$HOME/.bash_profile'' if it is not already present 
 + 
 +Now add some paths to your Terminal config and reload the config. For an Intel Mac type the following lines in the terminal:
 <code> <code>
 echo "export PERL5LIB=$HOME/perl5/lib/perl5:$HOME/perl5${PERL5LIB+:$PERL5LIB}" >> $HOME/.zshrc echo "export PERL5LIB=$HOME/perl5/lib/perl5:$HOME/perl5${PERL5LIB+:$PERL5LIB}" >> $HOME/.zshrc
Line 60: Line 51:
 source $HOME/.zshrc source $HOME/.zshrc
 </code> </code>
 +and for a Silicon Mac use
 +<code>
 +echo "export PERL5LIB=$HOME/perl5/lib/perl5:$HOME/perl5${PERL5LIB+:$PERL5LIB}" >> $HOME/.zshrc
 +echo "source ~/perl5/perlbrew/etc/bashrc" >> $HOME/.zshrc
 +echo 'export ARCHFLAGS="-arch arm64"' >> $HOME/.zshrc
 +source $HOME/.zshrc
 +</code>
 +
  
 ==== Install dependencies with Homebrew ==== ==== Install dependencies with Homebrew ====
  
-Run the collowing lines in your terminal:+Run the following lines in your terminal:
 <code> <code>
 brew install gmp brew install gmp
Line 75: Line 74:
 brew install ninja brew install ninja
 brew install ccache brew install ccache
 +brew install mongo-c-driver
 +brew install jupyterlab
 </code> </code>
  
Line 84: Line 85:
 cpanm --local-lib=~/perl5 local::lib && eval $(perl -I ~/perl5/lib/perl5/ -Mlocal::lib) cpanm --local-lib=~/perl5 local::lib && eval $(perl -I ~/perl5/lib/perl5/ -Mlocal::lib)
 cpanm SVG cpanm SVG
-cpanm Moo 
-cpanm ZEFRAM/Module-Runtime-0.013.tar.gz 
-cpanm MongoDB 
 cpanm JSON cpanm JSON
 cpanm install Net::SSLeay cpanm install Net::SSLeay
-</code> 
- 
-On **10.15** and later do 
-<code> 
 cpanm Term::ReadLine::Gnu cpanm Term::ReadLine::Gnu
 +cpanm Term::ReadKey
 +cpanm XML::SAX
 </code> </code>
  
-On **10.14** and earlier do 
-<code> 
-brew link --force readline 
-cpanm Term::ReadLine::Gnu 
-brew unlink readline 
-</code> 
- 
- 
-==== Install a python dependence ==== 
- 
-<code> 
-pip3 install jupyter --user 
-</code> 
-This may complain about a path not beeing set. If so, add this to your $PATH-variable.  
  
 ==== Download polymake ==== ==== Download polymake ====
Line 115: Line 97:
 You find the sources [[download:start|here]]. Get the source tarball from the Linux section of that page. Download to //Downloads//. You find the sources [[download:start|here]]. Get the source tarball from the Linux section of that page. Download to //Downloads//.
  
-in the terminal do+In the terminal do
 <code> <code>
 cd Downloads cd Downloads
-tar -xvfj polymake-4.3.tar.bz2+tar -xvjf polymake-4.13.tar.bz2
 </code> </code>
  
 ==== Configure and install polymake ==== ==== Configure and install polymake ====
  
-Essentially, polymake is compiled and installed with the following commands. This will put the polymake binary into ''/usr/local''. You may have to use ''sudo'' for installing.+=== Compilation ===
  
 +Finally, we can compile and install polymake. This requires one more choice on your side. 
 +  - You may opt to install polymake into the standard installation location for additional software on your computer. This will place the compiled version of polymake into the directory ''/usr/local''
 +  - You may also provide a separate directory in your home folder for the compiled version of polymake. 
 +
 +For the first option you will need administrator permissions for your computer and probably prefix the commands below with ''sudo''. The advantage of this choice is, that ''/usr/local/'' is contained in the search path for programs, and polymake will directly be found. 
 +
 +Advantage of the second option is, that you do not need administrator permissions for the installation, and have all files related to polymake in one location. This makes it easier to install new versions or remove polymake. We strongly recommend the second option. 
 +
 +If you opt to install into a subfolder of your home folder, then please create one before proceeding. For this, create a folder with
 <code> <code>
-cd ~/Downloads/polymake-4.3 +mkdir $HOME/<polymake_install_folder>
-./configure --without-java +
-ninja -C build/Opt -j2 install+
 </code> </code>
 +where ''<polymake_install_folder>'' is a name of your choice, e.g. ''polymake_bin''. You will need the name of the folder for the commands below. 
 +
 +In the command below, you will also need to replace all occurences of ''<brew-install-location>'' by 
 +  * ''/usr/local/'' if you have an Intel Mac and installed brew in the default location
 +  * ''/opt/homebrew'' if you have an M1/M2/M3 Mac and installed brew in the default location
 +  * with the directory you installed brew into, if you chose a nonstandard location for the installation
  
-However, we recommend to install into a directory in your $HOME-folder, in particular for MacOS 10.15For thiscreate a folder with+Finally, we can compile polymakeIf you chose option 1abovethen compile with:
 <code> <code>
-mkdir $HOME/<polymake_install_folder>+cd ~/Downloads/polymake-4.13 
 +./configure --without-java --with-brew=<brew-install-location> 
 +ninja -C build/Opt -j2 install
 </code> </code>
-where ''<polymake_install_folder>'' is a name of your choice, e.g. ''polymake_bin''. Then compile and install with (replace with the correct folder name!) 
  
 +If you chose option 2., then compile with
 <code> <code>
-cd ~/Downloads/polymake-4.3 +cd ~/Downloads/polymake-4.13 
-./configure --without-java --prefix=$HOME/<polymake_install_folder>+./configure --without-java --with-brew=<brew-install-location> --prefix=$HOME/<polymake_install_folder>
 ninja -C build/Opt -j2 install ninja -C build/Opt -j2 install
 </code> </code>
Line 147: Line 144:
 $HOME/<polymake_install_folder>/bin/polymake $HOME/<polymake_install_folder>/bin/polymake
 </code> </code>
-or add ''$HOME/<polymake_install_folder>/bin/'' to your path.+or just  
 +<code> 
 +polymake 
 +</code> 
 +if you chose option 1.. For option 2., if you first do 
 +<code> 
 +export PATH=$PATH:''$HOME/<polymake_install_folder>/bin/'' 
 +</code> 
 +in a terminal, then you can also start polymake by just typing ''polymake''. You can add this line also at the end of the file ''$HOME/.zshrc'' to add the polymake installation folder to the path permanently. 
 + 
 + 
 +=== Configuration === 
 + 
 +If you use ''Safari'' as your default browser, then you need to switch to another one for polymake. Please do 
 +<code> 
 +set_custom $Visual::webbrowser="open -a Firefox"; 
 +</code> 
 +inside the polymake shell. Replace ''Firefox'' by ''Google Chrome'' if you prefer this browser.
  
-==== Full script ==== 
  
-[[https://gist.github.com/apaffenholz/a406c3d862f18345c56eddc21907808f|Here]] is also a script for **10.15** and **11.1** that does almost all these steps and allows some configuration. 
  • install/macos.1617050242.txt.gz
  • Last modified: 2021/03/29 20:37
  • by paffenholz