This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: Undefined: basic_streambuff:seekoff
On Wed, 8 Sep 2004, David Kramer wrote:
> Background:
> *STILL* trying to get a working GNU toolchain on AIX 5.2.
> Currently have:
> - gcc 3.3.3 downloaded binary compiled for AIX 5.1
> - gcc 3.4.0 bootstrapped from gcc 3.3.3 above
> - binutils 2.14 someone else built. Has architecture problems,
> etc. See previous messages for that mess. Never resolved.
> - binutils 2.15 I built with gcc 3.3.3 above. Same problems.
> - xlC native AIX compiler
> - ld native AIX linker
>
> Problem: Trying to get gcc3.4.0 to compile a tiny little test program,
> which includes <sstream> for stringstream operations, and a Rogue Wave
> RWCString. I'm using the native linker. Even if I comment out the
> RWCString in the source code, so there are no references at all to Rogue
> Wave in the source, but I still include the -ltls77-xsd on the command
> line, I get:
>
> -----------------------------------------------------
> ~/build/test> g++ -mcpu=rs64a -L/dkramer/build/rogue/lib/
> -I/dkramer/build/rogue/rogue -D_RWCONFIG=xsd -DRW_NO_LEADING_UNDERSCORE
> -ltls77-xsd -o piddlerw piddlerw.cpp && ./piddlerw
>
> ld: 0711-317 ERROR: Undefined symbol: std::basic_streambuf<char,
> std::char_traits<char> >::seekoff(long, std::_Ios_Seekdir,
> std::_Ios_Openmode)
>
> ld: 0711-317 ERROR: Undefined symbol: .std::basic_ostream<char,
> std::char_traits<char> >::sentry::operator bool()
>
> ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more
> information.
> collect2: ld returned 8 exit status
> -----------------------------------------------------
Some more info:
This page seems relevant, but unhelpful:
http://vmsbox.cjb.net/docs/cxx/rnv.htm
Also, I compiled with -Wl,-bnoquiet, and got this additional output:
ld: 0711-317 ERROR: Undefined symbol: std::basic_streambuf<char,
std::char_traits<char> >::seekoff(long, std::_Ios_Seekdir,
std::_Ios_Openmode)
std::basic_streambuf<char, std::char_traits<char> >::seekoff(long,
std::_Ios_Seekdir, std::_Ios_Openmode)[50] ER DS
../auditbuf.cpp(/dkramer/build/rogue/lib//libtls77-xsd.a[auditbuf.o])
000019d0 .data R_POS [915]
vtable for RWAuditStreamBuffer
ld: 0711-317 ERROR: Undefined symbol: .std::basic_ostream<char,
std::char_traits<char> >::sentry::operator bool()
.std::basic_ostream<char, std::char_traits<char> >::sentry::operator
bool()[66] ER PR
../nostl_wstrngio.cpp(/dkramer/build/rogue/lib//libtls77-xsd.a[nostl_wstrngio.o])
000019d8 .text R_RBR [945]
.operator<<(std::basic_ostream<char, std::char_traits<char> >&,
RWClassicWString const&)
So that tells me what needs it, but not why it works in gcc 3.3.3 and not
gcc 3.4.0.
-------------------------------------------------------------------
DDDD David Kramer http://thekramers.net
DK KD Math is pure science.
DKK D Physics is noisy math.
DK KD Chemistry is smelly physics.
DDDD Biology is squishy chemistry.