現在、ソースから v1.13 dev をコンパイル中です。を使用して構成ファイルを生成しましたautogen.sh
。コマンドを使用して構成スクリプトを実行しています./configure --enable-openmp CXX='g++-5'
が、これによりエラーが返されますconfigure: error: No usable boost::iostreams found
。v1.12 をコンパイルしたときにこのエラーが発生したことは覚えていませんが、もう覚えていないだけかもしれません。Anaconda にインストールされているブーストのバージョンを確認したところ、最新であることがわかりました。そのため、スクリプトを正しい場所に指定する必要があると思いますが、オンラインで機能する解決策はまだ見つかりませんでした。ここで何が間違っているのでしょうか?
これは config.log の関連するエントリのようです:
configure:18704: result: no
configure:18669: checking for exit in -lboost_iostreams-mt-py2.5
configure:18694: g++-5 -o conftest -Wall -Wextra -ftemplate-backtrace-limit=0 -std=gnu++14 -DNDEBUG -ftemplate-depth-250 -Wno-deprecated -Wno-unknown-pragmas -O3 -fvisibility=default -fvisibility-inlines-hidden -fopenmp -I/home/pmj27/anaconda2/include/python2.7 conftest.cpp -lboost_iostreams-mt-py2.5 -lexpat -lm >&5
/usr/bin/ld: cannot find -lboost_iostreams-mt-py2.5
collect2: error: ld returned 1 exit status
configure:18694: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "graph-tool"
| #define PACKAGE_TARNAME "graph-tool"
| #define PACKAGE_VERSION "2.13dev"
| #define PACKAGE_STRING "graph-tool 2.13dev"
| #define PACKAGE_BUGREPORT "http://graph-tool.skewed.de/issues"
| #define PACKAGE_URL "http://graph-tool.skewed.de"
| #define PACKAGE "graph-tool"
| #define VERSION "2.13dev"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define __EXTENSIONS__ 1
| #define _ALL_SOURCE 1
| #define _GNU_SOURCE 1
| #define _POSIX_PTHREAD_SEMANTICS 1
| #define _TANDEM_SOURCE 1
| #define STDC_HEADERS 1
| #define HAVE_DLFCN_H 1
| #define LT_OBJDIR ".libs/"
| #define OPENMP_MIN_THRESH 300
| #define USING_OPENMP 1
| #define HAVE_LIBM 1
| #define HAVE_LIBEXPAT 1
| #define HAVE_PYTHON "2.7"
| #define HAVE_BOOST /**/
| #define HAVE_BOOST_PYTHON /**/
| #define HAVE_BOOST_IOSTREAMS /**/
| /* end confdefs.h. */
|
| /* Override any GCC internal prototype to avoid an error.
| Use char because int might match the return type of a GCC
| builtin and then its argument prototype would still apply. */
| #ifdef __cplusplus
| extern "C"
| #endif
| char exit ();
| int
| main ()
| {
| return exit ();
| ;
| return 0;
| }
configure:18704: result: no
configure:18715: error: No usable boost::iostreams found
編集: を使用してブーストを再インストールapt-get install libboost-all-dev
すると、構成を実行できますが、次の警告が表示されます:
configure: WARNING: No usable boost::coroutine found! Some functionality will be disabled in the library.