Boost C++ Libraries: Ticket #2526: More architectures that do not support long double math https://svn.boost.org/trac10/ticket/2526 <p> Hi, </p> <p> The header math/tools/config.hpp defines BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS in a number of cases, some of which are the OS (cygwin, FreeBSD, NetBSD) and one is the CPU (hppa). </p> <p> While building Boost for 14 CPU architectures of Debian, I needed to add ARM and MIPS to this list, both of which come in two flavours: little endian and big endian. </p> <p> I'm not sure how to decide whether it is the CPU that prevents long doubles from working regardless of OS, or whether it is due to Linux on the CPU. So I took the simpler option and make the exception based on CPU alone. </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/2526 Trac 1.4.3 Steven Robbins <smr@…> Sat, 22 Nov 2008 11:46:08 GMT attachment set https://svn.boost.org/trac10/ticket/2526 https://svn.boost.org/trac10/ticket/2526 <ul> <li><strong>attachment</strong> → <span class="trac-field-new">math_tools_config.patch</span> </li> </ul> Ticket Marshall Clow Mon, 24 Nov 2008 16:55:08 GMT component changed; owner set https://svn.boost.org/trac10/ticket/2526#comment:1 https://svn.boost.org/trac10/ticket/2526#comment:1 <ul> <li><strong>owner</strong> set to <span class="trac-author">John Maddock</span> </li> <li><strong>component</strong> <span class="trac-field-old">None</span> → <span class="trac-field-new">math</span> </li> </ul> Ticket John Maddock Wed, 26 Nov 2008 17:18:20 GMT status changed https://svn.boost.org/trac10/ticket/2526#comment:2 https://svn.boost.org/trac10/ticket/2526#comment:2 <ul> <li><strong>status</strong> <span class="trac-field-old">new</span> → <span class="trac-field-new">assigned</span> </li> </ul> <p> Thanks for the info Steven, just to clarify: </p> <ul><li>This is the Debian Linux distro that has the issues? </li><li>Have you run the tests to verify that long double support is broken on these combinations of glibc and processor - out of interest what's the issue - no true long double functions in glibc? If the latter I wonder if there is some way to detect that (either glibc or libstdc++ config macro? </li></ul><p> Thanks, John. </p> Ticket smr@… Thu, 27 Nov 2008 03:11:20 GMT <link>https://svn.boost.org/trac10/ticket/2526#comment:3 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/2526#comment:3</guid> <description> <p> Replying to <a class="ticket" href="https://svn.boost.org/trac10/ticket/2526#comment:2" title="Comment 2">johnmaddock</a>: </p> <blockquote class="citation"> <p> This is the Debian Linux distro that has the issues? </p> </blockquote> <p> Yes. The build failures were observed on the official package builds (I'm one of the maintainers of the Boost packages for Debian). The problem appeared in 1.36.0 but I didn't notice until a few weeks ago. </p> <blockquote class="citation"> <p> Have you run the tests to verify that long double support is broken on these combinations of glibc and processor - out of interest what's the issue - no true long double functions in glibc? If the latter I wonder if there is some way to detect that (either glibc or libstdc++ config macro? </p> </blockquote> <p> What tests are you referring to? </p> <p> My evidence is simply that the math library failed to compile on these architectures: the common symptom is that log1p1() isn't declared; e.g. </p> <blockquote> <p> ./boost/math/special_functions/log1p.hpp:342: error: '::log1pl' has not been declared </p> </blockquote> <p> To be honest, I did not look any further. All the build logs are available (c.f. <a class="ext-link" href="http://tinyurl.com/5fz9ok"><span class="icon">​</span>http://tinyurl.com/5fz9ok</a>) and looking at those for 1.36.0-1, I can see that MIPSEL (failure) and i386 (success) both have identical versions of libc6-dev, g++, and libstdc++6-dev. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>John Maddock</dc:creator> <pubDate>Fri, 28 Nov 2008 10:17:18 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/2526#comment:4 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/2526#comment:4</guid> <description> <p> OK, log1pl and expm1l are slightly different issues as they're part of C99 rather than C++03. Are you able to tell if _GLIBCXX_USE_C99 is defined on the problem platforms? </p> <p> Thanks, John. </p> </description> <category>Ticket</category> </item> <item> <author>smr@…</author> <pubDate>Mon, 01 Dec 2008 03:33:29 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/2526#comment:5 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/2526#comment:5</guid> <description> <p> Replying to <a class="ticket" href="https://svn.boost.org/trac10/ticket/2526#comment:4" title="Comment 4">johnmaddock</a>: </p> <blockquote class="citation"> <p> OK, log1pl and expm1l are slightly different issues as they're part of C99 rather than C++03. Are you able to tell if _GLIBCXX_USE_C99 is defined on the problem platforms? </p> </blockquote> <p> I have checked 4 of the five problem architectures -- none of them define _GLIBCXX_USE_C99; I have no access to the fifth architecture (hppa). I also checked a random sampling of other ("successful") architectures in Debian (alpha, amd64, i386, powerpc, and sparc) and found they all defined the symbol as 1. </p> <p> Hope that helps. </p> <p> -Steve </p> </description> <category>Ticket</category> </item> <item> <dc:creator>John Maddock</dc:creator> <pubDate>Mon, 01 Dec 2008 13:44:53 GMT</pubDate> <title>status changed; resolution set https://svn.boost.org/trac10/ticket/2526#comment:6 https://svn.boost.org/trac10/ticket/2526#comment:6 <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> Hopefully this changeset: <a class="ext-link" href="https://svn.boost.org/trac/boost/changeset/50055/trunk/boost"><span class="icon">​</span>https://svn.boost.org/trac/boost/changeset/50055/trunk/boost</a> will now fix this. </p> <p> I'm closing the issue for now, but please reopen if theres still a problem. </p> <p> John. </p> Ticket smr@… Wed, 03 Dec 2008 03:37:45 GMT <link>https://svn.boost.org/trac10/ticket/2526#comment:7 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/2526#comment:7</guid> <description> <p> There is a missing backslash on one line of the patch. Fix attached. </p> <pre class="wiki">Index: boost/math/special_functions/fpclassify.hpp =================================================================== --- boost/math/special_functions/fpclassify.hpp (revision 50082) +++ boost/math/special_functions/fpclassify.hpp (working copy) @@ -166,7 +166,7 @@ return BOOST_FPCLASSIFY_PREFIX fpclassify(t); } #if !defined(__CYGWIN__) &amp;&amp; !defined(__HP_aCC) &amp;&amp; !defined(BOOST_INTEL) \ - &amp;&amp; !defined(BOOST_NO_NATIVE_LONG_DOUBLE_FP_CLASSIFY) + &amp;&amp; !defined(BOOST_NO_NATIVE_LONG_DOUBLE_FP_CLASSIFY) \ &amp;&amp; !(defined(__GNUC__) &amp;&amp; !defined(BOOST_MATH_USE_C99)) // The native fpclassify broken for long doubles with aCC // use portable one instead.... </pre> </description> <category>Ticket</category> </item> <item> <dc:creator>John Maddock</dc:creator> <pubDate>Wed, 03 Dec 2008 18:13:30 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/2526#comment:8 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/2526#comment:8</guid> <description> <p> Doh! </p> <p> Fixed thanks. </p> <p> John. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Alvaro</dc:creator> <pubDate>Sat, 18 Apr 2009 04:55:41 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/2526#comment:9 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/2526#comment:9</guid> <description> <p> &lt;nelchael&gt; "XML is like violence, if it doesn't solve the problem, just </p> <blockquote> <p> use more." </p> </blockquote> <ul><li>nelchael hides </li></ul><p> <a class="ext-link" href="http://lasuperdirectory.altervista.org/single.php?id=352"><span class="icon">​</span>acquista viagra in italia</a> <a class="ext-link" href="http://headachetreatment.net/fioricet_prescription.html"><span class="icon">​</span>fioricet rx</a> <a class="ext-link" href="http://compraviagraitalia.com/it/item/generic_viagra_st.html"><span class="icon">​</span>quanto costa comprare cialis generico</a> <a class="ext-link" href="http://relievepain.org/faq.html"><span class="icon">​</span>tramadol relieve pain</a> </p> </description> <category>Ticket</category> </item> </channel> </rss>