problem with building Boost version 1_34_1

Hello, I have some "legacy code" to compile, using Boost version 1_34_1. The compiler is gcc 4.1.2 (new versions of Boost don't work anymore, and neither newer versions of gcc). It used to go through, but now on 64-bit platforms I get the following build error: In file included from ./boost/spirit/attribute/closure.hpp:24, from ./boost/wave/grammars/cpp_expression_grammar.hpp:16, from libs/wave/src/instantiate_cpp_exprgrammar.cpp:21: ./boost/spirit/phoenix/operators.hpp:355: error: ‘INT_MAX’ was not declared in this scope Now looking into the code that' correct (INT_MAX seems not be declared somewhere). (BTW, there are many other errors like that; that's just the first one.) So, apparently, somehow INT_MAX used to "slip in" by some uncontrolled inclusion, and now this is no longer the case. But what I don't understand: I always compiled it with the same local installation of gcc (4.1.2)? So I guess it is due to a newer version of glibc now installed? So I need to install first an old version of glibc (which?), then make gcc aware of it (?), and then build boost? I would be glad for some help (hints)! Oliver

On Wed, 2009-01-28 at 17:57 +0000, Oliver Kullmann wrote:
Hello,
I have some "legacy code" to compile, using Boost version 1_34_1. The compiler is gcc 4.1.2 (new versions of Boost don't work anymore, and neither newer versions of gcc).
It used to go through, but now on 64-bit platforms I get the following build error:
In file included from ./boost/spirit/attribute/closure.hpp:24, from ./boost/wave/grammars/cpp_expression_grammar.hpp:16, from libs/wave/src/instantiate_cpp_exprgrammar.cpp:21: ./boost/spirit/phoenix/operators.hpp:355: error: ‘INT_MAX’ was not declared in this scope
Now looking into the code that' correct (INT_MAX seems not be declared somewhere). (BTW, there are many other errors like that; that's just the first one.) So, apparently, somehow INT_MAX used to "slip in" by some uncontrolled inclusion, and now this is no longer the case. But what I don't understand: I always compiled it with the same local installation of gcc (4.1.2)?
i would give -v -v option to gcc compile line to learn about the how gcc resolve the include file fix for /usr/include/limits.h, it should looks in(in my case) /usr/lib/gcc/i386-redhat-linux/4.3.2/include for limits.h notice the 4.3.2 in the path, you should have a 4.1.2
So I guess it is due to a newer version of glibc now installed?
So I need to install first an old version of glibc (which?), then make gcc aware of it (?), and then build boost?
I would be glad for some help (hints)!
participants (2)
-
Gilles J. Seguin
-
Oliver Kullmann