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