首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为node-mapnik构建occi插件

为node-mapnik构建occi插件
EN

Stack Overflow用户
提问于 2016-10-27 21:12:15
回答 1查看 149关注 0票数 0

我正在尝试为node-mapnik构建occi插件。我的目的是在tilelive-bridge节点模块的node-mapnik安装中使用该插件。

下面是我首先做的:

代码语言:javascript
复制
git clone https://github.com/mapnik/mapnik --depth 5
cd mapnik
git submodule update --init

这样做之后,我可以使用以下命令构建postgis插件:

代码语言:javascript
复制
python scons/scons.py INPUT_PLUGINS='postgis'

生成的postgis.input文件位于plugins/input目录中。

代码语言:javascript
复制
'occi':{'default':False,'path':'OCCI','inc':'occi.h','lib':'clntsh','lang':'C++'},

然后,我编辑了config.py文件并添加了以下内容:

代码语言:javascript
复制
OCCI_INCLUDES = '/usr/lib/oracle/10.2.0.3/client/include'
OCCI_LIBS = '/usr/lib/oracle/10.2.0.3/client'

另外,我更改了这一行:

代码语言:javascript
复制
PathVariable('OCCI_LIBS', 'Search path for OCCI library files', '/usr/lib/oracle/10.2.0.3/client' + LIBDIR_SCHEMA_DEFAULT, PathVariable.PathAccept),

转到

代码语言:javascript
复制
PathVariable('OCCI_LIBS', 'Search path for OCCI library files', '/usr/lib/oracle/10.2.0.3/client', PathVariable.PathAccept),

然后我将这3行代码添加到~/.bashrc:

代码语言:javascript
复制
export ORACLE_HOME=/usr/lib/oracle/10.2.0.3/client
export PATH=$ORACLE_HOME:$PATH
export LD_LIBRARY_PATH=/usr/lib/oracle/10.2.0.3/client

然后我输入:

代码语言:javascript
复制
source ~/.bashrc

并转到mapnik文件夹以运行构建:

代码语言:javascript
复制
python scons/scons.py INPUT_PLUGINS='occi'

上面写着:

代码语言:javascript
复制
Checking for C++ library clntsh... yes

但它并没有说:

代码语言:javascript
复制
Checking for C++ library ociei... yes

就像github中mapnik的wiki的occi页面所显示的那样。

我得到的错误是:

代码语言:javascript
复制
In file included from plugins/input/occi/occi_datasource.cpp:24:0:
plugins/input/occi/occi_featureset.hpp:55:43: error: ‘geometry_type’ in namespace ‘mapnik’ does not name a type
                         const mapnik::geometry_type::types& geom_type,
                                       ^
plugins/input/occi/occi_featureset.hpp:55:63: error: expected unqualified-id before ‘&’ token
                         const mapnik::geometry_type::types& geom_type,
                                                           ^
plugins/input/occi/occi_featureset.hpp:55:63: error: expected ‘)’ before ‘&’ token
plugins/input/occi/occi_featureset.hpp:55:63: error: expected ‘;’ at end of member declaration
plugins/input/occi/occi_featureset.hpp:55:65: error: ‘geom_type’ does not name a type
                         const mapnik::geometry_type::types& geom_type,
                                                             ^
plugins/input/occi/occi_featureset.hpp:61:38: error: ‘mapnik::geometry_type’ has not been declared
     void fill_geometry_type (mapnik::geometry_type* geom,
                                  ^
scons: *** [plugins/input/occi/occi_datasource.os] Error 1
scons: building terminated because of errors.

Tilelive-bridge没有附带带有occi插件的mapnik安装,而且在移除occi支持之前的版本无法编译。

你能告诉我我错过了什么吗?

提前感谢大家的帮助

EN

回答 1

Stack Overflow用户

发布于 2016-11-04 21:38:00

事实证明,OCCI插件甚至不能与该版本的Mapnik一起工作。如果我想获得Oracle Spatial Database Connectivity,我必须使用OGR插件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40285506

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档