0

我目前正在从源代码编译 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.
4

1 回答 1

0

可以在这里找到关于这个问题的相当冗长的讨论和解决方案:http: //main-discussion-list-for-the-graph-tool-project.982480.n3.nabble.com/Debian-package-and- boost-at-compile-time-td4026383.html

于 2016-03-09T16:13:36.740 回答