Boost logo

Boost-Build :

Subject: [Boost-build] BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS causes build to fail
From: Steve M. Robbins (steve_at_[hidden])
Date: 2008-11-11 21:04:07


This is an expanded question from a post I made yesterday to the main
boost list. I think boost-build might be a better audience.

My immediate issue is that Boost 1.36 and later end with (an expected)
build failure on certain architectures -- those that define
be rejected by the Debian build daemon machines [1] as follows:

  libs/math/build/has_long_double_support.cpp:9:2: error: #error "long double support is not supported by Boost.Math on this Plaform: the long double version of the TR1 library will not be built."
  ...failed gcc.compile.c++ bin.v2/libs/math/build/has_long_double_support.test/gcc-4.3.2/release/debug-symbols-on/link-static/has_long_double_support.o...

and several others, ending with:

  ...failed updating 8 targets...
  ...skipped 368 targets...
  ...updated 2074 targets...
  make: *** [build-stamp] Error 1

I don't really know how to solve this and would appreciate any guidance navigating
Boost.Build. I'm perfectly willing to create and support a Debian-only patch
for this.

I know that there are other things in my build logs that look like
"expected" failures and are NOT fatal; e.g.

  libs/config/test/all/../no_std_locale_fail.cpp:27:2: error: #error "this file should not compile"
  libs/config/test/all/../no_std_locale_fail.cpp: In function 'int main(int, char**)':
  libs/config/test/all/../no_std_locale_fail.cpp:32: error: 'boost_no_std_locale' has not been declared

I was wondering if the long double test could use this approach.

Alternatively, since the test is used to suppress the long double
version of the TR1 library, could I patch the build system to avoid
building it when a certain parameter is given on the bjam command
line? I can easily arrange for the parameter to be present on the
affected architectures.

Any other ideas?



Boost-Build list run by bdawes at, david.abrahams at, gregod at, cpdaniel at, john at