make duration of graph-tool

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

attachment.html (1.02 KB)

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....
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.

attachment.html (731 Bytes)

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.

attachment.html (954 Bytes)

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

attachment.html (1.06 KB)

config.log (98.1 KB)

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?

attachment.html (177 Bytes)

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