Boost C++ Libraries: Ticket #12349: no type named ‘types’ in ‘boost::spirit::qi::detail::find_substitute https://svn.boost.org/trac10/ticket/12349 <p> build log - ht tp://pastehtml.com/view/gn17nmexx.html </p> <p> freeorion bug - ht tps://github.com/freeorion/freeorion/issues/777 gentoo bug - ht tps://bugs.gentoo.org/show_bug.cgi?id=584354 </p> <p> sample message: /usr/include/boost/spirit/home/qi/detail/alternative_function.hpp:30:46: error: no type named ‘types’ in ‘boost::spirit::qi::detail::find_substitute&lt;boost::optional&lt;boost::variant&lt;std::vector&lt;Effect::EffectBase*&gt;, Effect::<a class="missing wiki">EffectBase</a>*, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_&gt; &gt;, std::vector&lt;Effect::EffectBase*&gt; &gt;::variant_type {aka class boost::optional&lt;boost::variant&lt;std::vector&lt;Effect::EffectBase*&gt;, Effect::<a class="missing wiki">EffectBase</a>*, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_&gt; &gt;}’ </p> <blockquote> <p> typedef typename variant_type::types types; </p> </blockquote> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/12349 Trac 1.4.3 anonymous Tue, 26 Jul 2016 15:37:13 GMT <link>https://svn.boost.org/trac10/ticket/12349#comment:1 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/12349#comment:1</guid> <description> <p> I confirm </p> </description> <category>Ticket</category> </item> <item> <dc:creator>anonymous</dc:creator> <pubDate>Mon, 01 Aug 2016 16:04:58 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/12349#comment:2 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/12349#comment:2</guid> <description> <p> Same problem here. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>anonymous</dc:creator> <pubDate>Mon, 08 Aug 2016 17:10:53 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/12349#comment:3 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/12349#comment:3</guid> <description> <p> Hello, </p> <p> the same issue affects <a class="missing wiki">FreeOrion</a> in Debian, compiled with Boost 1.61 and GCC-6. </p> <p> Build log: </p> <p> <a class="ext-link" href="https://buildd.debian.org/status/fetch.php?pkg=freeorion&amp;arch=amd64&amp;ver=0.4.5%2Bgit20160707-1%2Bb1&amp;stamp=1470433494"><span class="icon">​</span>https://buildd.debian.org/status/fetch.php?pkg=freeorion&amp;arch=amd64&amp;ver=0.4.5%2Bgit20160707-1%2Bb1&amp;stamp=1470433494</a> </p> <p> Debian bug report: </p> <p> <a class="ext-link" href="https://bugs.debian.org/833773"><span class="icon">​</span>https://bugs.debian.org/833773</a> </p> <p> This is apparently a regression because <a class="missing wiki">FreeOrion</a> builds fine with Boost 1.58 and GCC-6. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>viboes</dc:creator> <pubDate>Fri, 19 Aug 2016 21:18:43 GMT</pubDate> <title>component changed; owner set https://svn.boost.org/trac10/ticket/12349#comment:4 https://svn.boost.org/trac10/ticket/12349#comment:4 <ul> <li><strong>owner</strong> set to <span class="trac-author">Joel de Guzman</span> </li> <li><strong>component</strong> <span class="trac-field-old">None</span> → <span class="trac-field-new">spirit</span> </li> </ul> Ticket anonymous Mon, 28 Nov 2016 19:41:53 GMT <link>https://svn.boost.org/trac10/ticket/12349#comment:5 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/12349#comment:5</guid> <description> <p> Similar issue in compiling <a class="ext-link" href="http://rasdaman.org/"><span class="icon">​</span>rasdaman</a> with Boost 1.61; 1.60 works fine. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>anonymous</dc:creator> <pubDate>Wed, 19 Apr 2017 08:11:58 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/12349#comment:6 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/12349#comment:6</guid> <description> <blockquote class="citation"> <p> Similar issue in compiling rasdaman with Boost 1.61; 1.60 works fine. </p> </blockquote> <p> Still same in Boost 1.62. </p> </description> <category>Ticket</category> </item> <item> <author>juanpablo.canepa@…</author> <pubDate>Wed, 09 Aug 2017 20:40:24 GMT</pubDate> <title>attachment set https://svn.boost.org/trac10/ticket/12349 https://svn.boost.org/trac10/ticket/12349 <ul> <li><strong>attachment</strong> → <span class="trac-field-new">spirit_test.cpp</span> </li> </ul> <p> Reduced gramar that fails to build with boost 1.63 / gcc 6.2 </p> Ticket juanpablo.canepa@… Wed, 09 Aug 2017 20:44:34 GMT <link>https://svn.boost.org/trac10/ticket/12349#comment:7 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/12349#comment:7</guid> <description> <p> I managed to reduce the problem to a very simple grammar, that I've attached to this ticket. The problem seems to be that boost.spirit, for some reason, assumes there is a nested field called "types" in boost::optional, that was removed after 1.61, that was defined: </p> <pre class="wiki">typedef BOOST_DEDUCED_TYPENAME mpl::if_&lt;is_reference_predicate,types_when_ref,types_when_not_ref&gt;::type types ; </pre><p> This is blocking a release of one of our tools, so if there was any workaround that we can patch locally, I'll take it for the time being. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>anonymous</dc:creator> <pubDate>Fri, 18 Aug 2017 18:15:37 GMT</pubDate> <title>severity changed https://svn.boost.org/trac10/ticket/12349#comment:8 https://svn.boost.org/trac10/ticket/12349#comment:8 <ul> <li><strong>severity</strong> <span class="trac-field-old">Problem</span> → <span class="trac-field-new">Showstopper</span> </li> </ul> Ticket Joel de Guzman Wed, 30 Aug 2017 23:48:07 GMT <link>https://svn.boost.org/trac10/ticket/12349#comment:9 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/12349#comment:9</guid> <description> <p> Confirmed on OSX Clang. Let's see what we can do... </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Joel de Guzman</dc:creator> <pubDate>Wed, 30 Aug 2017 23:57:46 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/12349#comment:10 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/12349#comment:10</guid> <description> <p> Alright, I have a fix. Will commit to devel as soon as I can. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>anonymous</dc:creator> <pubDate>Thu, 31 Aug 2017 01:17:43 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/12349#comment:11 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/12349#comment:11</guid> <description> <p> OK, seems this is is already fixed in the latest devel which should already make it to the latest Boost release. See line 141 alternative_function.hpp </p> <p> <em> fix for alternative.cpp test case, FHE 2016-07-28 </em></p> </description> <category>Ticket</category> </item> <item> <author>juanpablo.canepa@…</author> <pubDate>Sat, 02 Sep 2017 02:35:43 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/12349#comment:12 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/12349#comment:12</guid> <description> <p> Joel, </p> <p> Thanks for the reply. I did try that patch that you mention while browsing the github repo, but my sample test failed to compile with another error (I'll provide the info ass soon as possible). Maybe it is because I just patched that single file (alternative_function.hpp) but there are more changes that it builds upon(*). </p> <p> I'll re-try the patch on a clean build and report back. </p> <p> Thanks for paying attention to the ticket! </p> <p> Cheers, Juan Pablo </p> <p> (*) There are <em>corporate</em> reasons shy I can't just move on to the latest version of boost, so I'm trying to figure out the minimum subset of changes needed to patch our current 1.63 build. </p> </description> <category>Ticket</category> </item> <item> <author>Nikita Kniazev <nok.raven@…></author> <pubDate>Tue, 05 Dec 2017 19:37:29 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/12349#comment:13 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/12349#comment:13</guid> <description> <p> Fixed in <a class="ext-link" href="https://github.com/boostorg/spirit/pull/271"><span class="icon">​</span>https://github.com/boostorg/spirit/pull/271</a> </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Joel de Guzman</dc:creator> <pubDate>Wed, 13 Dec 2017 23:04:47 GMT</pubDate> <title>status changed; resolution set https://svn.boost.org/trac10/ticket/12349#comment:14 https://svn.boost.org/trac10/ticket/12349#comment:14 <ul> <li><strong>status</strong> <span class="trac-field-old">new</span> → <span class="trac-field-new">closed</span> </li> <li><strong>resolution</strong> → <span class="trac-field-new">fixed</span> </li> </ul> Ticket