Boost C++ Libraries: Ticket #6744: [Assign][GIL] Boost Assign and GIL incompatibility in gcc 4.3.2 https://svn.boost.org/trac10/ticket/6744 <p> The following source code compiles under clang 3.1, but fails under gcc 4.3.2 with boost version 1.46. It doesn't look like there are updates to either library in the boost news list since then. </p> <p> #include &lt;vector&gt; #include &lt;boost/assign/std/vector.hpp&gt; <em> for 'operator+=()' #include &lt;boost/gil/gil_all.hpp&gt; </em></p> <p> int main(int argc, char<strong> argv){ </strong></p> <blockquote> <p> using namespace boost::assign; std::vector&lt;int&gt; values; values += 1, 2, 3, 4; </p> </blockquote> <blockquote> <p> typedef boost::gil::rgb8_pixel_t pt; std::vector&lt;pt&gt; pixValues; pixValues += pt(1,2,3),pt(2,3,4); </p> </blockquote> <p> } </p> <hr /> <p> Compiler versions: </p> <p> FAILED: gcc (SUSE Linux) 4.3.2 [gcc-4_3-branch revision 141291] Copyright (C) 2008 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. </p> <p> [100%] Building CXX object CMakeFiles/boostAssign.dir/boostAssign.cpp.o /usr/local/include/boost-1_46/boost/mpl/push_back_fwd.hpp: In function ‘boost::assign::list_inserter&lt;boost::assign_detail::call_push_back&lt;std::vector&lt;_Tp, _Alloc&gt; &gt;, V&gt; boost::assign::operator+=(std::vector&lt;_Tp, _Alloc&gt;&amp;, V2) [with V = boost::gil::pixel&lt;unsigned char, boost::gil::layout&lt;boost::mpl::vector3&lt;boost::gil::red_t, boost::gil::green_t, boost::gil::blue_t&gt;, boost::mpl::range_c&lt;int, 0, 3&gt; &gt; &gt;, A = std::allocator&lt;boost::gil::pixel&lt;unsigned char, boost::gil::layout&lt;boost::mpl::vector3&lt;boost::gil::red_t, boost::gil::green_t, boost::gil::blue_t&gt;, boost::mpl::range_c&lt;int, 0, 3&gt; &gt; &gt; &gt;, V2 = boost::gil::pixel&lt;unsigned char, boost::gil::layout&lt;boost::mpl::vector3&lt;boost::gil::red_t, boost::gil::green_t, boost::gil::blue_t&gt;, boost::mpl::range_c&lt;int, 0, 3&gt; &gt; &gt;]’: /home/ahundt/sandbox/boostAssign.cpp:12: instantiated from here /usr/local/include/boost-1_46/boost/mpl/push_back_fwd.hpp:20: error: ‘template&lt;class Sequence, class T&gt; struct boost::mpl::push_back’ is not a function, /usr/local/include/boost-1_46/boost/assign/list_inserter.hpp:348: error: conflict with ‘template&lt;class C&gt; boost::assign::list_inserter&lt;boost::assign_detail::call_push_back&lt;C&gt;, typename C::value_type&gt; boost::assign::push_back(C&amp;)’ /usr/local/include/boost-1_46/boost/assign/std/vector.hpp:31: error: in call to ‘push_back’ make<a class="changeset" href="https://svn.boost.org/trac10/changeset/2" title="Add Boost Disclaimer">[2]</a>: <strong>* [CMakeFiles/boostAssign.dir/boostAssign.cpp.o] Error 1 make<a class="changeset" href="https://svn.boost.org/trac10/changeset/1" title="Import core sources for SVNmanger 0.38 ">[1]</a>: </strong>* [CMakeFiles/boostAssign.dir/all] Error 2 make: <strong>* [all] Error 2 </strong></p> <p> SUCCEEDED: Apple clang version 3.1 (tags/Apple/clang-318.0.54) (based on LLVM 3.1svn) Target: x86_64-apple-darwin11.3.0 Thread model: posix </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/6744 Trac 1.4.3 James E. King, III Mon, 08 Oct 2018 02:14:14 GMT owner changed https://svn.boost.org/trac10/ticket/6744#comment:1 https://svn.boost.org/trac10/ticket/6744#comment:1 <ul> <li><strong>owner</strong> changed from <span class="trac-author">Thorsten Ottosen</span> to <span class="trac-author">James E. King, III</span> </li> </ul> Ticket James E. King, III Mon, 08 Oct 2018 02:14:30 GMT status changed; resolution set https://svn.boost.org/trac10/ticket/6744#comment:2 https://svn.boost.org/trac10/ticket/6744#comment:2 <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">wontfix</span> </li> </ul> <p> Please use gcc 4.8 or later. </p> Ticket