Boost C++ Libraries: Ticket #3580: Boost.MultiIndex depends on Boost.Serialization https://svn.boost.org/trac10/ticket/3580 <p> This is a problem very similar to <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/1027" title="#1027: Patches: [ptr_container] optional serialization support (closed: fixed)">#1027</a>, but with Boost.<a class="missing wiki">MultiIndex</a> instead of <a class="missing wiki">PtrContainer</a>. </p> <p> If I include this file: </p> <pre class="wiki">#include &lt;boost/multi_index/ordered_index.hpp&gt; </pre><p> I get a compiler error because some headers of Boost.Serialization can't be found (I use the Debian packages and I didn't installed the libboost-serialization package because I don't use serialization). </p> <p> I think the fix should be the same for <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/1027" title="#1027: Patches: [ptr_container] optional serialization support (closed: fixed)">#1027</a>, force the user to add an extra include if he/she wants to use <a class="missing wiki">MultiIndex</a> serialization. </p> <p> Thanks! </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/3580 Trac 1.4.3 Joaquín M López Muñoz Mon, 02 Nov 2009 16:32:00 GMT status changed; resolution set https://svn.boost.org/trac10/ticket/3580#comment:1 https://svn.boost.org/trac10/ticket/3580#comment:1 <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> I'm not keen to change this as suggested because it'll break backwards compatibility. If this is useful to you, you can disable dependencies from Boost.Serialization by globally defining the BOOST_MULTI_INDEX_DISABLE_SERIALIZATION macro. </p> <p> Seemingly this Debian problem is already reported and fixed according to </p> <p> <a class="ext-link" href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=480948"><span class="icon">​</span>http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=480948</a> </p> <p> Maybe you're not using the latest Debian packages? </p> <p> Closing this, if you feel otherwise please reopen. </p> Ticket Leandro Lucarella <llucax@…> Mon, 02 Nov 2009 19:52:58 GMT <link>https://svn.boost.org/trac10/ticket/3580#comment:2 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/3580#comment:2</guid> <description> <p> Replying to <a class="ticket" href="https://svn.boost.org/trac10/ticket/3580#comment:1" title="Comment 1">joaquin</a>: </p> <blockquote class="citation"> <p> I'm not keen to change this as suggested because it'll break backwards compatibility. </p> </blockquote> <p> I understand. I think hidden dependencies are bad though, so changing this can be good in the long term, even when a little break in backwards compatibility is introduced. But I can understand your point. </p> <blockquote class="citation"> <p> If this is useful to you, you can disable dependencies from Boost.Serialization by globally defining the BOOST_MULTI_INDEX_DISABLE_SERIALIZATION macro. </p> </blockquote> <p> OK, I think I can live with that. </p> <blockquote class="citation"> <p> Seemingly this Debian problem is already reported and fixed according to </p> <p> <a class="ext-link" href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=480948"><span class="icon">​</span>http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=480948</a> </p> </blockquote> <p> Thanks, I missed that. Looking at the Debian changelog for the package I found that was "reverted" (the dependency was moved from "Depends" to "Recommends") to avoid a circular dependency problem. So the problem is still there unless you install recommended packages by default. </p> <blockquote class="citation"> <p> Maybe you're not using the latest Debian packages? </p> </blockquote> <p> Yes, I am. But as I said before, I think it will be nice to get this fixed in Boost instead. It's really weird to see Serialization stuff included when you don't use it. </p> <blockquote class="citation"> <p> Closing this, if you feel otherwise please reopen. </p> </blockquote> <p> I think I can live with the workarround. Thanks for your time. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Joaquín M López Muñoz</dc:creator> <pubDate>Mon, 02 Nov 2009 20:35:49 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/3580#comment:3 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/3580#comment:3</guid> <description> <p> Replying to <a class="ticket" href="https://svn.boost.org/trac10/ticket/3580#comment:2" title="Comment 2">Leandro Lucarella &lt;llucax@…&gt;</a>: </p> <blockquote class="citation"> <p> I understand. I think hidden dependencies are bad though[...] </p> </blockquote> <p> <br /> Well, this dependency is as hidden as the dozens of other Boost headers implcitly included by Boost.<a class="missing wiki">MultiIndex</a>. In my opinion, the problem is not here, but in the way that libboost-serialization-dev has been packaged. More on this below. <br /><br /> </p> <blockquote class="citation"> <blockquote class="citation"> <p> Seemingly this Debian problem is already reported and fixed according to </p> <p> <a class="ext-link" href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=480948"><span class="icon">​</span>http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=480948</a> </p> </blockquote> <p> Thanks, I missed that. Looking at the Debian changelog for the package I found that was "reverted" (the dependency was moved from "Depends" to "Recommends") to avoid a circular dependency problem. So the problem is still there unless you install recommended packages by default. </p> </blockquote> <p> <br /> I think this reveals a problem with the way libboost-serialization-dev is packaged: Boost.Serialization consists of: <br /><br /> </p> <ul><li>Serialization headers (boost/serialization)<br /> </li><li>Archive headers (boost/archive)<br /> </li><li>Binaries to link against when using serialization<br /> </li></ul><p> <br /> All circular problems would be solved if the headers (or at least the boost/serialization headers) were included in libboost-dev, leaving the rest for libboost-serialization-dev proper. <br /><br /> I'm not familiar with the Debian community. Do you feel in the mood for moving this there? </p> </description> <category>Ticket</category> </item> <item> <dc:creator>anonymous</dc:creator> <pubDate>Tue, 03 Nov 2009 00:00:19 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/3580#comment:4 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/3580#comment:4</guid> <description> <p> Replying to <a class="ticket" href="https://svn.boost.org/trac10/ticket/3580#comment:3" title="Comment 3">joaquin</a>: </p> <blockquote class="citation"> <p> Replying to <a class="ticket" href="https://svn.boost.org/trac10/ticket/3580#comment:2" title="Comment 2">Leandro Lucarella &lt;llucax@…&gt;</a>: </p> <blockquote class="citation"> <blockquote class="citation"> <p> <a class="ext-link" href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=480948"><span class="icon">​</span>http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=480948</a> </p> </blockquote> <p> Thanks, I missed that. Looking at the Debian changelog for the package I found that was "reverted" (the dependency was moved from "Depends" to "Recommends") to avoid a circular dependency problem. So the problem is still there unless you install recommended packages by default. </p> </blockquote> <p> <br /> I think this reveals a problem with the way libboost-serialization-dev is packaged: Boost.Serialization consists of: <br /><br /> </p> <ul><li>Serialization headers (boost/serialization)<br /> </li><li>Archive headers (boost/archive)<br /> </li><li>Binaries to link against when using serialization<br /> </li></ul><p> <br /> All circular problems would be solved if the headers (or at least the boost/serialization headers) were included in libboost-dev, leaving the rest for libboost-serialization-dev proper. <br /><br /> I'm not familiar with the Debian community. Do you feel in the mood for moving this there? </p> </blockquote> <p> I already reported a bug: <a class="ext-link" href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=553281"><span class="icon">​</span>http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=553281</a> </p> <p> The option of putting serialization headers inside the libboost-dev package was mentioned in the bug 524612 but it didn't progressed. </p> <p> I did a search for closed bugs and it seems like this is a very recurring bug report, I can count 7 duplicates just in the libboost-dev and libboost1.40-dev packages (I didn't even search in previous libboost1.xx-dev packages) :( </p> </description> <category>Ticket</category> </item> </channel> </rss>