I'm trying to install graph-tool on my OpenSuse 12.2. The Configuration
seems to have worked, after installing all the dependencies. Unfornutately
the compiling seems to take hours. Yesterday I let it run for about 6 hours
and it has not finished. It seems like the compiling of the individual
functions takes up a lot of time, for example:
...
Making all in centrality
make[4]: Entering directory
`/home/sklingel/bin/PyAdditionalPackages/graph-tool-2.2.27/src/graph/centrality'
CXX graph_closeness.lo
CXX graph_eigentrust.lo
CXX graph_eigenvector.lo
CXX graph_hits.lo
CXX graph_katz.lo
CXX graph_pagerank.lo
...
the graph_pagerank.lo has needed round about two hours to compile....
It does take a while to compile graph-tool because of the heavy use of
templates, but I've never experienced anything like 6 hours... My guess
is that the build is running out of memory, and it started swapping,
which could increase a lot the compilation time. Are you running a
parallel build?
It seems like your right, it does need a lot of memory, always around
3gb....
What do you mean exactly ba parallel build. At least I didn't start one on
purpose
Here is one example of the make -d, what takes up a lot of time:
Invoking recipe from Makefile:505 to update target `graph_closeness.lo'.
Putting child 0xf43910 (graph_closeness.lo) PID 11481 on the chain.
Live child 0xf43910 (graph_closeness.lo) PID 11481
CXX graph_closeness.lo
It seems like your right, it does need a lot of memory, always around
3gb.... and then it starts swapping.
What do you mean exactly ba parallel build. I didn't start make -j, just
regular make
Is there anaything I can do to fix my issue?
Here is one example of the make -d, what takes up a lot of time:
Invoking recipe from Makefile:505 to update target `graph_closeness.lo'.
Putting child 0xf43910 (graph_closeness.lo) PID 11481 on the chain.
Live child 0xf43910 (graph_closeness.lo) PID 11481
CXX graph_closeness.lo
Parallel builds are started with "make -j num" where "num" is the number
of parallel processes. It can speed up the compilation time, but will
multiply the required memory also by a factor "num". This is often a
cause of swapping, but it is not your case.
If the compilation is exceeding the memory you have available, I suggest
trying to compile with the clang compiler, since it requires about half
as much memory as GCC.
I'm still trying to compile graph-tool on a SUSE 13.1 machine. I was
finally able to configure, make and install everything, at least I thought
so, but something went wrong again... when trying to load modules:
import graph_tool.all
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/site-packages/graph_tool/all.py", line 41, in
<module>
from graph_tool.generation import *
File
"/usr/lib/python2.7/site-packages/graph_tool/generation/__init__.py", line
50, in <module>
dl_import("from . import libgraph_tool_generation")
File "/usr/lib/python2.7/site-packages/graph_tool/dl_import.py", line 57,
in dl_import
exec(import_expr, local_dict, global_dict)
File "<string>", line 1, in <module>
ImportError: libboost_thread.so.1.49.0: cannot open shared object file: No
such file or directory
This looks like an inconsistency in your system. Looking in your configure.log one sees:
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: warning: libboost_thread.so.1.49.0, needed by /usr/local/lib/libCGAL.so, not found (try using -rpath or -rpath-link)
So it seems your CGAL library was compiled with boost 1.49 which is no
longer available.