One fix I did need to make as well: cmakelists need -DJUWIN for Judy
On 08/08/13 22:29, Andrew McDonnell wrote: > Made some closer inspections, took a while to untangle the templates and > warnings > > <extract> > // --> MSVC2008 fails inside here > dijkstra_shortest_paths_no_init(share->g, *orig, > make_lazy_property_map(p, identity_initializer<Vertex>()), > make_lazy_property_map(d, value_initializer<EdgeWeight>( > (std::numeric_limits<EdgeWeight>::max)())), > get(edge_weight, share->g), > get(vertex_index, share->g), > std::less<EdgeWeight>(), > closed_plus<EdgeWeight>(), > EdgeWeight(), > make_dijkstra_visitor( > make_oqgraph_goal<true, on_finish_vertex>( > *dest, > boost::make_assoc_property_map(p), > static_cast<stack_cursor*>(cursor) > ) > ), > make_two_bit_judy_map(get(vertex_index, share->g))); <-- > possibly here > > I got similar bit subtly different errors using MSVC2010 in 64-bit on Win7 > Note this required installing the 7.1 SDK (and uninstalling the previously > present MSVC2010 redsitriutable!) > > On MSVC2010/64 instead I was seeing unable to match and of the 12 overloads > for get(...) > > > In both cases though seems to hinge on being unable to resolve a property map > of weights to edges (or something)... > > The above statement is a bit vague, I know.... more concretely, I noted the > following differences between Boost 1.54 (MSVC2008, fails) and 1.42 on debian > squeeze: > > inside djisktra_shortest_paths() : > > boost 1_54 > > void examine_edge(Edge e, Graph& g) { > // Comparison needs to be more complicated because distance and weight > // types may not be the same; see bug 8398 > // (https://svn.boost.org/trac/boost/ticket/8398) > D source_dist = get(m_distance, source(e, g)); > if (m_compare(m_combine(source_dist, get(m_weight, e)), source_dist)) > boost::throw_exception(negative_edge()); > m_vis.examine_edge(e, g); > } > > boost 1_42 > template <class Edge, class Graph> > void examine_edge(Edge e, Graph& g) { > if (m_compare(get(m_weight, e), m_zero)) > boost::throw_exception(negative_edge()); > m_ > > > I am currently rebuilding with boost 1.42 to see if that succeeds on > MSVC2008... > > > this will be a slow process, because I find myself reverse engineering how it > all hangs together and having to write chains to find out what a type > ultimately resolves to and untangle all the 'legendary' template compiler > messages, being currently unfamiliar with this end of the code > > Ultimately I may end up having to write some test harnesses that narrow things > down (and speed up the build process!) > > > > > On 08/08/13 02:06, Antony T Curtis wrote: >> Boost should be reasonably well supported on Windows but BGL is very >> challenging for compilers. Iirc from MSVC++, sometimes required hinting for >> it >> to derive the correct type templates. Gcc will literally try every possible >> combination as required by C++ spec but MS compiler does not in order to get >> faster compile times. >> >> On Aug 7, 2013 6:22 AM, "Andrew McDonnell" <b...@andrewmcdonnell.net >> <mailto:b...@andrewmcdonnell.net>> wrote: >> >> Hiya, >> >> 64-bit on Windows 7 + MS7.1SDK fails with same error as XP+32bit+MSVC8 >> >> I'm wondering if boost_1_54 is the culprit, using some lately added C++ >> standard stuff unsupported by MS >> >> Next move is to try boost_1_42 (same as squeeze) and see if that works >> >> Othwrwise time to start debugging... >> >> On 06/08/13 08:10, Arjen Lentz wrote: >> > Hi Andrew >> > >> > Ok what steps still need to be done before we can submit this for >> merging into >> > MariaDB 10.0 ? >> > tnx >> > >> > >> > Cheers, >> > Arjen. >> >> >> -- >> Mailing list: https://launchpad.net/~oqgraph-dev >> Post to : oqgraph-dev@lists.launchpad.net >> <mailto:oqgraph-dev@lists.launchpad.net> >> Unsubscribe : https://launchpad.net/~oqgraph-dev >> More help : https://help.launchpad.net/ListHelp >> > > -- Mailing list: https://launchpad.net/~oqgraph-dev Post to : oqgraph-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~oqgraph-dev More help : https://help.launchpad.net/ListHelp