我的最终目标是让python包graph_tool
在我的系统上工作,如果可能的话也在ipynb上工作。我已经brew install graph-tool
,as indicated here,但这还不够。
所以我跟着Anaconda instructions here,我取得了不错的进展,直到无法找到CGAL
图书馆。
注意:为了遵守Anaconda说明,我安装了anaconda3
并创建了一个新的conda环境(名为py36env
)来conda安装所有必需的软件包(必须与python 3.6匹配的软件包)
entire ./configure output。以下是一个片段:
(py36env) $ ./configure --prefix=/Users/tamtran/anaconda3/envs/py36env/ --with-python-module-path=/Users/tamtran/anaconda3/envs/py36env/lib/python3.6/site-packages --with-cgal=/Users/tamtran/anaconda3/envs/py36env/
.
.
checking whether CGAL is available in /Users/tamtran/anaconda3/envs/py36env/... no
configure: error: CGAL library not found.
entire config.log。以下是一个片段:
configure:21200: checking whether CGAL is available in /Users/tamtran/anaconda3/envs/py36env/
configure:21236: g++ -std=gnu++14 -o conftest -fopenmp -O3 -fvisibility=default -fvisibility-inlines-hidden -Wno-deprecated -Wall -Wextra -ftemplate-backtrace-limit=0 -DNDEBUG -I/Users/tamtran/anaconda3/envs/py36env//include -pthread -I/usr/local/include -L/Users/tamtran/anaconda3/envs/py36env//lib -lCGAL -lCGAL_Core -lgmp -lboost_thread-mt -lpthread conftest.cpp -lgmp -lgmp >&5
| #include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
| #include <CGAL/convex_hull_2.h>
| typedef CGAL::Exact_predicates_inexact_constructions_kernel K;
| CGAL::convex_hull_2(points.begin(),points.end(),std::back_inserter(result));
configure:21278: error: CGAL library not found.
CGAL_CPPFLAGS='-I/Users/tamtran/anaconda3/envs/py36env//include'
CGAL_FLAGS=''
CGAL_LDFLAGS='-L/Users/tamtran/anaconda3/envs/py36env//lib -lCGAL -lCGAL_Core -lgmp -lboost_thread-mt -lpthread'
注意:即使没有--with-cgal
标记,也会出现同样的问题。同样重要的(我认为)CGAL搜索目录在py36env
内,因为CGAL与python3.6匹配在那里,而CGAL-python3.5在conda根环境中。没有CGAL目录的./configure
输出的唯一区别是:
checking whether CGAL is available in /usr... no
checking whether CGAL is available in /usr/local... no
checking whether CGAL is available in /opt... no
checking whether CGAL is available in /opt/local... no
答案 0 :(得分:0)
在mac os x上你必须使用-lcgal(正在使用brew)
例如在fedora linux -lCGAL
上