This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
Re: Results for g++ 3.1 application testing on i686-pc-linux-gnu
- From: Stephen M. Webb <stephen dot webb at bregmasoft dot com>
- To: gcc at gcc dot gnu dot org,libstdc++ at gcc dot gnu dot org
- Date: Tue, 5 Mar 2002 14:51:18 -0500
- Subject: Re: Results for g++ 3.1 application testing on i686-pc-linux-gnu
- Organization: Bregmasoft
- References: <Pine.SOL.3.91.1020303235049.591A-100000@taarna.cygnus.com> <20020304135824823.AAA1048@ns2.goodmedia.com@there>
- Reply-to: stephen dot webb at bregmasoft dot com
On March 4, 2002 08:58 am, Stephen M.Webb wrote:
> On March 4, 2002 02:51 am, Benjamin Kosnik wrote:
> > Has anybody tried KDE 3.0?
>
> I haven't gotten as far as KDE yet, but Qt 3.0.2 builds and runs with
> no problems at all. I'll be starting on KDE today.
Well' I've run into some problems with KDE.
First off, for internal reasons, I had to rebuild Qt 3.0.2, and it
failed at runtime in its third party zlib library. I rebuilt using my
system's zlib and everything works okay. Don't know if the problem was
in Qt or gcc, but I can't go without Qt for very long so I can't look
further.
Here's the big problem. Building the libs package of KDE fails on
vector<bool> with an unreferenced symbol error. I've managed to
isolate a small test case that reproduces the problem.
#include <vector>
int
main(int, char*[])
{
std::vector<bool>::iterator i;
++i;
return 0;
}
The linker error is
bv.o: In function `std::_Bit_iterator_base::_M_bump_up()':
bv.o(.gnu.linkonce.t._ZNSt18_Bit_iterator_base10_M_bump_upEv+0x8):
undefined reference to `std::__WORD_BIT'
collect2: ld returned 1 exit status
I checked the C++ library, and it's there, but not as an external
symbol:
stephen> nm -C /opt/gnu/lib/libstdc++.so.4 | grep WORD
00054aa8 r std::__WORD_BIT
The symbol is defined in libstdc++-v3/src/stl-inst.cc. All the other
symbols defined there seem okay. I can make the problem go away by
forcing the linkage of __WORD_BIT to extern, but I'm not sure if that's
the Right Thing To Do. I'm not sure if this is a symbol versioning
problem or a symbol linkage problem, so I'll leave it to the experts.
I'm using binutils 2.12.90 20020304.
There don't seem to be any test cases in the V3 testsuite that address
vector<bool>
--
Stephen M. Webb