← Back to team overview

oqgraph-dev team mailing list archive

Re: Windows build problems was Re: steps before v3 merge into MariaDB

 

Hi Arjen

OK

I just fixed #1196036, appears to be have been a copy/paste typo not
initialising the visitor properly for that case

Now I am wondering if it was responsible for one of the windows issues because
the type was not 'right' but gcc must have casted it somehow.  But I'll leave
that for the moment...

slowly getting there...

On 09/08/13 08:19, Arjen Lentz wrote:
> Hi Andrew
> 
> Let's prioritise general build issues and bugs over Windows build.
> 
> If there are, for instance, issues building on Linux with different Boost
> version, then that's a serious issue that needs to be sorted out now.
> 
> Had a chat on IRC #maria yesterday and I really think we need to merge very soon.
> 
> Regards,
> Arjen.
> 
> 
> On 09/08/13 08:30, Andrew McDonnell wrote:
>> 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" <bugs@xxxxxxxxxxxxxxxxxxx
>>>> <mailto:bugs@xxxxxxxxxxxxxxxxxxx>> 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@xxxxxxxxxxxxxxxxxxx
>>>>      <mailto:oqgraph-dev@xxxxxxxxxxxxxxxxxxx>
>>>>      Unsubscribe : https://launchpad.net/~oqgraph-dev
>>>>      More help   : https://help.launchpad.net/ListHelp
>>>>
>>>
>>>
>>
>>
> 
> 



References