Boost C++ Libraries: Ticket #2597: Boost fails to build when long doubles not supported https://svn.boost.org/trac10/ticket/2597 <p> Boost.Math builds a test file to check whether long double math is supported. If it is not, the build fails with an error which is misleading because it is not an error but, rather, a successful build of all parts except the long double version of boost_math_c99 and boost_math_tr1. </p> <p> This issue causes the builds to fail for Debian; c.f. <a class="ext-link" href="http://buildd.debian.org/fetch.cgi?&amp;pkg=boost1.37&amp;ver=1.37.0-2&amp;arch=mips&amp;stamp=1229469355&amp;file=log"><span class="icon">​</span>http://buildd.debian.org/fetch.cgi?&amp;pkg=boost1.37&amp;ver=1.37.0-2&amp;arch=mips&amp;stamp=1229469355&amp;file=log</a> </p> <p> Because of this, I have to patch Debian to disable building these libraries for certain platforms. The attached patch enables this by adding a --disable-long-double flag to the build process. </p> <p> There must be a way to do this automatically (?). </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/2597 Trac 1.4.3 anonymous Wed, 17 Dec 2008 06:09:15 GMT attachment set https://svn.boost.org/trac10/ticket/2597 https://svn.boost.org/trac10/ticket/2597 <ul> <li><strong>attachment</strong> → <span class="trac-field-new">add-disable-long-double.patch</span> </li> </ul> Ticket John Maddock Wed, 17 Dec 2008 10:38:28 GMT status changed https://svn.boost.org/trac10/ticket/2597#comment:1 https://svn.boost.org/trac10/ticket/2597#comment:1 <ul> <li><strong>status</strong> <span class="trac-field-old">new</span> → <span class="trac-field-new">assigned</span> </li> </ul> <p> Well, this is the way of doing it automatically! Or at least the best we can achieve with current the Boost.Build :-( </p> <p> An alternative would be to add a &lt;build&gt;no property to the has_long_double.cpp compile test for platforms which are known to have no long double support. Then you wouldn't see the failure, but you would still see a lot of targets skipped - rightly so IMO since part of the library can't be built there should be at least some user warning? </p> <p> Would this be acceptable, and is there a way to detect the debian version within Boost.Build? </p> <p> Thanks, John. </p> Ticket smr@… Fri, 19 Dec 2008 02:44:05 GMT <link>https://svn.boost.org/trac10/ticket/2597#comment:2 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/2597#comment:2</guid> <description> <p> Replying to <a class="ticket" href="https://svn.boost.org/trac10/ticket/2597#comment:1" title="Comment 1">johnmaddock</a>: </p> <blockquote class="citation"> <p> Well, this is the way of doing it automatically! Or at least the best we can achieve with current the Boost.Build :-( </p> </blockquote> <p> I've opened a discussion about this on boost-build; c.f. <a class="ext-link" href="http://lists.boost.org/boost-build/2008/12/20974.php"><span class="icon">​</span>http://lists.boost.org/boost-build/2008/12/20974.php</a> </p> <blockquote class="citation"> <p> An alternative would be to add a &lt;build&gt;no property to the has_long_double.cpp compile test for platforms which are known to have no long double support. Then you wouldn't see the failure, but you would still see a lot of targets skipped - rightly so IMO since part of the library can't be built there should be at least some user warning? </p> </blockquote> <p> I agree that a warning is warranted. </p> <blockquote class="citation"> <p> Would this be acceptable, and is there a way to detect the debian version within Boost.Build? </p> </blockquote> <p> I don't know. I guess if you can run some kind of command for this, maybe try running "cc -c has_long_double_support.cpp" and test for existence of has_long_double_support.o? </p> </description> <category>Ticket</category> </item> <item> <dc:creator>anonymous</dc:creator> <pubDate>Fri, 19 Dec 2008 09:46:17 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/2597#comment:3 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/2597#comment:3</guid> <description> <blockquote> <p> I don't know. I guess if you can run some kind of command for this, maybe try running "cc -c has_long_double_support.cpp" and test for existence of has_long_double_support.o? </p> </blockquote> <p> Unfortunately that wouldn't work: we couldn't be sure that the compiler we are *actually* building with was the one in the path. We might also be building with more than one compiler :-( </p> <p> We could the output from uname and that's probably about it... </p> <p> John. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>John Maddock</dc:creator> <pubDate>Wed, 24 Dec 2008 11:20:32 GMT</pubDate> <title>status changed; resolution set https://svn.boost.org/trac10/ticket/2597#comment:4 https://svn.boost.org/trac10/ticket/2597#comment:4 <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/50378" title="Simplified version of patch in #2597. Fixes #2597.">[50378]</a>) Simplified version of patch in <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/2597" title="#2597: Bugs: Boost fails to build when long doubles not supported (closed: fixed)">#2597</a>. Fixes <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/2597" title="#2597: Bugs: Boost fails to build when long doubles not supported (closed: fixed)">#2597</a>. </p> Ticket