我目前正在从源代码编译 v1.13 dev。我已经使用autogen.sh
. 我现在正在使用该命令运行配置脚本,./configure --enable-openmp CXX='g++-5'
但这会返回错误configure: error: No usable boost::iostreams found
。我不记得在编译 v1.12 时遇到过这个错误,但也许我只是不记得了。我检查了使用 Anaconda 安装的 boost 版本,它告诉我它是最新的,所以我认为我可能只需将脚本指向正确的位置,但还没有找到适合我在线的解决方案。我在这里可能做错了什么?
这似乎是 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
编辑:重新安装 boost usingapt-get install libboost-all-dev
意味着我可以运行 configure 但现在我收到以下警告:
configure: WARNING: No usable boost::coroutine found! Some functionality will be disabled in the library.