install:mac_compiling_nofink

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
Next revisionBoth sides next revision
howto:mac_compiling_nofink [2015/03/17 20:33] paffenholzinstall:mac_compiling_nofink [2019/01/29 21:46] – external edit 127.0.0.1
Line 1: Line 1:
 ==== Compiling on Mac: without Fink ==== ==== Compiling on Mac: without Fink ====
 +
 +We have prepared a Makefile that does a loacl installation of polymake resolving all dependencies. It is available [[https://gist.github.com/apaffenholz/f49cbf69a367fa219762|from github]]. You can also do this yourself. In this case you need the following steps:
  
   * Add the location of XML-LibXSLT to the environment variable PERL5LIB if it is in a non-standard path.    * Add the location of XML-LibXSLT to the environment variable PERL5LIB if it is in a non-standard path. 
Line 9: Line 11:
     * ''--with-readline=/path/to/your/readline'': Specify the folder you installed ''readline'' into.     * ''--with-readline=/path/to/your/readline'': Specify the folder you installed ''readline'' into.
     * ''--with-ppl=/path/to/your/ppl'': Specify the folder you installed ''ppl'' into.     * ''--with-ppl=/path/to/your/ppl'': Specify the folder you installed ''ppl'' into.
-    * ''--with-ppl=/path/to/your/ant'': Specify the folder you unpacked ''ant'' into.+    * ''--with-ant=/path/to/your/ant'': Specify the folder you unpacked ''ant'' into
 +    * ''--with-singular=/path/to/your/singular'': Specify the folder you installed ''singular'' into. This is optional.
     * ''--with-java=/usr/bin/java'': Path to java (this might be unnecessary for you)     * ''--with-java=/usr/bin/java'': Path to java (this might be unnecessary for you)
-    *  ''--with-jni-headers=/System/Library/Frameworks/JavaVM.framework/Headers'': If this fails then check the path. Names of directories may vary slightly.\\ \\ Your command could now be similar to the following (still replace paths!):<code>./configure --with-boost=<path> --with-java=/usr/bin/java --with-jni-headers=/System/Library/Frameworks/JavaVM.framework/Headers --without-fink --with-gmp=<path> --with-mpfr=<path> --with-readline=<path> --with-ppl=<path> --with-ant=<path> --prefix=<path-if-not-to-usr-local></code>+    *  ''--with-jni-headers=/System/Library/Frameworks/JavaVM.framework/Headers'': If this fails then check the path. Names of directories may vary slightly.\\ \\ Your command could now be similar to the following (still replace paths!):<code>./configure --with-boost=<path> --with-java=/usr/bin/java --with-jni-headers=/System/Library/Frameworks/JavaVM.framework/Headers --without-fink --with-gmp=<path> --with-mpfr=<path> --with-readline=<path> --with-ppl=<path> --with-ant=<path> --with-singular=<path> --prefix=<path-if-not-to-usr-local></code>
  
   * Once configuration has succeeded, do<code>make   * Once configuration has succeeded, do<code>make
Line 18: Line 21:
   * **Version specific issues**   * **Version specific issues**
  
-    * For **Mac OS 10.7** you only need the architecture flags mentioned above for compilation fo the ''gcc'' until you have compiled your ''gcc''. That one should be ''x86_64'' only, and won't understand the argument ''-arch x86_64'' anymore. +    * For release 3.and earlier you might need to additionally pass <code>CC=clang LDFLAGS=' -stdlib=libstdc++' CXXFLAGS=-I/usr/include/c++/4.2.1 CXX=clang++</code> to ''configure'', as clang apparently doesn't search ''/usr/include'' by default. 
-    * For **Mac OS 10.7** and **Mac OS 10.8** you have to explicitely specify the compiler with ''CC=<path-to-your>/gcc CXX=<path-to-your>/g++'' for ''./configure''. Note that, if you obtained your gcc from fink it will have a different name (some variation of ''gcc-4'' or ''gcc-fsf-4.7'', and similarly for g++, check your ''/sw/bin'' directory, this way fink#s gcc does not shadow apple's). +
-    * On **MacOS 10.9** and **10.10** you might need to additionally pass <code>CC=clang LDFLAGS=' -stdlib=libstdc++' CXXFLAGS=-I/usr/include/c++/4.2.1 CXX=clang++</code> to ''configure'', as clang apparently doesn't search ''/usr/include'' by default. +
  
 Note that you might need additional options if your setup differs from a standard one.  Note that you might need additional options if your setup differs from a standard one.