Fedora 21でmrsid DSDKを使用してgdalを構築する

Fedora 21でmrsid DSDKを使用してgdalを構築する

gdalがmrsidファイルを読み取ることができるように、mrsid DSDKを使用してソースからgdal 1.11.2を構築しようとしています。必要なすべての操作を実行し、makeを実行した後、次のエラーメッセージが表示されます。

GNUmakefile:46: recipe for target 'gdalinfo' failed
make[1]: *** [gdalinfo] Error 1
make[1]: Leaving directory '/home/fedora/Downloads/gdal-1.11.2/apps'
GNUmakefile:69: recipe for target 'apps-target' failed
make: *** [apps-target] Error 2

だから、同じ問題を抱えている人がいたら、私を助けてください。私はほぼ一週間この問題を解決しようと、あちこちで検索してきました。

更新:MrSID DSDKに問題があるようです。

/bin/ld: warning: libtbb.so.2, needed by /home/fedora/Downloads/MrSID_DSDK-9.1.0.4045-linux.x86-64.gcc41/Raster_DSDK/lib/libltidsdk.so, not found (try using -rpath or -rpath-link)
/home/fedora/Downloads/MrSID_DSDK-9.1.0.4045-linux.x86-64.gcc41/Raster_DSDK/lib/libltidsdk.so: undefined reference to `tbb::pipeline::pipeline()'
/home/fedora/Downloads/MrSID_DSDK-9.1.0.4045-linux.x86-64.gcc41/Raster_DSDK/lib/libltidsdk.so: undefined reference to `tbb::pipeline::add_filter(tbb::filter&)'
/home/fedora/Downloads/MrSID_DSDK-9.1.0.4045-linux.x86-64.gcc41/Raster_DSDK/lib/libltidsdk.so: undefined reference to `tbb::pipeline::run(unsigned long)'
/home/fedora/Downloads/MrSID_DSDK-9.1.0.4045-linux.x86-64.gcc41/Raster_DSDK/lib/libltidsdk.so: undefined reference to `typeinfo for tbb::filter'
/home/fedora/Downloads/MrSID_DSDK-9.1.0.4045-linux.x86-64.gcc41/Raster_DSDK/lib/libltidsdk.so: undefined reference to `tbb::filter::~filter()'
/home/fedora/Downloads/MrSID_DSDK-9.1.0.4045-linux.x86-64.gcc41/Raster_DSDK/lib/libltidsdk.so: undefined reference to `tbb::task_scheduler_init::default_num_threads()'
/home/fedora/Downloads/MrSID_DSDK-9.1.0.4045-linux.x86-64.gcc41/Raster_DSDK/lib/libltidsdk.so: undefined reference to `tbb::pipeline::~pipeline()'
collect2: error: ld returned 1 exit status
GNUmakefile:46: recipe for target 'gdalinfo' failed
make[1]: *** [gdalinfo] Error 1
make[1]: Leaving directory '/home/fedora/Downloads/gdal-1.11.2/apps'
GNUmakefile:69: recipe for target 'apps-target' failed
make: *** [apps-target] Error 2

答え1

以前も同じ問題が発生しました。私の設定に次の行を追加することでこの問題を解決できました。

export LD_LIBRARY_PATH=/path/to/Raster_DSDK/lib:$LD_LIBRARY_PATH

関連:https://gist.github.com/oeon/6527004(私の仕事ではなく、ただ役に立つ人)

答え2

tbbライブラリがありません。

tbb.i686 : The Threading Building Blocks library abstracts low-level threading
         : details
tbb-devel.i686 : The Threading Building Blocks C++ headers and shared
               : development libraries
tbb-doc.i686 : The Threading Building Blocks documentation

努力する

apt-get install libtbb-dev

関連情報