| 1 | = Compiling under Funtoo-Linux = |
| 2 | |
| 3 | The [http://grasswiki.osgeo.org/wiki/Compile_and_Install#Generic_Compilation_and_installation_procedure Generic Compilation & installation procedure] is valid also for the [http://www.funtoo.org/ Funtoo]-Linux meta-distribution. The following example scripts are provided as a mean to get started. |
| 4 | |
| 5 | |
| 6 | == Installing dependencies == |
| 7 | |
| 8 | ''Following likely needs to be updated! '' |
| 9 | |
| 10 | {{{ |
| 11 | #!div style="font-size:85%" |
| 12 | {{{#!bash |
| 13 | # # Searching for missing packages, e.g. wxwidgets |
| 14 | # e-file wx-config |
| 15 | |
| 16 | # emerge dependecies -- This will take quite some time! Hint: net-libs/webkit-gtk |
| 17 | USE="curl xls fftw gmath motif wxwidgets gml hdf5 jpeg2k mdb netcdf odbc ogdi opencl postgres spatialite sqlite szip" \ |
| 18 | emerge -av proj geos gdal \ |
| 19 | xerces \ |
| 20 | mesa motif libGLw \ |
| 21 | tcl tk clang llvm byacc opencl \ |
| 22 | unixODBC postgresql-base ogdi spatialite \ |
| 23 | libgeotiff hdf5 netcdf \ |
| 24 | eselect-postgresql eselect-opencl eselect-wxwidgets \ |
| 25 | wxpython pyopengl \ |
| 26 | fftw |
| 27 | |
| 28 | # before compiling |
| 29 | eselect python set 1 # probably #1 is python 2.7 |
| 30 | }}} |
| 31 | }}} |
| 32 | |
| 33 | == Example Scripts == |
| 34 | |
| 35 | A simple configuration and compilation |
| 36 | |
| 37 | {{{ |
| 38 | #!div style="font-size:85%" |
| 39 | {{{#!bash |
| 40 | # clean previous configuration |
| 41 | make distclean |
| 42 | |
| 43 | # update source code |
| 44 | svn up |
| 45 | |
| 46 | # renice! source: <http://lists.osgeo.org/pipermail/grass-user/2013-May/068229.html> |
| 47 | renice +17 -p $$ |
| 48 | |
| 49 | # configure |
| 50 | ./configure \ |
| 51 | --with-freetype=yes --with-freetype-includes="/usr/include/freetype2/" \ |
| 52 | 2>&1 | tee config_log.txt |
| 53 | |
| 54 | # compile |
| 55 | time make -j13 |
| 56 | }}} |
| 57 | }}} |
| 58 | |
| 59 | An attempt for a complete configuration and compilation '''checking'''. In addition, this script times each of the executed commands (need for scrolling back!). |
| 60 | |
| 61 | {{{ |
| 62 | #!div style="font-size:85%" |
| 63 | {{{#!bash |
| 64 | # clean previous configuration |
| 65 | time make distclean |
| 66 | |
| 67 | # update |
| 68 | time svn up |
| 69 | |
| 70 | # renice! source: <http://lists.osgeo.org/pipermail/grass-user/2013-May/068229.html> |
| 71 | renice +17 -p $$ |
| 72 | |
| 73 | # configure |
| 74 | CFLAGS="-ggdb -march=native -Wall -Werror-implicit-function-declaration" \ |
| 75 | ./configure \ |
| 76 | --with-cxx \ |
| 77 | --with-includes=/usr/include/ --with-libs=/usr/lib64/ \ |
| 78 | --with-proj \ |
| 79 | --with-proj-includes=/usr/include/ \ |
| 80 | --with-proj-libs=/usr/lib64/ \ |
| 81 | --with-proj-share=/usr/share/proj/ \ |
| 82 | --with-geos \ |
| 83 | --with-geos=/usr/bin/geos-config \ |
| 84 | --with-gdal=/usr/bin/gdal-config \ |
| 85 | --with-x \ |
| 86 | --with-motif \ |
| 87 | --with-cairo \ |
| 88 | --with-opengl-libs=/usr/include/GL \ |
| 89 | --without-ffmpeg \ |
| 90 | --with-python=yes --with-python=/usr/bin/python2.7-config \ |
| 91 | --with-wxwidgets \ |
| 92 | --with-freetype=yes --with-freetype-includes="/usr/include/freetype2/" \ |
| 93 | --with-odbc=yes \ |
| 94 | --with-sqlite=yes \ |
| 95 | --with-mysql=yes --with-mysql-includes="/usr/include/mysql" --with-mysql-libs=/usr/lib/mysql \ |
| 96 | --with-postgres=yes --with-postgresql=yes --with-postgres-includes="/usr/include/postgresql" \ |
| 97 | --with-opencl --with-openmp --with-pthread \ |
| 98 | --with-lapack \ |
| 99 | --with-fftw \ |
| 100 | --with-readline \ |
| 101 | --with-regex \ |
| 102 | --with-nls \ |
| 103 | --with-jpeg \ |
| 104 | --with-tiff \ |
| 105 | --with-png \ |
| 106 | --with-netcdf \ |
| 107 | --without-opendwg \ |
| 108 | --enable-largefile=yes \ |
| 109 | 2>&1 | tee config_log.txt |
| 110 | |
| 111 | # check "make" |
| 112 | time make check |
| 113 | }}} |
| 114 | }}} |