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/23 16:40] – [Install dependencies with Homebrew] paffenholzinstall:macos [2024/02/16 15:45] (current) – [Install dependencies with Homebrew] paffenholz
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.11. 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). 
  
 +==== Install Homebrew ====
  
-==== Special Instructions for Mac OS 10.14 and 10.15 ====+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:
  
-On MacOS **10.14** you may need an additional step. Run  
-<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 
-<code>sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -allowUntrusted -target /</code> 
-This will ask for your password. You need to be an administrator of your Mac to run this command. If this fails, then run 
 <code> <code>
-softwareupdate -+/bin/bash -"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
-softwareupdate -i "Command Line Tools (macOS Mojave version 10.14) for Xcode-10.3"+
 </code> </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> 
-export CPATH=/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Perl/5.18/darwin-thread-multi-2level/CORE/ 
-</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 do + 
 +We have to add some variables to the shell environment. Recent 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 configFor 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
 echo "source ~/perl5/perlbrew/etc/bashrc" >> $HOME/.zshrc echo "source ~/perl5/perlbrew/etc/bashrc" >> $HOME/.zshrc
 echo 'export ARCHFLAGS="-arch x86_64"' >> $HOME/.zshrc echo 'export ARCHFLAGS="-arch x86_64"' >> $HOME/.zshrc
 +source $HOME/.zshrc
 +</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 source $HOME/.zshrc
 </code> </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 78: Line 74:
 brew install ninja brew install ninja
 brew install ccache brew install ccache
 +brew install mongo-c-driver
 </code> </code>
  
Line 86: Line 83:
 yes N | perlbrew install-cpanm yes N | perlbrew install-cpanm
 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)
-brew link --force readline 
-cpanm Term::ReadLine::Gnu 
-brew unlink readline 
 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
 +cpanm Term::ReadLine::Gnu
 +cpanm Term::ReadKey
 +cpanm XML::SAX
 </code> </code>
  
Line 102: Line 96:
 pip3 install jupyter --user pip3 install jupyter --user
 </code> </code>
-This may complain about a path not beeing set. If so, add this to your $PATH-variable. +This may complain about a path not being set. If so, add this to your $PATH-variable. 
  
 ==== Download polymake ==== ==== Download polymake ====
Line 108: Line 102:
 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 -tvfj polymake-4.0.tar.bz2+tar -xvjf polymake-4.11.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''.+=== Compilation === 
 + 
 +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.
  
 <code> <code>
-cd ~/Downloads/polymake-4.0+cd ~/Downloads/polymake-4.11
 ./configure --without-java ./configure --without-java
 ninja -C build/Opt -j2 install ninja -C build/Opt -j2 install
 </code> </code>
  
-However, we recommend to install into a directory in your $HOME-folder, in particular for MacOS 10.15. For this, create a folder with+However, we recommend to install into a directory in your ''$HOME''-folder. For this, create a folder with
 <code> <code>
 mkdir $HOME/<polymake_install_folder> mkdir $HOME/<polymake_install_folder>
Line 131: Line 127:
  
 <code> <code>
-cd ~/Downloads/polymake-4.0+cd ~/Downloads/polymake-4.9
 ./configure --without-java --prefix=$HOME/<polymake_install_folder> ./configure --without-java --prefix=$HOME/<polymake_install_folder>
 ninja -C build/Opt -j2 install ninja -C build/Opt -j2 install
Line 142: Line 138:
 or add ''$HOME/<polymake_install_folder>/bin/'' to your path. or add ''$HOME/<polymake_install_folder>/bin/'' to your path.
  
-==== Full script ====+=== 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. 
  
-[[https://gist.github.com/apaffenholz/a406c3d862f18345c56eddc21907808f|Here]] is also a script that does almost all these steps and allows some configuration. 
  • install/macos.1616517655.txt.gz
  • Last modified: 2021/03/23 16:40
  • by paffenholz