GIS-LAB

Географические информационные системы и дистанционное зондирование

Руководство по сборке Quantum GIS и GRASS для Windows

Как и что собирать

Это руководство основано на значительной работе проделанной Marco Pasetti и расширено краткими описаниями компонентов, а также некоторой дополнительной информацией к сборке.

Оглавление

  1. MSYS
  2. MinGW
  3. Flex
  4. Bison
  5. Zlib
  6. Libpng
  7. Libjpeg
  8. Libtiff
  9. Xdr
  10. Freetype
  11. FFTW
  12. PDCurses
  13. PROJ.4
  14. GEOS
  15. GSL
  16. Expat
  17. PostgreSQL
  18. SQLite
  19. GDAL - Step One
  20. AVCE00
  21. E00compr
  22. GPSBabel
  23. Tcl/Tk
  24. GRASS
  25. GDAL - Step Two
  26. Qt Open Source
  27. Python
  28. SIP
  29. PyQt
  30. CMake
  31. Quantum GIS

Введение

Этот документ является простым руководством по сборке Windows-версий GRASS и Quantum GIS. Он основан на следующих источниках:

Документ расчитан на начинающих и пытается свести все предыдущие к единому, включающему все необходимые части.

Предполагается что библиотеки использованные в этом руководстве имеют последнюю стабильную версию. Иначе, в замечаниях указывается, почему последняя версия не была использована.

Чтобы избежать ошибок, прежде чем приступать к активным действиям рекомендуется сначала прочитать параграф. Очень важно выполнять каждый шаг в той последовательности, которая указана в данном руководстве.

Это руководство было успешно протестировано для операционных систем Windwows XP и Windows Vista. Для установки компонентов необходим доступ к интернет, так как некоторые из них получают инсталляционные файлы из веб.

1MSYS (1.0.11)

MSYS - Minimal SYStem. Предоставляет POSIX-совместимую среду-оболочку Bourne, а также набор инструментов UNIX выполняемых из командой строки. MSYS была разработана для запуска скриптов конфигурации и сборки (Makefiles) используемых для компиляции обеспечения с открытым программным кодом, другим использованием MSYS является замена интерфейса командной строки Windows cmd.exe

Загрузите MSYS installer

Установите в c:\msys

После установки, в появившемся окне, на вопрос: Do you wish to continue with the post install? введите n (нет) и enter.

  • MSYS предоставляет набор инструментов из UNIX для использования в Windows; этот документ дает дополнительную информацию о командах UNIX;
  • Если вам нужно получить экранный вывод MSYS, щелкните правой кнопкой мыши на области вывода MSYS которую вы выбрали и этот текст будет скопирован в буфер обмена Windows; теперь его можно вставлять в другие документы используя CRTL+V.

Загрузите пакет MSYS coreutils (требуется для некоторых модулей и скриптов GRASS).

Распакуйте во временную папку и скопируйте содержимое папки coreutils-5.97 в c:\msys (перезаписывая существующие файлы)

Пример кода программы/html и т.п.

2MinGW (5.1.4)

MinGW - Minimalist GNU for Windows, бывший mingw32, порт компилятора GNU Compiler Collection (GCC) для Microsoft Windows включающий набор свободных библиотек и заголовочных файлов для Windows API. MinGW позволят разработчикам создавать приложения Microsoft Windows. В MinGW включены расширения для Microsoft Visual C++ runtime library поддерживающие C99 (современный диалект C).

Загрузите MinGW

Выберите "Download and Install" (Загрузить и установить), "Current Version" (Текущую версию);

Устанавливайте только "g++ compiler" и "MinGW Make";

Папка установки: c:\msys\mingw

3Flex (2.5.4a-1)

Flex - быстрый лексический анализатор-генератор. Flex является инструментом для разработки программ осуществляющих поиск по шаблонам текста. Существует множется применений Flex, включая написание компиляторов совместно с Bison.

Загрузите скомпилированный Flex

Распакуйте в c:\msys\local

Последний релиз Flex (2.5.34) все еще не портирован для Windows.

4Bison (2.1)

Bison - парсер-генератор общего пользования, конвертирующий аннотированную контекстно-независимое содержание в LALR(1) или GLR парсер для этого содержания. Bison может использоваться для широкого круга языковых парсеров, начиная с простых для настольных калькуляторов и заканчивая языками программирования.

Загрузите следующие архивы:

Распакуйте в c:\msys\local с перезаписью, если она предлагается.

Последний релиз Bison (2.3) все еще не портирован для Windows.

5Zlib (1.2.3)

Zlib - свободно распространяемая библиотека компрессии.

Распакуйте в c:\msys\local\src

Откройте c:\msys\local\src\zlib-1.2.3\win32\Makefile.gcc

Замените строку 102:

# INCLUDE_PATH and LIBRARY_PATH must be set.

на

INCLUDE_PATH=/usr/local/include
LIBRARY_PATH=/usr/local/lib
SHARED_LIBRARY_PATH=/usr/local/bin

Удалите строки 109-110:

 -@if not exist $(INCLUDE_PATH)/nul mkdir $(INCLUDE_PATH)
-@if not exist $(LIBRARY_PATH)/nul mkdir $(LIBRARY_PATH)

После строки 111 добавьте:

 -$(INSTALL) $(SHAREDLIB) $(SHARED_LIBRARY_PATH)

После строки 118 добавьте:

 -$(RM) $(SHARED_LIBRARY_PATH)/$(SHAREDLIB)

Откройте консоль MSYS (используя иконку MSYS десктопа или из меню пуск) и введите:

cd /usr/local/src/zlib-1.2.3
make -f win32/Makefile.gcc 
make install -f win32/Makefile.gcc

****ошибки?

$ make install -f win32/Makefile.gcc
/bin/sh.exe: -c: line 2: syntax error: unexpected end of file
make: [install] Error 2 (ignored)
/bin/sh.exe: -c: line 2: syntax error: unexpected end of file
make: [install] Error 2 (ignored)
cp -fp zlib.h /usr/local/include
cp -fp zlib1.dll /usr/local/bin
cp -fp zconf.h /usr/local/include
cp -fp libz.a /usr/local/lib
cp -fp libzdll.a /usr/local/lib

По каким-то причинам информация о zlib1.dll показывает версию 1.2.2.0, хотя на самом деле она 1.2.3.

 

6Libpng (1.2.29)

Libpng - свободно распространяемая библиотека для работы с форматом PNG. Требует наличия zlib.

Загрузите исходный код Libpng

Распакуйте в c:\msys\local\src

Откройте c:\msys\local\src\libpng-1.2.29\scripts\makefile.mingw

После строки 40 добавьте:

 prefix=/usr/local

Отредактируйте строки 52-53:

ZLIBLIB=/usr/local/lib
ZLIBINC=/usr/local/include

В консоли MSYS введите:

cd /usr/local/src/libpng-1.2.29
cp scripts/makefile.mingw ./Makefile
make

Так как эта процедура не срабатывает, нужно провести установку вручную. Простой способ выполнить эту процедуру скопировать следующий набор команд и вставить его в новый текстовый документ, например install-libpng.sh который нужно сохранить в директорию с исходным кодом Libpng; Замет в консоли MSYS нужно выполнить команду: install-libpng.sh

mkdir /usr/local/lib/pkgconfig
mkdir /usr/local/man/man3
mkdir /usr/local/man/man5
install -m 644 libpng.a /usr/local/lib
install -m 644 libpng.dll.a /usr/local/lib
install -s -m 755 libpng12.dll /usr/local/bin
install -m 644 libpng.pc /usr/local/lib/pkgconfig
install -m 644 pCOMOBJECTS="jcomapi.o jutils.o jerror.o jmemmgr.o jmemnobs.o"
CLIBOBJECTS="jcapimin.o jcapistd.o jctrans.o jcparam.o \
jdatadst.o jcinit.o jcmaster.o jcmarker.o jcmainct.o \
jcprepct.o jccoefct.o jccolor.o jcsample.o jchuff.o \
jcphuff.o jcdctmgr.o jfdctfst.o jfdctflt.o jfdctint.o"
DLIBOBJECTS="jdapimin.o jdapistd.o jdtrans.o jdatasrc.o \
jdmaster.o jdinput.o jdmarker.o jdhuff.o jdphuff.o \
jdmainct.o jdcoefct.o jdpostct.o jddctmgr.o \
jidctfst.o jidctflt.o jidctint.o jidctred.o \
jdsample.o jdcolor.o jquant1.o jquant2.o jdmerge.o"
LIBOBJECTS="$CLIBOBJECTS $DLIBOBJECTS $COMOBJECTS"
COBJECTS="cjpeg.o rdppm.o rdgif.o rdtarga.o rdrle.o rdbmp.o rdswitch.o cdjpeg.o"
DOBJECTS="djpeg.o wrppm.o wrgif.o wrtarga.o wrrle.o wrbmp.o rdcolmap.o cdjpeg.o"
TROBJECTS="jpegtran.o rdswitch.o cdjpeg.o transupp.o"
for i in *.exe ; do rm /usr/local/bin/$i ; done
rm *.exe
cd .libs
rm libjpeg.a
rm /usr/local/lib/libjpeg.a
cd ..
gcc -shared -s -o ./.libs/libjpeg.dll -lm -Wl,--out-implib,./.libs/libjpeg.a  $LIBOBJECTS
gcc -s -g -O2 -o cjpeg.exe $COBJECTS -L./.libs/ -ljpeg
gcc -s -g -O2 -o djpeg.exe $DOBJECTS -L./.libs/ -ljpeg
gcc -s -g -O2 -o jpegtran.exe $TROBJECTS -L./.libs/ -ljpeg
gcc -s -g -O2 -o rdjpgcom.exe rdjpgcom.o -L./.libs/ -ljpeg
gcc -s -g -O2 -o wrjpgcom.exe wrjpgcom.o -L./.libs/ -ljpeg
cd .libs
install libjpeg.a /usr/local/lib
install libjpeg.dll /usr/local/bin
cd ..
for i in *.exe ; do install $i /usr/local/bin ; doneng.h pngconf.h /usr/local/include
install -m 644 libpngpf.3 libpng.3 /usr/local/man/man3
install -m 644 png.5 /usr/local/man/man5
cp libpng-config /usr/local/bin
chmod 755 /usr/local/bin/libpng-config

7Libjpeg (6b)

Libjpeg - свободно распространяемая библиотека для работы с форматом JPEG, компрессией и распаковкой.

Загрузите исходный код Libjpeg

Распакуйте в c:\msys\local\src

В консоли MSYS введите:

 cd /usr/local/src/jpeg-6b
./configure --prefix=/usr/local --enable-shared
make
mkdir /usr/local/man/man1
make install

Так как процедура make не создает библиотеку (даже если она включена с помощью configure), необходимо собрать ее вручную:

Согласно документации MinGW и GCC (Компиляция и сборка в MinGW и Командные опции GCC - Опции для связывания), правильная проценду для сборки разделяемых библиотек (и исполняемых файлов, которые их используют) с помощью MinGW/MSYS должна быть следующей:

Сначала необходимо удалить статическую библиотеку импорта собранную стандартной процедурой make , и все исполняемые файлы связанные со статическими библиеотками. После этого нужно собрать разделяемую библиотеку со связанной статической библиотекой импорта, а затем все исполняемые файлы, которые будут связаны с новой разделяемой библиотекой.

8Libtiff (3.8.2)

Libtiff - свободно распространяемая библиотека для работы с чтением и записью формата Tag Image File Format (TIFF), включающая набор инструментов.

Загрузите исходный код Libtiff

Распакуйте в c:\msys\local\src

В консоли MSYS введите:

cd /usr/local/src/tiff-3.8.2
./configure --prefix=/usr/local \
--with-zlib-lib-dir=/usr/local/lib \
--with-zlib-include-dir=/usr/local/include \
--with-jpeg-lib-dir=/usr/local/bin \
--with-jpeg-include-dir=/usr/local/include

Библиотека должна быть сконфигурирована следующим образом:

Libtiff is now configured for i686-pc-mingw32

  Installation directory:             /usr/local
  Documentation directory:       ${prefix}/share/doc/tiff-3.8.2
  C compiler:                             gcc -g -O2 -Wall -W
  C++ compiler:                         g++ -g -O2
  Enable runtime linker paths:                no
  Support Microsoft Document Imaging: yes

 Support for internal codecs:
  CCITT Group 3 & 4 algorithms:            yes
  Macintosh PackBits algorithm:             yes
  LZW algorithm:                                    yes
  ThunderScan 4-bit RLE algorithm:        yes
  NeXT 2-bit RLE algorithm:                    yes
  LogLuv high dynamic range encoding: yes

 Support for external codecs:
  ZLIB support:                                       yes
  Pixar log-format algorithm:                  yes
  JPEG support:                                      yes
  Old JPEG support:                                 no

  C++ support:                                       yes

  OpenGL support:                                  no

И наконец сборка:

make  
make install

9Xdr (4.0)

Xdr - библиотека eXternal Data Representation (XDR) включающая процедуры позволяющие создавать код на языке C и создавать процедуры XDR определеяющие другие типы данных. XDR позволяет данные между компьютерами по разному хранящих данные.

Загрузите исходный код Xdr (специальная версия с убранным сетевым кодом)

Распакуйте в c:\msys\local\src

В консоли MSYS введите:

cd /usr/local/src/xdr-4.0-mingw2
./configure --prefix=/usr/local --build=i686-pc-mingw32
make
make install

Эту библиотеку необходимо компилировать как статическую, GRASS работает с разделяемой неправильно!

10Freetype (2.3.5)

Freetype - библиотека написаная на языке C и реализующая механизм растеризации шрифтов. Она используется для растеризации символов в битмэпы и предоставляет поддержку для других операций со шрифтами.

Загрузите исходный код Freetype

Распакуйте в c:\msys\local\src

В консоли MSYS введите:

cd /usr/local/src/freetype-2.3.5
./configure --prefix=/usr/local
make
make install

Для завершения установки:

cd /usr/local/include
mkdir freetype
mkdir ./freetype/config
cd ./freetype2/freetype/config
mv * /usr/local/include/freetype/config
cd ..
rmdir config
mv * /usr/local/include/freetype
cd ..
rmdir freetype
cd ..
rmdir freetype2

Откройте c:\msys\local\lib\pkgconfig\freetype2.pc

Cflags: -I${includedir}/freetype2 -I${includedir}

на

Cflags: -I${includedir}

11FFTW (3.1.2)

FFTW - библиотека написаная на языке C и служащая для расчета преобразований Фурье в одном или более измерениях на основе нормальных или комплексных исходных данных.

Загрузите исходный код FFTW

Распакуйте в c:\msys\local\src

В консоли MSYS введите:

cd /usr/local/src/fftw-3.1.2
./configure --prefix=/usr/local \
--disable-fortran \
--with-our-malloc16 \
--enable-shared \
--disable-static \
--enable-threads \
--with-combined-threads \
--enable-portable-binary \
--enable-sse2
make
make install

12PDCurses (3.3)

PDCurses - свободная библиотека функций управления окнами для DOS, OS/2, Win32, X11 и SDL, реализующая большинство функций доступных в X/Open и System V R4 и поддерживающая компиляторы для этих платформ.

Загрузите исходный код PDCurses

Распакуйте в c:\msys\local\src

Откройте c:\msys\local\src\PDCurses-3.3\win32\mingwin32.mak

Отредактируйте строку 80 заменив:

-copy pdcurses.a panel.a

на

-cp pdcurses.a panel.acd src
for i in *.exe ; do rm /usr/local/bin/$i ; done
rm /usr/local/bin/invgeod.exe
rm /usr/local/bin/invproj.exe
rm *.exe
cd .libs
rm libproj.a
rm /usr/local/lib/libproj.a
gcc -shared -s -o libproj.dll -lm -Wl,--out-implib,libproj.a *.o
cd ..
gcc -s -g -O2 -o cs2cs.exe cs2cs.o gen_cheb.o p_series.o .libs/emess.o -L./.libs/ -lproj
gcc -s -g -O2 -o geod.exe geod.o geod_set.o geod_for.o geod_inv.o .libs/emess.o -L./.libs/ -lproj
gcc -s -g -O2 -o nad2bin.exe nad2bin.o -L./.libs/ -lproj
gcc -s -g -O2 -o nad2nad.exe nad2nad.o .libs/emess.o -L./.libs/ -lproj
gcc -s -g -O2 -o proj.exe proj.o gen_cheb.o p_series.o .libs/emess.o -L./.libs/ -lproj
cp proj.exe invproj.exe
cp geod.exe invgeod.exe
cd .libs
install libproj.a /usr/local/lib
install libproj.dll /usr/local/bin
cd ..
for i in *.exe ; do install $i /usr/local/bin ; done

В консоли MSYS введите:

cd /usr/local/src/PDCurses-3.3
cd win32
make -f mingwin32.mak DLL=Y all
cp pdcurses.a libcurses.a
install libcurses.a /usr/local/lib
install pdcurses.dll /usr/local/bin
cd ..
install -m 644 curses.h /usr/local/include

13PROJ.4 (4.6.0)

Proj - свободная библиотека и набор инструментов, являющихся де-факто стандартом в области трансформации координат и проекционных преобразований.

Загрузите исходный код PROJ.4

Распакуйте в c:\msys\local\src

Загрузите сетки трансформации датума для США, Канады и Новой Зеландии

Распакуйте в c:\msys\local\src\proj-4.6.0\nad

В консоли MSYS введите:

cd /usr/local/src/proj-4.6.0
./configure --prefix=/usr/local --enable-shared --disable-static
make
make install

Так как эта процедура не создает разделяемую библиотеку, несмотря на использование соответствующего параметра configure, необходимо повторить операцию вручную:

14GEOS (3.0.0)

GEOS - (Geometry Engine - Open Source) порт на язык C++ пакета топологии Java - Java Topology Suite (JTS). GEOS предоставляет доступ к функциональности JTS с помощью C++. Это включает пространственные функции операторы определенные спецификацией OpenGIS Simple Features для SQL, а также специфические функции работы с топологией JTS.

Загрузите исходный код GEOS

Распакуйте в c:\msys\local\src

В консоли MSYS введите:

cd /usr/local/src/geos-3.0.0 
./configure --prefix=/usr/local
make
make install

15GSL (1.11)

GSL - GNU Scientific Library библиотека математических операций для языков C и C++. Библиотека предоставляет широкий набор математических процедур, таких как генераторы случайных чисел, специальные функции и методы апроксимации. Библиотека включает более 1000 функций и мощный набор тестов.

Загрузите исходный код GSL

Распакуйте в c:\msys\local\src

В консоли MSYS введите:

cd /usr/local/src/gsl-1.11 
./configure --prefix=/usr/local
make
make install

16Expat (2.0.1)

Expat - библиотека потоковой обработки XML написанная на языке C.

Загрузите исходный код Expat

Распакуйте в c:\msys\local\src

В консоли MSYS введите:

cd /usr/local/src/expat-2.0.1
./configure --prefix=/usr/local
make
make install

17PostgreSQL (8.3.1)

PostgreSQL - открытая реляционная база данных.

Загрузите исходный код PostgreSQL

Распакуйте в c:\msys\local\src

В консоли MSYS введите:

cd /usr/local/src/postgresql-8.3.1 
./configure --prefix=/usr/local/pgsql \
--with-includes=/usr/local/include \
--with-libraries=/usr/local/lib \
--without-readline
make
make install

Уже собранные бинарные файлы PostgreSQL для Windows, создают проблемы со сборкой GDAL. Это происходит потому, что версия PostgreSQL для Windows собрана используя Visual Studio, MinGW (а особенно GDAL собранный с MinGW) не может связаться с библиотеками собранными с помощью VS.

18SQLite (3.5.9)

SQLite - открытая реляционная база данных SQLite не требующая сервера и конфигурации.

Загрузите исходный код SQLite

Распакуйте в c:\msys\local\src

В консоли MSYS введите:

cd /usr/local/src/sqlite-amalgamation-3.5.9
./configure --prefix=/usr/local/sqlite
make
make install

19GDAL (1.5.2) - шаг первый

GDAL - библиотека трансляции растровых форматов геоданных, библиотека представляет единую абстрактную модель данных для всех поддерживаемых форматов. Пакет также включает набор полезных консольных утилит.

Так как Quantum GIS необходим GDAL с поддержкой GRASS, нужно сделать следующее:

  1. Собрать и установить GDAL без поддержки GRASS
  2. Собрать и установить GRASS
  3. Пересоубрать и установить GDAL с поддержкой GRASS

Сначала выполним пункт 1, соберем и установим GDAL без поддержки GRASS:

Загрузите исходный код GDAL

Распакуйте в c:\msys\local\src

Open c:\msys\local\src\gdal-1.5.2\configure

В строке 23832 замените:

expat_lib_flags="-L$expat_prefix/lib -lexpat"

на

LIBS="$LIBS -L$expat_prefix/lib -lexpat"

В консоли MSYS введите:

cd /usr/local/src/gdal-1.5.2 ./configure 
--prefix=/usr/local \
--without-grass \
--with-sqlite3=/usr/local/sqlite \
--with-pg=/usr/local/pgsql/bin/pg_config.exe

После завершения, вы должны увидеть следующий результат:

GDAL is now configured for i686-pc-mingw32

  Installation directory:    	/usr/local
  C compiler:                	gcc -g -O2
  C++ compiler:              	g++ -g -O2

  LIBTOOL support:           	yes

  LIBZ support:              	internal
  GRASS support:             	no
  CFITSIO support:           	no
  PCRaster support:          	internal
  NetCDF support:            	no
  LIBPNG support:            	internal
  LIBTIFF support:           	internal (BigTIFF=yes)
  LIBGEOTIFF support:        	internal
  LIBJPEG support:           	internal
  LIBGIF support:            	internal
  OGDI support:              	no
  HDF4 support:              	no
  HDF5 support:              	no
  Kakadu support:            	no
  JasPer support:            	no
  ECW support:               	no
  MrSID support:             	no
  GRIB support:              	no
  cURL support (wms/wcs/...):	no
  PostgreSQL support:        	yes
  MySQL support:             	no
  Xerces-C support:          	no
  Expat support:             	yes
  ODBC support:              	no
  PGeo support:              	no
  OCI support:               	no
  SDE support:               	no
  DODS support:              	no
  SQLite support:            	yes
  DWGdirect support          	no
  PANORAMA GIS support:      	no
  INFORMIX DataBlade support:	no
  GEOS support:              	yes

  Old-gen python          	no
  SWIG Bindings:          	no

  Statically link PROJ.4:    	no
  enable OGR building:       	yes
  enable pthread support:    	no
  hide internal symbols:     	no

Откройте c:\msys\local\src\gdal-1.5.2\GNUmakefile

После строки 4 добавьте:

GDAL_ROOT=.

Наконец соберите и установите GDAL:

make
make install
  • Включение внешней поддержки Zlib, Libpng, Libjpeg и Libtiff приводит к тому, что сборка GDAL заканчивается неудачно;
  • Распределенные бинарные файлы Python для Windows собраны с использованием Visual Studio, GDAL (если он собирается MinGW) требует версию Python собранную MinGW; это означает, что если вы хотите включить поддержку Python в GDAL, вам понадобится также собрать Python из исходников с помощью MinGW;
  • Тоже самое касается и поддержки OGDI.

20AVCE00 (2.0.0)

AVCE00 - свободная библиотека на ANSI-C которая помогает переводить бинарные векторные покрытия Arc/Info в формат E00. Она помогает читать и записывать покрытия как если бы они были файлами E00.

Загрузите исходный код AVCE00

Распакуйте в c:\msys\local\src

В консоли MSYS введите:

cd /usr/local/src/avce00-2.0.0 
make
install avcexport.exe /usr/local/bin
install avcimport.exe /usr/local/bin

21E00compr (1.0.0)

E00compr - свободная библиотека на ANSI-C для чтения и записи файлов E00.

Загрузите исходный код E00compr

Распакуйте в c:\msys\local\src

В консоли MSYS введите:

cd /usr/local/src/e00compr-1.0.0 
make cd /usr/local/src/tk8.5.2/win
./configure --prefix=/usr/local/tcl-tk --with-tcl=/usr/local/src/tcl8.5.2/win --enable-shared
make
make install
cd /usr/local/tcl-tk/bin
mv wish85.exe wish.exe
install e00conv.exe /usr/local/bin

22GPSBabel (1.3.5)

GPSBabel - программное обеспечение для работы с GPS, получением и конвертацией информации.

Загрузите бинарные файлы GPSBabel

Распакуйте в c:\msys\local\gpsbabel

23Tcl/Tk (8.5.2)

Tcl/Tk - Tool Command Language, мощный но простой в изучении динамический язык программирования, подходящий для широкого спектра задач, включающего веб, настольные приложения, работу с сетью, адинистрацией и тестированием. Tk - набор инструментов для работки графического пользовательского интерфейса. Tk является стандартным GUI для Tcl.

Загрузите исходный код Tcl

Распакуйте в c:\msys\local\src

В консоли MSYS введите:

cd /usr/local/srcd /usr/local/src/grass-6.3.0
./configure \
--prefix=/usr/local \
--with-includes=/usr/local/include \
--with-libs=/usr/local/lib \
--disable-x11 \
--without-x \
--with-cxx \
--enable-shared \
--enable-largefile \
--with-opengl=windows \
--with-fftw \
--with-freetype \
--with-proj-share=/usr/local/share/proj \
--with-gdal=/usr/local/bin/gdal-config \
--with-tcltk --with-tcltk-includes=/usr/local/tcl-tk/include --with-tcltk-libs=/usr/local/tcl-tk/bin \
--with-sqlite --with-sqlite-includes=/usr/local/sqlite/include --with-sqlite-libs=/usr/local/sqlite/lib \
--with-postgres --with-postgres-includes=/usr/local/pgsql/include --with-postgres-libs=/usr/local/pgsql/libc/tcl8.5.2/win 
./configure --prefix=/usr/local/tcl-tk --enable-shared
make
make install
cd /usr/local/tcl-tk/bin
mv tclsh85.exe tclsh.exe

Загрузите исходный код Tk

Распакуйте в c:\msys\local\src

В консоли MSYS введите:

 

24GRASS (6.3.0)

GRASS - одна из самых мощных свободных ГИС.

Загрузите исходный код GRASS

Распакуйте в c:\msys\local\src

Откройте c:\msys\local\src\grass-6.3.0\man\Makefile

В строке 13, замените:

default: $(MANPAGES)

на

default:

В консоли MSYS введите:

После завершения, вы должны увидеть следующий результат:

GRASS is now configured for:  i686-pc-mingw32

 Source directory:            /usr/local/src/grass-6.3.0
 Build directory:             /usr/local/src/grass-6.3.0
 Installation directory:      ${prefix}/grass-6.3.0
 Startup script in directory: ${exec_prefix}/bin
 C compiler:                  gcc -g -O2
 C++ compiler:                c++ -g -O2
 Building shared libraries:   yes
 64bit support:               no
 OpenGL platform:             Windows

  NVIZ:                       yes

  BLAS support:               no
  C++ support:                yes
  DWG support:                no
  FFMPEG support:             no
  FFTW support:               yes
  FreeType support:           yes
  GDAL support:               yes
  GLw support:                no
  JPEG support:               yes
  LAPACK support:             no
  Large File Support (LFS):   yes
  Motif support:              no
  MySQL support:              no
  NLS support:                no
  ODBC support:               no
  OGR support:                yes
  OpenGL support:             yes
  PNG support:                yes
  PostgreSQL support:         yes
  Python support:             no
  Readline support:           no
  SQLite support:             yes
  Tcl/Tk support:             yes
  wxWidgets support:          no
  TIFF support:               yes
  X11 support:                no
  MacOSX application:         no

После успешной конфигурации GRASS, теперь можно его собрать:

export PATH="/usr/local/bin:/usr/local/tcl-tk/bin:/usr/local/sqlite/bin:/usr/local/pgsql/lib:$PATH"
make

По окончанию, лог компиляции должен выглядеть следующим образом:

GRASS GIS compilation log
-------------------------
Started compilation: Mon Jun 16 09:08:19 GMT 2008
--
Errors in:
/usr/local/src/grass-6.3.0/raster/r.li/r.li.daemon
/usr/local/src/grass-6.3.0/raster/r.li/r.li.edgedensity
/usr/local/src/grass-6.3.0/raster/r.li/r.li.patchdensity
/usr/local/src/grass-6.3.0/raster/r.li/r.li.patchnum
/usr/local/src/grass-6.3.0/raster/r.li/r.li.shape
/usr/local/src/grass-6.3.0/raster/r.li/r.li.simpson
/usr/local/src/grass-6.3.0/raster/r.li/r.li.shannon
/usr/local/src/grass-6.3.0/raster/r.li/r.li.mps
/usr/local/src/grass-6.3.0/raster/r.li/r.li.mpa
/usr/local/src/grass-6.3.0/raster/r.li/r.li.padcv
/usr/local/src/grass-6.3.0/raster/r.li/r.li.padsd
/usr/local/src/grass-6.3.0/raster/r.li/r.li.padrange
/usr/local/src/grass-6.3.0/raster/r.li/r.li.cwed
/usr/local/src/grass-6.3.0/raster/r.li/r.li.richness
/usr/local/src/grass-6.3.0/raster/r.li/r.li.dominance
--
In case of errors please change into the directory with error and run 'make'.
If you get multiple errors, you need to deal with them in the order they
appear in the error log. If you get an error building a library, you will
also get errors from anything which uses the library.
--
Finished compilation: Mon Jun 16 10:11:17 GMT 2008
make: *** [default] Error 1

Лучший способ проверить лог, открыть его c:\msys\local\src\grass-6.3.0\error.log.

Теперь, устанавливаем GRASS:

make install

Теперь GRASS установлен в c:\msys\local\grass-6.3.0

25GDAL (1.5.2) - шаг второй

В консоли MSYS введите:

cd /usr/local/src/gdal-1.5.2
./configure --prefix=/usr/local \
--with-local=/usr/local \
--with-libz=internal \
--with-png=internal \
--with-libtiff=internal \
--with-jpeg=internal \
--with-grass=/usr/local/grass-6.3.0 \
--with-sqlite3=/usr/local/sqlite \
--with-pg=/usr/local/pgsql/bin/pg_config.exe

После завершения, вы должны увидеть следующий результат:

GDAL is now configured for i686-pc-mingw32

  Installation directory:    	/usr/local
  C compiler:                	gcc -g -O2
  C++ compiler:              	g++ -g -O2

  LIBTOOL support:           	yes

  LIBZ support:              	internal
  GRASS support:             	grass57+
  CFITSIO support:           	no
  PCRaster support:          	internal
  NetCDF support:            	no
  LIBPNG support:            	internal
  LIBTIFF support:           	internal (BigTIFF=yes)
  LIBGEOTIFF support:        	internal
  LIBJPEG support:           	internal
  LIBGIF support:            	internal
  OGDI support:              	no
  HDF4 support:              	no
  HDF5 support:              	no
  Kakadu support:            	no
  JasPer support:            	no
  ECW support:               	no
  MrSID support:             	no
  GRIB support:              	no
  cURL support (wms/wcs/...):	no
  PostgreSQL support:        	yes
  MySQL support:             	no
  Xerces-C support:          	no
  Expat support:             	yes
  ODBC support:              	no
  PGeo support:              	no
  OCI support:               	no
  SDE support:               	no
  DODS support:              	no
  SQLite support:            	yes
  DWGdirect support          	no
  PANORAMA GIS support:      	no
  INFORMIX DataBlade support:	no
  GEOS support:              	yes


  Old-gen python          	no
  SWIG Bindings:          	no

  Statically link PROJ.4:    	no
  enable OGR building:       	yes
  enable pthread support:    	no
  hide internal symbols:     	no

Теперь соберем и установим GDAL:

make
make install

 

26Qt OpenSource (4.4.0)

QT - кросс-платформенный пакет разработки для настольных и внедренных приложений. Включает интуитивный API и богатую библиотеку классов для C++, интегрированный инструментарий для разработки графического пользовательского интерфейса и интернационализации, поддерживает разработку на Java и C++.

Загрузите инсталлятор Qt OpenSource

Установите в C:\DevTools\Qt-OpenSource

Когда инсталлятор спросит про MinGW, не нужно его загружать и устанавливать, просто укажите путь c:\msys\mingw

При появлении сообщения "The installer could not found a valid c:\msys\mingw\include\w32api.h", нажмите "Yes" и продолжите.

После установки Qt, отредактируйте C:\DevTools\Qt-OpenSource\bin\qtvars.bat и добавьте следующее:

В строке 8 замените:

echo -- PATH set to C:\DevTools\Qt-OpenSource\bin

на

echo -- Adding MSYS environment directories to PATH

В строке 14 замените:

set PATH=C:\DevTools\Qt-OpenSource\bin

на

set PATH=%PATH%;c:\msys\local\bin;c:\msys\local\sqlite\bin;c:\msys\local\pgsql\lib

Наконец, добавьте путь C:\DevTools\Qt-OpenSource\bin к своей переменной PATH.

27Python (2.5.2)

Python - объектно-ориентированный язык программирования.

Загрузите инсталлятор Python

Установите в C:\DevTools\Python

Добавьте C:\DevTools\Python к своей системной переменной PATH.

28SIP (4.7.7)

SIP - инструмент, который облегчает процесс создания bindings для библиотек C и C++ для Python.

Загрузите исходный код SIP

Установите в C:\msys\local\src

Откройте консоль Windows и введите:

cd c:\msys\local\src\sip-4.7.7
qtvars
python configure.py -p win32-g++
make
make install

29PyQt (4.4.3)

PyQt - мультиплатформенный набор bindings с пакетом разработки приложений Qt для языка Python.

Загрузите исходный код PyQT

Установите в C:\msys\local\src

Откройте консоль Windows и введите:

cd c:\msys\local\src\PyQt-win-gpl-4.4.3
qtvars
python configure.py

Зайдите в c:\msys\local\src\PyQt-win-gpl-4.4.3\QtGui, переименуйте все файлы заменив подстроку названия "sipQtGui" на "sQG". Откройте на редактирование Makefile, произведите такую же замену. Откройте на редактирование QtGui.sbf, произведите такую же замену. Если этого не сделать, в процессе сборки будет выдана ошибка The input line is too long (подробнее).

make
make install

 

30CMake (2.6.0)

CMake - кросс-платформенный система сборки (make).

Загрузите инсталлятор CMake

Запустите инсталлятор CMake и выберите "Add CMake to the system PATH for all users".

Установите в C:\DevTools\CMake

31Quantum GIS (0.11.0)

QGIS - динамично развивающаяся свободная настольная ГИС.

Загрузите исходный код QGIS

Распакуйте в C:\msys\local\src

Откройте консоль Windows и введите:

cd c:\msys\local\src\qgis_0.11.0
md build
cd build
qtvars
cmakesetup ..

В утилите CMake Setup выберите "Configure" и, когда спросит, выберите "MinGW Makefiles" как генератор.

CMake Setup предупредит о наличие отсутствующих связанных библиотек, игнорируйте это, нажмите OK и продолжить.

По завершению , выберите "Show Advanced Values".

Для каждого пункта перечисленного ниже, выберите соответствующий пункт в утилите CMake Setup, введите соответствующее значение и нажмите enter (мы осуществим ввод "снизу-вверх", редактируя последние значения в списке CMake Setup первыми):

SQLITE3_LIBRARY = c:/msys/local/sqlite/bin/libsqlite3-0.dll
SQLITE3_INCLUDE_DIR = c:/msys/local/sqlite/include
POSTGRES_INCLUDE_DIR = c:/msys/local/pgsql/include
GRASS_PREFIX = c:/msys/local/grass-6.3.0
CMAKE_INSTALL_PREFIX = c:/msys/local/qgis-0.11.0
CMAKE_CXX_FLAGS = -DGEOS_INLINE
CMAKE_BUILD_TYPE = Release

После окончания ввода, нажмите OK.

Наконец, в том же окне консоли введите:

make 
make install

Обсудить в форуме Комментариев — 5

Последнее обновление: September 09 2021