0

我正在尝试在我的 RHEL/CENTOS 7 机器上构建一个 mapnik 2.2.0 RPM 文件。所以我在运行时从 Fedora 22 获取了 RPM SRC 文件,即 mapnik-2.2.0-11.fc21.src.rpm (我与 mapnik-2.2.0-5.fc20.src.rpm 的结果相同) rpmbuild 我收到以下错误消息:

Welcome to Mapnik...

scons: warning: Ignoring missing SConscript 'deps/agg/build.py'
 File "/root/rpmbuild/BUILD/mapnik-v2.2.0/SConstruct", line 1799, in <module>

scons: warning: Ignoring missing SConscript 'deps/mapnik/build.py'
 File "/root/rpmbuild/BUILD/mapnik-v2.2.0/SConstruct", line 1808, in   <module>
 scons: done reading SConscript files.
 scons: Building targets ...
 g++ -o bindings/python/mapnik_building_symbolizer.os -c -ansi -Wall -pthread  -ftemplate-depth-300 -O3 -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2  -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -fno-strict-aliasing -finline-functions -Wno-inline -Wno-parentheses -Wno-char-subscripts -fPIC -DHAVE_JPEG -DMAPNIK_USE_PROJ4 -DHAVE_PNG -DHAVE_TIFF -DBIGINT -DBOOST_REGEX_HAS_ICU -DLINUX -DMAPNIK_THREADSAFE -DNDEBUG -DHAVE_CAIRO -DHAVE_PYCAIRO -I. -Iinclude -I/usr/include/polyclipping -I/usr/include/agg2 -I/usr/include -I/usr/include/freetype2 -I/usr/include/libxml2 -I/usr/include/gdal -I/usr/include/python2.7 -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/libpng15 -I/usr/include/libdrm -I/usr/include/pycairo bindings/python/mapnik_building_symbolizer.cpp
In file included from include/mapnik/symbolizer.hpp:29:0,
             from include/mapnik/building_symbolizer.hpp:29,
             from bindings/python/mapnik_building_symbolizer.cpp:26:
include/mapnik/image_compositing.hpp:74:19: error: 'comp_op_grain_merge' is not a member of 'agg'
 grain_merge = agg::comp_op_grain_merge,
               ^
include/mapnik/image_compositing.hpp:75:21: error: 'comp_op_grain_extract' is not a member of 'agg'
 grain_extract = agg::comp_op_grain_extract,
                 ^
scons: *** [bindings/python/mapnik_building_symbolizer.os] Error 1
scons: building terminated because of errors.
error: Bad exit status from /var/tmp/rpm-tmp.kuI6KW (%build)


RPM build errors:
       Bad exit status from /var/tmp/rpm-tmp.kuI6KW (%build)
4

1 回答 1

0

Mapnik 通常在其源代码树中带有 AGG 库的大量修补版本。然而,Fedora 构建禁用了这一点,而是将 Mapnik-AGG 补丁直接放在它自己的 AGG 包中(因为他们不喜欢在其他地方复制系统库)。

你要么需要一个与打补丁的 Fedora 版本功能兼容的 CentOS AGG 库,要么你必须修改 Mapnik 构建以禁用“system_agg”补丁(并从规范文件中删除“rm -rf boost deps”) .

于 2015-08-19T07:33:23.590 回答