Re: [Boost-users] [fusion] xlC 6.0 building math lib - Errors

On 1 Feb 2010, Radha wrote:
Hi Team,
I am trying to compile boost math library using xlC version 6 on Aix 5.3.
I get the following error: "./boost/fusion/sequence/intrinsic/begin.hpp", line 54.88: 1540-0408 (S) The base class "apply
" is declared but not defined. ... "libs/math/build/../src/tr1/cbrt.cpp", line 16.11: 1540-0700 (I) The previous message was produced while processing "cbrt(double)". Is there any patch i need to apply?
Any help would be much appreciated!
All my search on this error didn't get me anywhere; if there is prior post on same topic and solution please let me know!
Thanks, Radha
On 2/1/2010 9:30 PM, John Maddock wrote:
I've changed the subject line on this one, as this is really a problem with Boost.Fusion rather than the Math lib as such, Joel?
John.
On 02 Feb 2010, Joel de Guzman wrote:
Alas, I don't have access to the platform/compiler :-( I'll need someone to help me with this. The errors don't make much sense as it seems.
Regards,
Joel de Guzman
I have access to this platform. When I tried to compile the boost libraries with xlC 6 I got lots of template related errors in the math library (the first library bjam tries to build) but I didn't see his fusion errors. xlC 6 is not very standards compliant - upgrading to xlC 10 would really help if that is an option. But like I said, I can't get that far even - my attempt at compiling the trunk dies with a similar error to his "declared but not defined" error: vacpp.compile.c++ bin.v2/libs/math/build/vacpp/release/threading-multi/assoc_legendre.o "./boost/math/special_functions/gamma.hpp", line 1084.16: 1540-0130 (S) "L::g" is not declared. ... "libs/math/build/../src/tr1/assoc_legendre.cpp", line 16.28: 1540-0700 (I) The previous message was produced while processing "assoc_legendre(unsigned int, unsigned int, double)". "./boost/math/special_functions/gamma.hpp", line 176.17: 1540-0130 (S) "L::lanczos_sum" is not declared. ... "libs/math/build/../src/tr1/assoc_legendre.cpp", line 16.28: 1540-0700 (I) The previous message was produced while processing "assoc_legendre(unsigned int, unsigned int, double)".

I have access to this platform. When I tried to compile the boost libraries with xlC 6 I got lots of template related errors in the math library (the first library bjam tries to build) but I didn't see his fusion errors. xlC 6 is not very standards compliant - upgrading to xlC 10 would really help if that is an option. But like I said, I can't get that far even - my attempt at compiling the trunk dies with a similar error to his "declared but not defined" error:
vacpp.compile.c++ bin.v2/libs/math/build/vacpp/release/threading-multi/assoc_legendre.o "./boost/math/special_functions/gamma.hpp", line 1084.16: 1540-0130 (S) "L::g" is not declared. ... "libs/math/build/../src/tr1/assoc_legendre.cpp", line 16.28: 1540-0700 (I) The previous message was produced while processing "assoc_legendre(unsigned int, unsigned int, double)". "./boost/math/special_functions/gamma.hpp", line 176.17: 1540-0130 (S) "L::lanczos_sum" is not declared. ... "libs/math/build/../src/tr1/assoc_legendre.cpp", line 16.28: 1540-0700 (I) The previous message was produced while processing "assoc_legendre(unsigned int, unsigned int, double)".
That makes no sense to me whatsoever - L::g is a member of one of the template parameters - it would help if an instantiation back-trace was actually produced! Is there any way that you know of to force the compiler to output the actual template parameters passed to tgamma_delta_ratio_imp_lanczos when it gets instantiated? What about the other source files - are any building? Any giving different error messages to the above? Thanks, John.

vacpp.compile.c++ bin.v2/libs/math/build/vacpp/release/threading-multi/assoc_legendre.o "./boost/math/special_functions/gamma.hpp", line 1084.16: 1540-0130 (S) "L::g" is not declared.
I'm attaching a couple of reduced test cases which may or may not help - hopefully info.cpp should compile - can you let me have the output from this when run? reduced.cpp is my attempt at a reduced test case. HTH, John.
participants (2)
-
Jerry Jeremiah
-
John Maddock