Hey,
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....
I assume this isn't a normal behavior?
Thanks
On 12/19/2013 09:53 AM, Stefan Klingelschmitt wrote:
Hey,
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....
I assume this isn't a normal behavior?
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?
Cheers, Tiago
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
Reaping winning child 0xf43910 PID 11481 Live child 0xf43910 (graph_closeness.lo) PID 11532 Reaping winning child 0xf43910 PID 11532 Removing child 0xf43910 PID 11532 from chain.
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
Reaping winning child 0xf43910 PID 11481 Live child 0xf43910 (graph_closeness.lo) PID 11532 Reaping winning child 0xf43910 PID 11532 Removing child 0xf43910 PID 11532 from chain.
On 12/19/2013 12:01 PM, Stefan Klingelschmitt wrote:
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
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.
Cheers, Tiago
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
I attached the configure.log
On 02/21/2014 09:30 AM, Stefan Klingelschmitt wrote:
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.
Best, Tiago
In addition in /usr/lib64 libboost_thread.so.1.53.0 is present, somehow graph-tool is looking for libboost_thread.so.1.49.0.... how can i change this?