Boost C++ Libraries: Ticket #1462: Missing/wrong includes https://svn.boost.org/trac10/ticket/1462 <p> Hi, </p> <p> the attached patch fixes a few include statements in pending/. Please note that at least with g++ version 3.3 up to 4.3 hash_set can be found in ext/. </p> <p> Jens </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/1462 Trac 1.4.3 Jens Seidel <jensseidel@…> Sun, 18 Nov 2007 21:28:30 GMT attachment set https://svn.boost.org/trac10/ticket/1462 https://svn.boost.org/trac10/ticket/1462 <ul> <li><strong>attachment</strong> → <span class="trac-field-new">boost.pending.diff</span> </li> </ul> Ticket Jens Seidel <jensseidel@…> Sun, 02 Dec 2007 16:11:10 GMT <link>https://svn.boost.org/trac10/ticket/1462#comment:1 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/1462#comment:1</guid> <description> <p> OK let me help you further. <a class="ext-link" href="http://lists.boost.org/Archives/boost/2007/10/129461.php"><span class="icon">​</span>http://lists.boost.org/Archives/boost/2007/10/129461.php</a> contains the proper conditional to include hash_set and hash_map. </p> <p> Please apply the patch! </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Douglas Gregor</dc:creator> <pubDate>Wed, 09 Jul 2008 14:22:23 GMT</pubDate> <title>status changed; owner set https://svn.boost.org/trac10/ticket/1462#comment:2 https://svn.boost.org/trac10/ticket/1462#comment:2 <ul> <li><strong>owner</strong> set to <span class="trac-author">Douglas Gregor</span> </li> <li><strong>status</strong> <span class="trac-field-old">new</span> → <span class="trac-field-new">assigned</span> </li> </ul> Ticket Douglas Gregor Wed, 09 Jul 2008 14:25:41 GMT status changed; resolution set https://svn.boost.org/trac10/ticket/1462#comment:3 https://svn.boost.org/trac10/ticket/1462#comment:3 <ul> <li><strong>status</strong> <span class="trac-field-old">assigned</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/47264" title="Fix hash_set and hash_map headers for GCC 4.3, from Ralf W. ...">[47264]</a>) Fix hash_set and hash_map headers for GCC 4.3, from Ralf W. Grosse-Kunstleve. Fixes <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/1462" title="#1462: Patches: Missing/wrong includes (closed: fixed)">#1462</a> </p> Ticket Douglas Gregor Wed, 09 Jul 2008 14:26:29 GMT <link>https://svn.boost.org/trac10/ticket/1462#comment:4 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/1462#comment:4</guid> <description> <p> (In <a class="changeset" href="https://svn.boost.org/trac10/changeset/47265" title="Fix hash_set and hash_map headers for GCC 4.3, from Ralf W. ...">[47265]</a>) Fix hash_set and hash_map headers for GCC 4.3, from Ralf W. Grosse-Kunstleve. Fixes <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/1462" title="#1462: Patches: Missing/wrong includes (closed: fixed)">#1462</a> </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Jürgen Hunold</dc:creator> <pubDate>Thu, 10 Jul 2008 15:40:13 GMT</pubDate> <title>status changed; resolution deleted https://svn.boost.org/trac10/ticket/1462#comment:5 https://svn.boost.org/trac10/ticket/1462#comment:5 <ul> <li><strong>status</strong> <span class="trac-field-old">closed</span> → <span class="trac-field-new">reopened</span> </li> <li><strong>resolution</strong> <span class="trac-field-deleted">fixed</span> </li> </ul> <p> This does not work for all gcc-versions: </p> <blockquote> <p> gcc -v </p> </blockquote> <p> Using built-in specs. Target: i486-linux-gnu Configured with: ../src/configure -v --enable-languages=c,c++,fortran,objc,obj-c++,treelang --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --with-gxx-include-dir=/usr/include/c++/4.2 --program-suffix=-4.2 --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --enable-mpfr --enable-targets=all --enable-checking=release --build=i486-linux-gnu --host=i486-linux-gnu --target=i486-linux-gnu Thread model: posix gcc version 4.2.3 (Ubuntu 4.2.3-2ubuntu7) </p> <p> has /usr/include/c++/4.2.3/i486-linux-gnu/bits/c++config.h </p> <p> containing </p> <p> <em> The current version of the C++ library in compressed ISO date format. </em></p> <p> #define <span class="underline">GLIBCXX</span> 20080329 </p> <p> and SuSE-10.3 <a class="missing wiki">OpenSuse</a> compiler upgrade has: Using built-in specs. Target: x86_64-suse-linux Configured with: ../configure --enable-threads=posix --prefix=/usr --with-local-prefix=/usr/local --infodir=/usr/share/info --mandir=/usr/share/man --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-languages=c,c++,objc,fortran,obj-c++,java,ada --enable-checking=release --with-gxx-include-dir=/usr/include/c++/4.2.3 --enable-ssp --disable-libssp --disable-libgcj --with-slibdir=/lib64 --with-system-zlib --enable-shared --enable-<span class="underline">cxa_atexit --enable-libstdcxx-allocator=new --disable-libstdcxx-pch --program-suffix=-4.2 --enable-version-specific-runtime-libs --without-system-libunwind --with-cpu=generic --host=x86_64-suse-linux Thread model: posix gcc version 4.2.3 20071030 (prerelease) (SUSE Linux) </span></p> <p> /usr/include/c++/4.2.3/x86_64-suse-linux/bits/c++config.h </p> <p> <em> The current version of the C++ library in compressed ISO date format. </em></p> <p> #define <span class="underline">GLIBCXX</span> 20071030 </p> <p> and my <a class="missing wiki">OpenSuSe</a> 4.3 has gcc-4.3 -v Using built-in specs. Target: x86_64-suse-linux Configured with: ../configure --prefix=/usr --with-local-prefix=/usr/local --infodir=/usr/share/info --mandir=/usr/share/man --libdir=/usr/lib64--libexecdir=/usr/lib64 --enable-languages=c,c++,objc,fortran,obj-c++,java,ada --enable-checking=release --with-gxx-include-dir=/usr/include/c++/4.3 --enable-ssp --disable-libssp --with-bugurl=<a class="ext-link" href="http://bugs.opensuse.org/"><span class="icon">​</span>http://bugs.opensuse.org/</a> --with-pkgversion='SUSE Linux' --disable-libgcj --with-slibdir=/lib64 --with-system-zlib --enable-<span class="underline">cxa_atexit --enable-libstdcxx-allocator=new --disable-libstdcxx-pch --program-suffix=-4.3 --enable-version-specific-runtime-libs --enable-linux-futex --without-system-libunwind --with-cpu=generic --build=x86_64-suse-linux Thread model: posix gcc version 4.3.2 20080703 (prerelease) [gcc-4_3-branch revision 137416] (SUSE Linux) </span></p> <p> with </p> <p> /usr/include/c++/4.3/x86_64-suse-linux/bits/c++config.h </p> <p> Containing: </p> <p> <em> The current version of the C++ library in compressed ISO date format. </em></p> <p> #define <span class="underline">GLIBCXX</span> 20080703 </p> <p> So I get: </p> <p> /home/hunold/packages/boost/boost/graph/adjacency_list.hpp:22:35: error: backward/hash_set: No such file or directory In file included from /home/hunold/packages/boost/boost/graph/detail/adjacency_list.hpp:31, </p> <blockquote> <p> from /home/hunold/packages/boost/boost/graph/adjacency_list.hpp:309, </p> </blockquote> <p> when compiling with gcc-4.2 GLIBCXX </p> <p> My gcc-4.2 on Hardy has _much_ higher version than the SuSE compiler. I suggest either taking a _much_ higher version number or even better a check for compiler major and minor to _really_ fix the issue </p> <p> Please note that changes to boost/config/stdlib/libstdcpp3.hpp will _not_ trigger the regression tests because the configuration files are selected via # define BOOST_STDLIB_CONFIG "boost/config/stdlib/libstdcpp3.hpp" and so later #include BOOST_STDLIB_CONFIG. So please don't wonder if all tests remain green... </p> Ticket Ralf W. Grosse-Kunstleve Sat, 12 Jul 2008 00:20:23 GMT <link>https://svn.boost.org/trac10/ticket/1462#comment:6 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/1462#comment:6</guid> <description> <p> Replying to <a class="ticket" href="https://svn.boost.org/trac10/ticket/1462#comment:5" title="Comment 5">jhunold</a>: </p> <blockquote class="citation"> <p> This does not work for all gcc-versions: </p> </blockquote> <p> Yes, it also breaks </p> <blockquote> <p> g++ (GCC) 3.2 20020903 (Red Hat Linux 8.0 3.2-7) </p> <blockquote> <p> Red Hat Linux release 8.0 (Psyche) </p> </blockquote> </blockquote> <p> </p> <blockquote> <p> g++ (GCC) 3.2.3 20030502 (Red Hat Linux 3.2.3-34) </p> <blockquote> <p> Red Hat Enterprise Linux WS release 3 (Taroon Update 2) </p> </blockquote> </blockquote> <p> Some history: </p> <ul><li>I came up with the patch while testing gcc 4.3 pre-releases. </li><li>After I originally posted the patch above it turned out to need more if's. I maintained the changes locally during the 4.3 pre-release period (I was testing about once a week). </li><li>After gcc 4.3 was released I found out (to my surprise) it is not required anymore, so I simply removed it from my boost working copy. </li></ul><p> Sorry I didn't communicate this. </p> <p> The last version of my local patch, before I removed it, was (diff to current boost svn): </p> <p> Index: libstdcpp3.hpp =================================================================== --- libstdcpp3.hpp (revision 47331) +++ libstdcpp3.hpp (working copy) @@ -68,7 +68,10 @@ </p> <blockquote> <p> # define BOOST_HAS_SLIST # define BOOST_HAS_HASH # define BOOST_SLIST_HEADER &lt;ext/slist&gt; </p> </blockquote> <p> -# if defined(<span class="underline">GLIBCXX</span>) &amp;&amp; <span class="underline">GLIBCXX</span> &lt; 20071018 <em> GCC &lt;= 4.3.0 +# if !defined(<span class="underline">GLIBCXX</span>) \ </em></p> <table class="wiki"> <tr>+ <td> <span class="underline">GLIBCXX</span> &lt; 20071018 \ </td></tr><tr>+ <td> <span class="underline">GNUC</span> &lt; 4 \ </td></tr><tr>+ <td> (<span class="underline">GNUC</span> == 4 &amp;&amp; <span class="underline">GNUC_MINOR</span> &lt; 3) </td></tr></table> <blockquote> <p> # define BOOST_HASH_SET_HEADER &lt;ext/hash_set&gt; # define BOOST_HASH_MAP_HEADER &lt;ext/hash_map&gt; # else </p> </blockquote> <p> I'm not sure the is the final/best set of ifdefs, but at least it restores the gcc 3.2 builds. </p> <p> Let me know if I can be of help resolving this issue (e.g. testing alternative patches or simply checking this one in). </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Ralf W. Grosse-Kunstleve</dc:creator> <pubDate>Sat, 12 Jul 2008 19:36:33 GMT</pubDate> <title>cc changed https://svn.boost.org/trac10/ticket/1462#comment:7 https://svn.boost.org/trac10/ticket/1462#comment:7 <ul> <li><strong>cc</strong> <span class="trac-author">rwgk@…</span> added </li> </ul> Ticket Douglas Gregor Mon, 14 Jul 2008 18:43:59 GMT status changed; resolution set https://svn.boost.org/trac10/ticket/1462#comment:8 https://svn.boost.org/trac10/ticket/1462#comment:8 <ul> <li><strong>status</strong> <span class="trac-field-old">reopened</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/47424" title="Detect the presence of backward/hash_set and backward/hash_map ...">[47424]</a>) Detect the presence of backward/hash_set and backward/hash_map appropriately. Fixes <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/1462" title="#1462: Patches: Missing/wrong includes (closed: fixed)">#1462</a> (again) </p> Ticket