0

node-mapnik 用の occi プラグインを構築しようとしています。私の目的は、tilelive-bridge ノード モジュールの node-mapnik インストールでそのプラグインを使用することです。

これが私が最初にしたことです:

git clone https://github.com/mapnik/mapnik --depth 5
cd mapnik
git submodule update --init

これを行った後、次を使用してpostgisプラグインを構築できました。

python scons/scons.py INPUT_PLUGINS='postgis'

結果の postgis.input ファイルは、plugins/input ディレクトリで利用可能でした。

mapnik/non-core-plugins リポジトリのクローンを作成し、occi プラグインを plugins/input ディレクトリにコピーし、zip インストールされた oracle instantclient 11.2.0.4.0 バージョン (rpm インストールでは、インクルード フォルダーや .h ファイルが提供されませんでした) )、SConstruct ファイルを編集し、次の行をプラグイン オブジェクトに追加しました。

'occi':{'default':False,'path':'OCCI','inc':'occi.h','lib':'clntsh','lang':'C++'},

次に config.py ファイルを編集し、これらを追加しました。

OCCI_INCLUDES = '/usr/lib/oracle/10.2.0.3/client/include'
OCCI_LIBS = '/usr/lib/oracle/10.2.0.3/client'

また、次の行を変更しました。

PathVariable('OCCI_LIBS', 'Search path for OCCI library files', '/usr/lib/oracle/10.2.0.3/client' + LIBDIR_SCHEMA_DEFAULT, PathVariable.PathAccept),

の中へ

PathVariable('OCCI_LIBS', 'Search path for OCCI library files', '/usr/lib/oracle/10.2.0.3/client', PathVariable.PathAccept),

次に、次の 3 行を ~/.bashrc に追加しました。

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

私は 10.2.0.3 バージョンではなく 11.2.0.4.0 を使用していることに注意してください。SConstruct のデフォルト フォルダーに合わせてフォルダーに名前を付けただけです (デフォルト フォルダーも変更できましたが、よくわかりませんでした)。がデフォルトのフォルダだったのでそのままにしておきました)。

次に、次のように入力しました。

source ~/.bashrc

mapnik フォルダーに移動して、ビルドを実行します。

python scons/scons.py INPUT_PLUGINS='occi'

それは言います:

Checking for C++ library clntsh... yes

しかし、それは言いません:

Checking for C++ library ociei... yes

github の mapnik の wiki の occi ページが示唆するように。

私が得たエラー:

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 サポートを削除する前のバージョンはコンパイルされません。

何が足りないのか教えてください。

事前にすべての助けをありがとう

4

1 に答える 1