Решил скомпилировать mapnik, но возникла проблема, которую не могу пока преодолеть. Может кто посоветует. Спасибо.
Собственно в 2012 году собирал, компилировал и все работало.
А теперь нет, и делал следующее (64 Windows 10; Python27):
1) Импортирую "mapnik":
Код: Выделить всё
git clone https://github.com/mapnik/mapnik.git
Код: Выделить всё
git submodule update --init
(https://github.com/mapnik/mapnik/blob/master/INSTALL.md)
Далее скопировал импортированный "mapnik" в "d:\mapnik"
3) Инсталлировал "tdm64-gcc-5.1.0-2.exe" в директорию "D:\TDM-GCC-64".
Примечание: пишут, что версия "gcc-5.*" поддерживает C++14 standard!
К примеру, ссылка: "So here is my runner for c++14 (below). I installed gcc 5+ as shown in your post and can compile correctly from the command line as also shown in your post." (https://community.c9.io/t/use-c-14-as-d ... ion/1080/5)
2) Компилирую и возникает ошибка
Выполняю компиляцию двумя вариантами:
- вариант 1. Компиляция "make install", но собственно для этой команды тест "make test":
Код: Выделить всё
echo off
set PATH=D:\TDM-GCC-64\bin;%PATH%
rem echo %PATH%
rem cd "d:\Program Files (x86)\mingw-w64\i686-6.3.0-posix-dwarf-rt_v5-rev1\mingw32\bin"
cd "C:\"
"C:\WINDOWS\system32\cmd.exe"
Код: Выделить всё
mingw32-make.exe test
Код: Выделить всё
process_begin: CreateProcess(NULL, uname -s, ...) failed.
process_begin: CreateProcess(NULL, env bash D:\mapnik\test\run, ...) failed.
make (e=2): Не удается найти указанный файл.
Makefile:89: recipe for target 'test' failed
make: *** [test] Error 2
Код: Выделить всё
set PATH=D:\TDM-GCC-64\bin;%PATH%
d:\Python27\python.exe scons/scons.py configure
Код: Выделить всё
scons: Reading SConscript files ...
Welcome to Mapnik...
Configuring build environment...
Configuring on Windows in *release mode*...
Checking for freetype-config... no
Checking for dlfcn.h support ... no
Checking if compiler (c++) supports -std=c++14 flag... (cached) no
C++ compiler does not support C++14 standard (-std=c++14), which is required. Please upgrade your compiler
3) А также можно привести лог файл "config.log" (d:\mapnik\config.log):
Код: Выделить всё
file D:\mapnik\SConstruct,line 1132:
Configure(confdir = .sconf_temp)
scons: Configure: Checking for freetype-config...
freetype-config --libs --cflags
"freetype-config" не является внутренней или внешней командой, исполняемой программой или командным файлом.
scons: Configure: no
scons: Configure: Checking for dlfcn.h support ...
.sconf_temp\conftest_1.cpp <-
|
|
|#include <dlfcn.h>
|
|int main()
|{
| return 0;
|}
|
|
c++ /Fo.sconf_temp\conftest_1.obj /c .sconf_temp\conftest_1.cpp /TP -std=c++14 /nologo /D-DMAPNIK_MEMORY_MAPPED_FILE /Iinclude /ID:\usr\include
c++: error: /Fo.sconf_temp\conftest_1.obj: No such file or directory
c++: error: /c: No such file or directory
c++: error: /TP: No such file or directory
c++: error: /nologo: No such file or directory
c++: error: /D-DMAPNIK_MEMORY_MAPPED_FILE: No such file or directory
c++: error: /Iinclude: No such file or directory
c++: error: /ID:\usr\include: Invalid argument
scons: Configure: no
.sconf_temp\conftest_2.cpp <-
|
|
|int main()
|{
|#if __cplusplus >= 201402L
| return 0;
|#else
| return -1;
|#endif
|}
|
|
c++ /Fo.sconf_temp\conftest_2.obj /c .sconf_temp\conftest_2.cpp /TP -std=c++14 /nologo /D-DMAPNIK_MEMORY_MAPPED_FILE /Iinclude /ID:\usr\include
c++: error: /Fo.sconf_temp\conftest_2.obj: No such file or directory
c++: error: /c: No such file or directory
c++: error: /TP: No such file or directory
c++: error: /nologo: No such file or directory
c++: error: /D-DMAPNIK_MEMORY_MAPPED_FILE: No such file or directory
c++: error: /Iinclude: No such file or directory
c++: error: /ID:\usr\include: Invalid argument
scons: Configure: Checking if compiler (c++) supports -std=c++14 flag...
scons: Configure: (cached) no
С ув. Александр