|
Boost-Build : |
From: Gubenko, Boris (boris.gubenko_at_[hidden])
Date: 2008-08-26 13:51:43
At some point, bjam (specifically jam.h) was updated to define PARISC on a PA-RISC platform. You can check for PA-RISC as the following:
if [ os.platform ] = PARISC
I'm wondering if you add
type SHARED_LIB : sl : LIB : PARISC ;
to types/lib.jam, will it work?
If you're on PA-RISC, please use latest compiler: A.03.80 with +hpxstd98 on the command line. Please note that Boost testing on HP-UX, both Integrity and PA-RISC, is done in a 64-mode: +DD64. I'm not a PA-RISC expert and I could not understand you needed to add "+Z" option. Note that the document you provide the link to: "Writing and Generating Position-Independent Code" is applicable to 32-bit PA-RISC applications only, so, perhaps, using the 64-bit data model will make the problem go away, whatever the problem is.
Thanks,
Boris
> -----Original Message-----
> From: boost-build-bounces_at_[hidden]
> [mailto:boost-build-bounces_at_[hidden]] On Behalf Of Jim
> Gallagher
> Sent: Tuesday, August 26, 2008 12:18 PM
> To: boost-build_at_[hidden]
> Subject: Re: [Boost-build] HP-UX Guru advice needed
>
> Volodya,
>
> >>
> >> We are not using the gcc toolset, rather the HP-UX aCC toolset.
> >
> >Yes, I realize. The question is why, whereas gcc activates
> PIC for link=shared,
> >you want some new feature for HP-UX?
> >
>
> Not necessarily. I now realize the reasoning behind your comment was
> to point out that a better mechanism may be to key off of the link
> feature. That is exactly the sort of advice I was looking for. :-)
>
> >> The HP
> >> compilers do not generate position independent code by default, and
> >> boost build did not add the appropriate compiler switches. When the
> >> link step came, it errored out because +Z was not specified.
> >
> >I presume PIC, and +Z option, is not required at all times? Then, the
> >error has some specific reason -- for example trying to build shared
> >library without PIC code. What reason that was.
> >Will adding +Z for link=shared fix that?
> >
> >- Volodya
> >
>
> That is true, +Z is not required for objects that will be directly
> linked into an executable, although +Z will not prevent that. If you
> are interested, more info is here:
> http://docs.hp.com/en/B2355-90968/positionindependentcode.htm
>
> In tools/types/lib.jam, I tried adding this code, but it did not work.
> How can I use the output of the model command to change the shared lib
> suffix? The output of "model" on PA-RISC machines begins with 9000/.
>
> if [ os.name ] = HPUX
> {
> if [ MATCH "^9000/" : [ SHELL "model" ] ]
> {
> type SHARED_LIB : sl : LIB ;
> }
> }
> else
> {
> type SHARED_LIB : so : LIB ;
> }
>
>
> Thanks,
> Jim
> _______________________________________________
> Unsubscribe & other changes:
> http://lists.boost.org/mailman/listinfo.cgi/boost-build
>
Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk