Boost logo

Boost :

From: Toon Knapen (toon.knapen_at_[hidden])
Date: 2002-11-20 08:55:54


[snip discussion about writing a first acc-tools.jam]

> > lanczos:/home/tk/boost/libs/numeric/ublas> /home/tk/bjam -sTOOLS=acc
> > ...patience...
> > ...patience...
> > ...patience...
> > ...found 3664 targets...
> > ...updating 72 targets...
> > aCC-C++-action
> > ../../../libs/numeric/ublas/test1/bin/test1/acc/debug/runtime-
> > link-dynamic/test1.o
> > Error 112: "test1/test1.cpp", line 9 # Include file
> > <iostream> not found.
> > #include <iostream>
> > ^^^^^^^^^^
>
> OK, I think you said you have aCC v. 1.21. On my server, 'aCC --version'
> gives "HP ANSI C++ B3910B A.01.23", so it looks like my shop is at v. 1.23
> and my experiences should be close to your own. Either way, you may have a
> couple problems to surmount when trying to compile clean room C++ source:

Does anybody know if there's a difference with aCC on HPUX 11 (we're talking
about version 10.20 here). Because when checking out the status pages for
HPUX 11 they don't seem so bad.

>
> (1) Certain header files normally included with angle brackets have to be
> included with ".h" on the back of the file name because HP decided to go
> with backward compatibility over standard behavior. Files on my system that
> I know have this problem are fstream.h, iostream.h and new.h. Your mileage
> may vary according to compiler setup.

Is there currently an option in boost to use the old include files, I did'nt
see any. So would it be interesting to add the new headers that include the
old headers in boost/compatibility ?

>
> (2) On my system, I am getting errors like this:
>
> Error 20:
> "/home/jbh8632/projects/work/boost/boost_1_29_0/boost/detail/allocator.hpp"
>, line 182 # ';' expected before '::'.
> typedef std::size_t size_type;
> ^^
> The reason is that, on my system, the compiler is configured to use the
> global anonymous namespace instead of std::. That may or may not affect
> you. I have to deal with it for historical reasons peculiar to my local
> installation that I will not describe here.

But since there's no iostream but only iostream.h I suppose namespace std
does'nt even exist ?
(sorry can't check myself now since I only have a few days a week acces to an
HPUX machine)

>
> Now, I am seeing another problem that seems to be related to the file
> boost/config/compiler/hp_acc.hpp. I am getting an error from bjam while
> using your acc jamfile that look like this:
>
> aCC-C++-action
> libs/regex/build/bin/libboost_regex.a/acc/debug/runtime-link-dynamic/c_rege
>x _traits.o
> Error 119:
> "/home/jbh8632/projects/work/boost/boost_1_29_0/boost/config/compiler/hp_ac
>c .hpp", line 32 # #error "Compiler not supported or configured -
> please reconfigure"
> # error "Compiler not supported or configured - please reconfigure
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> ...
>
> I looked at hp_acc.hpp and found a couple of lines that seem to conflict,
> namely:
>
> #if (__HP_aCC <= 33100)..
>
> #if (__HP_aCC <= 33300) || !defined(BOOST_STRICT_CONFIG)..
>
> and
>
> #if __HP_aCC < 33000
> # error "Compiler not supported or configured - please reconfigure"
> #endif..
>
> I am getting the error from the last one. I wrote and compiled a small
> program (attached below my sig) and it tells me that:
>
> __HP_aCC == 12300
> BOOST_STRICT_CONFIG not defined.
>
> Now, if my compiler version is < 3.30 (and it is), then I'll always get an
> error from the last preprocessor test, even though the previous #if blocks
> in hp_acc.hpp seem to conditionally accept compiler versions < 3.30. Note
> that BOOST_STRICT_CONFIG may or may not be defined somewhere in the bjam
> build process, so my little program is not the necessarily accurate there.

Seems (from cvs log) that John Maddock, Jens and Aleksey have worked on
hp_acc.hpp so I hope they can provide some insight here. As I said before I'm
trying to help you (John Hagen) out but have little experience with aCC.
>
> Well, that is what I have for now. I will have to go through the library
> and remove all the std:: namespace identifiers to get the Boost libs to
> begin compiling on my system, but first I want to know if my hp_acc.hpp is
> correct or not. It's from the 1.29 tarball off the Boost site.

You definitly should avoid to do that !!!!!

(John, I would like to continue the discussion on the boost-ml since there
are some people with experience with boost on HPUX that will be able to
provide some more info, I'm not crosposting to jamboost since all jamboosters
are also boosters)

toon


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk