Changes between Version 3 and Version 4 of FuntooLinux
- Timestamp:
- 02/12/20 14:19:38 (5 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
FuntooLinux
v3 v4 6 6 == Installing dependencies == 7 7 8 ''Following likely needs to be updated! '' 8 First, emerge the general requirements (or ensure they are already installed) 9 9 10 10 {{{ 11 #!div style="font-size:85%" 11 #!sh 12 emerge -av gcc make zlib flex bison python 13 }}} 14 15 It may be that a utility is missing for your configuration. 16 In case the missing utility is part of a package with another name, 17 the `e-file` tool comes in handy to identify the uninstalled package. 18 For example, 19 to search for the package that provides the `wx-config` utility 20 (in which case it is `wxwidgets`), it can be searched via 12 21 {{{ 13 22 #!sh 14 # # Searching for missing packages, e.g. wxwidgets 15 # e-file wx-config 23 e-file wx-config 24 }}} 16 25 17 # emerge dependecies -- This will take quite some time! Hint: net-libs/webkit-gtk 18 USE="curl xls fftw gmath motif wxwidgets gml hdf5 jpeg2k mdb netcdf odbc ogdi opencl postgres spatialite sqlite szip" \ 19 emerge -av proj geos gdal \ 20 xerces \ 21 mesa motif libGLw \ 22 tcl tk clang llvm byacc opencl \ 23 unixODBC postgresql-base ogdi spatialite \ 24 libgeotiff hdf5 netcdf \ 25 eselect-postgresql eselect-opencl eselect-wxwidgets \ 26 wxpython pyopengl \ 27 fftw 26 Then, emerge [http://htmlpreview.github.io/?https://github.com/OSGeo/grass/blob/master/REQUIREMENTS.html optional packages] 27 (you likely want to have these!) 28 28 29 # before compiling 29 {{{ 30 #!sh 31 USE="wxwidgets" emerge -av bzip2 fftw lapack libpng libgeotiff readline sqlite freetype ctypesgen wxpython numpy python-dateutil ply pillow matplotlib six cairo 32 }}} 33 34 There is more that can be installed, 35 like databases and support for additional raster drivers/formats. 36 Anyhow, before compiling GRASS GIS, make sure that Python version 3 is set to be the one "visible" to the system. 37 {{{ 38 #!sh 39 eselect python list # list available versions 30 40 eselect python set 1 # probably #1 is python 2.7 31 41 }}} 32 }}}33 == Example Scripts ==34 42 35 A simple configuration and compilation 43 To compile GRASS GIS, at least two extra libraries are required: [https://github.com/OSGeo/proj PROJ] and [https://github.com/OSGeo/gdal GDAL/OGR]. Please consult their documentation on how to compile the latest stable resleases from source. The versions that are available through Portage, are usually not up-to-date! 44 45 == Configuration == 36 46 37 47 {{{ … … 50 60 # configure 51 61 ./configure \ 52 --with-freetype=yes --with-freetype-includes="/usr/include/freetype2/" \ 62 --with-freetype=yes \ 63 --with-freetype-includes="/usr/include/freetype2/" \ 53 64 2>&1 | tee config_log.txt 54 55 # compile56 time make -j1357 65 }}} 58 66 }}} 59 67 60 An attempt for a complete configuration and compilation '''checking'''. In addition, this script times each of the executed commands (need for scrolling back!). 68 == Compilation == 61 69 62 70 {{{ 63 #!div style="font-size:85%" 71 #!sh 72 # compile 73 time make -j4 74 75 # optionally, check the compilation 76 # time make check 77 }}} 78 79 80 == More elaborated example == 81 64 82 {{{ 65 83 #!sh 66 # clean previous configuration 84 85 # clean 67 86 time make distclean 68 87 69 88 # update 70 time svn up89 time git pull 71 90 72 # renice! source:<http://lists.osgeo.org/pipermail/grass-user/2013-May/068229.html>91 # taken from <http://lists.osgeo.org/pipermail/grass-user/2013-May/068229.html> 73 92 renice +17 -p $$ 74 93 … … 77 96 ./configure \ 78 97 --with-cxx \ 79 --with-includes=/usr/include/ --with-libs=/usr/lib64/ \ 98 --with-includes=/usr/include/ \ 99 --with-libs=/usr/lib64/ \ 80 100 --with-proj \ 81 101 --with-proj-includes=/usr/include/ \ … … 84 104 --with-geos \ 85 105 --with-geos=/usr/bin/geos-config \ 86 --with-gdal=/usr/ bin/gdal-config \106 --with-gdal=/usr/local/bin/gdal-config \ 87 107 --with-x \ 88 108 --with-motif \ … … 90 110 --with-opengl-libs=/usr/include/GL \ 91 111 --without-ffmpeg \ 92 --with-python=yes --with-python=/usr/bin/python2.7-config\112 --with-python=yes \ 93 113 --with-wxwidgets \ 94 --with-freetype=yes --with-freetype-includes="/usr/include/freetype2/" \ 114 --with-freetype=yes \ 115 --with-freetype-includes=/usr/include/freetype2 \ 95 116 --with-odbc=yes \ 96 117 --with-sqlite=yes \ 97 --with-mysql=yes --with-mysql-includes="/usr/include/mysql" --with-mysql-libs=/usr/lib/mysql \ 98 --with-postgres=yes --with-postgresql=yes --with-postgres-includes="/usr/include/postgresql" \ 99 --with-opencl --with-openmp --with-pthread \ 118 --with-postgres=yes \ 119 --with-postgresql=yes \ 120 --with-postgres-includes=/usr/include/postgresql \ 121 --with-opencl \ 122 --with-opencl-includes=/usr/include/CL/ \ 123 --with-openmp \ 124 --with-pthread \ 100 125 --with-lapack \ 101 126 --with-fftw \ … … 109 134 --without-opendwg \ 110 135 --enable-largefile=yes \ 136 --with-bzlib \ 137 --with-bzlib-includes="/usr/include/" \ 138 --with-zstd \ 111 139 2>&1 | tee config_log.txt 112 140 113 # check "make" 114 time make check 141 # compile 142 time make -j2 143 144 echo 145 ARCH=$(grep -m 1 ARCH config.status |cut -d "%" -f3) 146 echo " Start script is located in: ./$BINDIR/bin.$ARCH" 147 echo " Binaries are located in: ./$PREFIX/dist.$ARCH" 115 148 }}} 116 }}}