Public bug reported:

Heya,

I just spend two hours reading through boost's documentation on result_of
and Spirit and a lot of cryptic error messages. So I thought I should probably 
send
my results upstream so others don't have to do that again.

With boost 1.56.0 hugin produces a number of errors in src/tools/ParseExp.cpp.
The first one (with all the junk removed) is:

<<<
/usr/include/boost/utility/result_of.hpp:189:8: error: wrong number of template 
arguments (1, should be 3)
 struct result_of_nested_result : F::template result<FArgs>
        ^
/usr/src/hugin-2013.0.0/src/tools/ParseExp.cpp:80:12: error: provided for 
'template<class X, class Y, class Z> struct Parser::lazy_if_::result'
     struct result { typedef Y type; };
            ^
>>>

Actually I'm not sure why this part ever compiled successfully, but I
suppose boost just got a bit more strict now...

The second problem seems to be a change in Spirit that makes it
neccessary to rewrite the lazy_functions a bit.

I attached a patch for all problems I encountered when building hugin 
(2013.0.0) with boost 1.56.0.
I also just checked and your recent release candidate does not include changes 
in this part of the code,
so I'm pretty sure the bug exists also with the 2014rc

** Affects: hugin
     Importance: Undecided
         Status: New

** Patch added: "fix usage of boost's result_of interface / adapt lazy 
functions to _var as a reference"
   
https://bugs.launchpad.net/bugs/1368478/+attachment/4201852/+files/hugin-2013-boost-156.diff

-- 
You received this bug notification because you are a member of Hugin
Developers, which is subscribed to Hugin.
https://bugs.launchpad.net/bugs/1368478

Title:
  pto_var / ParseExp.cpp fails with boost 1.56.0

Status in Hugin - Panorama Tools GUI:
  New

Bug description:
  Heya,

  I just spend two hours reading through boost's documentation on result_of
  and Spirit and a lot of cryptic error messages. So I thought I should 
probably send
  my results upstream so others don't have to do that again.

  With boost 1.56.0 hugin produces a number of errors in src/tools/ParseExp.cpp.
  The first one (with all the junk removed) is:

  <<<
  /usr/include/boost/utility/result_of.hpp:189:8: error: wrong number of 
template arguments (1, should be 3)
   struct result_of_nested_result : F::template result<FArgs>
          ^
  /usr/src/hugin-2013.0.0/src/tools/ParseExp.cpp:80:12: error: provided for 
'template<class X, class Y, class Z> struct Parser::lazy_if_::result'
       struct result { typedef Y type; };
              ^
  >>>

  Actually I'm not sure why this part ever compiled successfully, but I
  suppose boost just got a bit more strict now...

  The second problem seems to be a change in Spirit that makes it
  neccessary to rewrite the lazy_functions a bit.

  I attached a patch for all problems I encountered when building hugin 
(2013.0.0) with boost 1.56.0.
  I also just checked and your recent release candidate does not include 
changes in this part of the code,
  so I'm pretty sure the bug exists also with the 2014rc

To manage notifications about this bug go to:
https://bugs.launchpad.net/hugin/+bug/1368478/+subscriptions

_______________________________________________
Mailing list: https://launchpad.net/~hugin-devs
Post to     : hugin-devs@lists.launchpad.net
Unsubscribe : https://launchpad.net/~hugin-devs
More help   : https://help.launchpad.net/ListHelp

Reply via email to