Subject: [Boost-build] Linking problem in HP-UX with aCC
From: João Luís Pinto (joaoluispinto_at_[hidden])
Date: 2009-05-25 12:10:55
I'm having two linking problems in a project build on a HP-UX machine.
Boost.Build V2 (Milestone 12) [shipped with boost 1.39]
aCC: HP C/aC++ B3910B A.06.16 [Nov 26 2007]
HP-UX B.11.23 ia64
It´s a 64 bit multi-threaded project, compiled with
"address-model=64". Linkage is performed with the folowing options,
set by boost-build:
aCC -AA -g +DD64 -mt
According to the aCC man page, the -AA option:
"Turns on newly supported ANSI C++ Standard features such as namespace
std and the new C++ Standard Library. This option also implies -Aa.
Include paths are changed to include_std and library is libstd_v2."
But I'm getting the following warning:
ld: (Warning) Unsatisfied symbol "istream::do_ipfx(int)" in file
that suggests libstd is being used instead of libstd_v2. Is this
expected? Is there a way to explicitely set the version of the stdlib
used, or do I have to "hammer in" the include path and the correct
library version using linker flags override?
Also, while compiling a component that links to a library built inside
the same project, it is complaining that it cannot find that library,
even though several other executables of the project link with it
without any problems (in fact all other executables except a
particular one). The set of libraries is defined by an alias on the
Jamroot file. Any idea of what could be happening (I thought it might
be a problem related to the linker input line max size being overrun,
but I tried compilation with --abbreviate-paths with the same result).
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