On 28.01.2015 19:42, [email protected] wrote:
> Quoting Tiago de Paula Peixoto (2015-01-28 04:47:21)
>> Can you try disabling sparsehash, with --disable-sparsehash, and see if
>> the problem persists? This should get rid of any tr1 references.
>
> That did it!
>
> $/usr/bin/python3.3 -c 'import graph_tool.all as gt ; print(gt.__version__)'
> 2.2.37dev (commit 201879ac, Fri Jan 9 15:46:17 2015 +0100)
>
> I am more than happy to continue debugging this until we figure out
> why enabling sparsehash results in a segfault, let me know what I can
> do.

Can you try the patch attached, and re-enable sparsehash?

Best,
Tiago

-- 
Tiago de Paula Peixoto <[email protected]>
From 26e73ce071e1f53e9d333d6a673ee3198308784d Mon Sep 17 00:00:00 2001
From: Tiago de Paula Peixoto <[email protected]>
Date: Wed, 28 Jan 2015 21:38:38 +0100
Subject: [PATCH] Remove references to tr1::hash<> graph_rewire.hh

---
 src/graph/generation/graph_rewiring.hh | 18 ++++++++++++------
 1 file changed, 12 insertions(+), 6 deletions(-)

diff --git a/src/graph/generation/graph_rewiring.hh b/src/graph/generation/graph_rewiring.hh
index aeda72d..10e4250 100644
--- a/src/graph/generation/graph_rewiring.hh
+++ b/src/graph/generation/graph_rewiring.hh
@@ -1185,7 +1185,8 @@ private:
     BlockDeg _blockdeg;
 
 #ifdef HAVE_SPARSEHASH
-    typedef google::dense_hash_map<deg_t, Sampler<deg_t, boost::mpl::false_>*> sampler_map_t;
+    typedef google::dense_hash_map<deg_t, Sampler<deg_t, boost::mpl::false_>*,
+                                   std::hash<deg_t>> sampler_map_t;
 #else
     typedef std::unordered_map<deg_t, Sampler<deg_t, boost::mpl::false_>*> sampler_map_t;
 #endif
@@ -1193,7 +1194,8 @@ private:
     sampler_map_t _sampler;
 
 #ifdef HAVE_SPARSEHASH
-    typedef google::dense_hash_map<deg_t, google::dense_hash_map<deg_t, double>> sprob_map_t;
+    typedef google::dense_hash_map<deg_t, google::dense_hash_map<deg_t, double>,
+                                   std::hash<deg_t>> sprob_map_t;
 #else
     typedef std::unordered_map<deg_t, std::unordered_map<deg_t, double>> sprob_map_t;
 #endif
@@ -1202,15 +1204,18 @@ private:
 
 
 #ifdef HAVE_SPARSEHASH
-    typedef google::dense_hash_map<pair<deg_t, deg_t>, double, boost::hash<pair<deg_t, deg_t>>> prob_map_t;
+    typedef google::dense_hash_map<pair<deg_t, deg_t>, double,
+                                   boost::hash<pair<deg_t, deg_t>>> prob_map_t;
 #else
-    typedef std::unordered_map<pair<deg_t, deg_t>, double, boost::hash<pair<deg_t, deg_t>>> prob_map_t;
+    typedef std::unordered_map<pair<deg_t, deg_t>, double,
+                               boost::hash<pair<deg_t, deg_t>>> prob_map_t;
 #endif
 
     prob_map_t _probs;
 
 #ifdef HAVE_SPARSEHASH
-    typedef google::dense_hash_map<deg_t, vector<size_t>> edge_map_t;
+    typedef google::dense_hash_map<deg_t, vector<size_t>,
+                                   std::hash<deg_t>> edge_map_t;
 #else
     typedef std::unordered_map<deg_t, vector<size_t>> edge_map_t;
 #endif
@@ -1347,7 +1352,8 @@ private:
     rng_t& _rng;
 
 #ifdef HAVE_SPARSEHASH
-    google::dense_hash_map<deg_t, vector<vertex_t>> _vertices;
+    google::dense_hash_map<deg_t, vector<vertex_t>,
+                           std::hash<deg_t>> _vertices;
 #else
     std::unordered_map<deg_t, vector<vertex_t>> _vertices;
 #endif
-- 
2.2.2

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
graph-tool mailing list
[email protected]
http://lists.skewed.de/mailman/listinfo/graph-tool

Reply via email to