Can't compile graph-tool on Solus, not enough RAM

I have a laptop with 8GB RAM and 6GB swap yet when I try to make graph-tool
it always runs out of RAM while compiling graph_blockmodel.hh:236:2
If I try with GCC it gives usually is killed but sometimes restarts the
computer, if I try with clang it restarts the computer.

I'm using Solus as my distro.

Ni! Hi Padraig,

Some things which might help us help you:

a) gcc version you're using
b) graph-tool version you're compiling
c) how much ram do you actually have available when you start your
compilation
d) the actual error message coming out of gcc

cheers,

ale
.~´

attachment.html (1.9 KB)

Hi Ale,

I did mean to provide the error message but the last time I tried to run it
it restarted the computer so I couldn't get it but I got it again there, it
got a little further this time:

graph_blockmodel.hh:236:28: note: here
                           case weight_type::REAL_EXPONENTIAL:
                            ^~~~
{standard input}: Assembler messages:
{standard input}:625641: Warning: end of file not at end of a line; newline
inserted
{standard input}:626860: Error: expected comma after name
`_ZZZ11export_lsbmvENKUlPT_E_clIN10graph_tool10BlockStateIJN5boost18undirected_adaptorINS5_8adj_listImEEEENS5_29unchecked_vector_property_mapISt6vectorISt5tupleIJmmmEESaISD_EENS5_27typed_identity_property_mapImEEEESt17integral_constantIbLb0EESJ_IbLb1EENS5_3anyESM_SM_NSA_IiNS5_27adj_edge_index_property_mapImEEEENSA_I'
in .size directive
g++: internal compiler error: Killed (program cc1plus)
Please submit a full bug report,
with preprocessed source if appropriate.

I'm using gcc version 7.10 trying to compile graph-tool version 2.22/

When I started the compilation I had 7.0G available according to free -h.
However the while the swap was free it doesn't say anything under available
there if that's a problem. Swap is on and I can hibernate.

Thanks,

Pádraig

Alexandre Hannud Abdo wrote

I recommend you try the current git version, which should require less
memory for that part to compile.

Best,
Tiago

Got further using the current git version but still couldn't compile it:

CXX graph_similarity.lo
{standard input}: Assembler messages:
{standard input}:17833566: Warning: end of file not at end of a line;
newline inserted
{standard input}:17833641: Error: unknown pseudo-op: `.'
{standard input}: Error: open CFI at the end of file; missing .cfi_endproc
directive
g++: internal compiler error: Killed (program cc1plus)
Please submit a full bug report,
with preprocessed source if appropriate.

Just to update, I increased the Swap and it compiled okay. Took 15GB at it's
peak, at one point I had 330MB memory free!

This is very strange; I never observed anything close to this.

Are you sure you are not compiling in parallel?

Sorry for the incredibly slow response, I took a screen grab of top while it
was compiling at one stage, see here <http://http://imgur.com/a/gBbki> .
It didn't seem to compile in parallel no.

It's using 7 gigs in this case, not 15.

I noticed you were using graph-tool 2.22. You should try the git version,
which has been modified to use less memory during compilation.

That must have been when I tried it first before turning swap on then, I
thought I took other ones but I guess not. I did compile the master version
in the end after you suggested it above but I didn't take any screen grabs
that time. What I'll do is try and compile it again later and if I get any
memory spikes I'll screenshot it and post it here.

It ran out of memory the first time it got to graph_similarity.lo but the
second time it finished it barely, here is a screen shot
<http://imgur.com/86FKunK&gt; , it got to 7.9G in swap (+7.3G in Mem) and then
went on to the next one.