Boost C++ Libraries: Ticket #4912: boost filesystem v3 does not compile on AIX/v11.1 https://svn.boost.org/trac10/ticket/4912 <p> boost file system does compile on AIX v11.1 compiler </p> <p> Error's of the following are shown: </p> <p> vacpp.compile.c++ tmpBuildDir/boost/bin.v2/libs/filesystem/build/vacpp/debug/link-static/threading-multi/v3/src/operations.o "./boost/filesystem/v3/path.hpp", line 482.7: 1540-0716 (S) The template argument "boost::iterator" does not match the template parameter "class Derived". </p> <p> If this is compiler specific please contact Michael Wong, IBM, Toronto </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/4912 Trac 1.4.3 Beman Dawes Tue, 30 Nov 2010 16:19:27 GMT <link>https://svn.boost.org/trac10/ticket/4912#comment:1 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/4912#comment:1</guid> <description> <p> The regression tests are not showing this problem. The test compiler is reported as XL C/C++ Enterprise Edition for AIX, V11.1.0.0 </p> <p> Was the problem with the Boost 1.45.0 release? </p> <p> I'm not going to be able to do anything without more to go on. </p> <p> --Beman </p> </description> <category>Ticket</category> </item> <item> <author>avibahra@…</author> <pubDate>Tue, 30 Nov 2010 23:12:11 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/4912#comment:2 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/4912#comment:2</guid> <description> <p> Yes the problem was with boost version 1.45. Version 1.43 compiles and all prevous versions are ok. My workaround at the moment was to comment on v3 filesystem src in the jamfile, until a solution is found. Is there any more information I can supply or try ? </p> <p> Best regards Avi </p> </description> <category>Ticket</category> </item> <item> <author>Avi Singh Bahra <avibahra@…></author> <pubDate>Wed, 01 Dec 2010 13:11:13 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/4912#comment:3 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/4912#comment:3</guid> <description> <p> Replying to <a class="ticket" href="https://svn.boost.org/trac10/ticket/4912#comment:1" title="Comment 1">bemandawes</a>: </p> <blockquote class="citation"> <p> The regression tests are not showing this problem. The test compiler is reported as XL C/C++ Enterprise Edition for AIX, V11.1.0.0 </p> <p> Was the problem with the Boost 1.45.0 release? </p> <p> I'm not going to be able to do anything without more to go on. </p> <p> --Beman </p> </blockquote> <p> Here is the bjam command line used to build file system c1b0104\{/s1a/emos_esuite/emos_data/sms/boost_1_45_0\}:!$ cd $BOOST_ROOT c1b0104\{/s1a/emos_esuite/emos_data/sms/boost_1_45_0\}:!$ bjam -d2 --build-dir=./tmpBuildDir toolset=vacpp stage link=static --layout=tagged --with-filesystem variant=debug ...patience... ...found 492 targets... ...updating 6 targets... vacpp.compile.c++ tmpBuildDir/boost/bin.v2/libs/filesystem/build/vacpp/debug/link-static/threading-multi/v3/src/operations.o </p> <blockquote> <p> xlC_r -c -qsuppress=1540-0198 -DAIX -DBOOST_ALL_NO_LIB=1 -DBOOST_SYSTEM_STATIC_LINK=1 -qcpluscmt -qNOOPTimize -qnoinline -g -qfullpath -qfuncsect -qeh -qrtti -I"." -I"/s1a/emos_esuite/emos_data/sms/boost_1_45_0" -o "tmpBuildDir/boost/bin.v2/libs/filesystem/build/vacpp/debug/link-static/threading-multi/v3/src/operations.o" "libs/filesystem/v3/src/operations.cpp" </p> </blockquote> <p> "./boost/filesystem/v3/path.hpp", line 482.7: 1540-0716 (S) The template argument "boost::iterator" does not match the template parameter "class Derived". ...failed vacpp.compile.c++ tmpBuildDir/boost/bin.v2/libs/filesystem/build/vacpp/debug/link-static/threading-multi/v3/src/operations.o... vacpp.compile.c++ tmpBuildDir/boost/bin.v2/libs/filesystem/build/vacpp/debug/link-static/threading-multi/v3/src/path.o </p> <blockquote> <p> xlC_r -c -qsuppress=1540-0198 -DAIX -DBOOST_ALL_NO_LIB=1 -DBOOST_SYSTEM_STATIC_LINK=1 -qcpluscmt -qNOOPTimize -qnoinline -g -qfullpath -qfuncsect -qeh -qrtti -I"." -I"/s1a/emos_esuite/emos_data/sms/boost_1_45_0" -o "tmpBuildDir/boost/bin.v2/libs/filesystem/build/vacpp/debug/link-static/threading-multi/v3/src/path.o" "libs/filesystem/v3/src/path.cpp" </p> </blockquote> <p> "./boost/filesystem/v3/path.hpp", line 482.7: 1540-0716 (S) The template argument "boost::iterator" does not match the template parameter "class Derived". ...failed vacpp.compile.c++ tmpBuildDir/boost/bin.v2/libs/filesystem/build/vacpp/debug/link-static/threading-multi/v3/src/path.o... vacpp.compile.c++ tmpBuildDir/boost/bin.v2/libs/filesystem/build/vacpp/debug/link-static/threading-multi/v3/src/portability.o </p> <blockquote> <p> xlC_r -c -qsuppress=1540-0198 -DAIX -DBOOST_ALL_NO_LIB=1 -DBOOST_SYSTEM_STATIC_LINK=1 -qcpluscmt -qNOOPTimize -qnoinline -g -qfullpath -qfuncsect -qeh -qrtti -I"." -I"/s1a/emos_esuite/emos_data/sms/boost_1_45_0" -o "tmpBuildDir/boost/bin.v2/libs/filesystem/build/vacpp/debug/link-static/threading-multi/v3/src/portability.o" "libs/filesystem/v3/src/portability.cpp" </p> </blockquote> <p> "./boost/filesystem/v3/path.hpp", line 482.7: 1540-0716 (S) The template argument "boost::iterator" does not match the template parameter "class Derived". ...failed vacpp.compile.c++ tmpBuildDir/boost/bin.v2/libs/filesystem/build/vacpp/debug/link-static/threading-multi/v3/src/portability.o... vacpp.compile.c++ tmpBuildDir/boost/bin.v2/libs/filesystem/build/vacpp/debug/link-static/threading-multi/v3/src/unique_path.o </p> <blockquote> <p> xlC_r -c -qsuppress=1540-0198 -DAIX -DBOOST_ALL_NO_LIB=1 -DBOOST_SYSTEM_STATIC_LINK=1 -qcpluscmt -qNOOPTimize -qnoinline -g -qfullpath -qfuncsect -qeh -qrtti -I"." -I"/s1a/emos_esuite/emos_data/sms/boost_1_45_0" -o "tmpBuildDir/boost/bin.v2/libs/filesystem/build/vacpp/debug/link-static/threading-multi/v3/src/unique_path.o" "libs/filesystem/v3/src/unique_path.cpp" </p> </blockquote> <p> "./boost/filesystem/v3/path.hpp", line 482.7: 1540-0716 (S) The template argument "boost::iterator" does not match the template parameter "class Derived". ...failed vacpp.compile.c++ tmpBuildDir/boost/bin.v2/libs/filesystem/build/vacpp/debug/link-static/threading-multi/v3/src/unique_path.o... ...skipped &lt;ptmpBuildDir/boost/bin.v2/libs/filesystem/build/vacpp/debug/link-static/threading-multi&gt;libboost_filesystem-mt-d.a for lack of &lt;ptmpBuildDir/boost/bin.v2/libs/filesystem/build/vacpp/debug/link-static/threading-multi&gt;v3/src/operations.o... ...skipped &lt;pstage/lib&gt;libboost_filesystem-mt-d.a for lack of &lt;ptmpBuildDir/boost/bin.v2/libs/filesystem/build/vacpp/debug/link-static/threading-multi&gt;libboost_filesystem-mt-d.a... ...failed updating 4 targets... ...skipped 2 targets... c1b0104\{/s1a/emos_esuite/emos_data/sms/boost_1_45_0\}:!$ </p> </description> <category>Ticket</category> </item> <item> <author>Avi Singh Bahra <avibahra@…></author> <pubDate>Wed, 01 Dec 2010 14:00:48 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/4912#comment:4 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/4912#comment:4</guid> <description> <p> Replying to <a class="ticket" href="https://svn.boost.org/trac10/ticket/4912#comment:2" title="Comment 2">avibahra@…</a>: </p> <blockquote class="citation"> <p> Yes the problem was with boost version 1.45. Version 1.43 compiles and all prevous versions are ok. My workaround at the moment was to comment on v3 filesystem src in the jamfile, until a solution is found. Is there any more information I can supply or try ? </p> <p> Best regards Avi </p> </blockquote> <p> TO *FIX* the file system v3 for AIX./v11.1 </p> <p> Change file path.hpp: FROM: </p> <blockquote> <p> <em>------------------------------------------------------------------------------------</em> <em> class path::iterator </em> <em>------------------------------------------------------------------------------------</em> </p> </blockquote> <p> </p> <blockquote> <p> class path::iterator </p> <blockquote> <p> : public boost::iterator_facade&lt; </p> <blockquote> <p> iterator, path const, boost::bidirectional_traversal_tag &gt; </p> </blockquote> </blockquote> <p> { </p> <blockquote> <p> .... </p> </blockquote> </blockquote> <p> TO: </p> <blockquote> <p> <em>------------------------------------------------------------------------------------</em> <em> class path::iterator </em> <em>------------------------------------------------------------------------------------</em> </p> </blockquote> <p> </p> <blockquote> <p> class path::iterator </p> <blockquote> <p> : public boost::iterator_facade&lt; </p> <blockquote> <p> path::iterator, path const, boost::bidirectional_traversal_tag &gt; </p> </blockquote> </blockquote> <p> { </p> <blockquote> <p> .... </p> </blockquote> </blockquote> <p> ie. since iterator_facade uses CRTP, the iterator is being interperted as "boost::iterator" </p> <blockquote> <p> passing "path::iterator" as the template argument fixes the compile error on AIX. This should be safe for other platforms as well </p> </blockquote> </description> <category>Ticket</category> </item> <item> <dc:creator>Beman Dawes</dc:creator> <pubDate>Wed, 01 Dec 2010 14:08:47 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/4912#comment:5 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/4912#comment:5</guid> <description> <p> Interesting. I had just been wondering if that was the problem, and run a test that confirmed the change was harmless on VC++ 10. </p> <p> I'll push the change up to trunk as soon as I've verified it is OK on older VC++ and on GCC. </p> <p> You might want to file a bug report with IBM, and also verify you are at the latest patch level. The 1.45.0 code is being accepted by all other compilers being tested. </p> <p> --Beman </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Beman Dawes</dc:creator> <pubDate>Wed, 01 Dec 2010 14:30:48 GMT</pubDate> <title>status changed; resolution set https://svn.boost.org/trac10/ticket/4912#comment:6 https://svn.boost.org/trac10/ticket/4912#comment:6 <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> <p> (In <a class="changeset" href="https://svn.boost.org/trac10/changeset/66945" title="Fix #4912">[66945]</a>) Fix <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/4912" title="#4912: Bugs: boost filesystem v3 does not compile on AIX/v11.1 (closed: fixed)">#4912</a> </p> Ticket