Bootstrap FAILURE: gcc-3.4.0-20040406 prerelease
Danny Smith
dannysmith@clear.net.nz
Tue Apr 13 22:52:00 GMT 2004
From: "Stephan T. Lavavej"
> I can successfully bootstrap 3.3.3 on MinGW/MSYS (using MinGW patched
> source). When I bootstrap the gcc-3.4.0-20040406 prerelease (using FSF
> source), the bootstrap finishes cleanly, and g++ will print out its
> --version, but it fails at compiling Hello, World.
>
> C:\Temp\gcc>g++ --version
> g++ (GCC) 3.4.0 20040407 (prerelease)
> Copyright (C) 2004 Free Software Foundation, Inc.
> This is free software; see the source for copying conditions. There is NO
> warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
>
>
> C:\Temp\gcc>g++ -Wall -W hello.cc -o hello340.exe
> /mingw/lib/libstdc++.a(eh_throw.o)(.text+0x10):eh_throw.cc: undefined
> reference to `__w32_sharedptr_unexpected'
It looks like you are linking against the libstdc++.a from an older
(modified by mingw local patches) version of gcc.
The symbol __w32_sharedptr_unexpected does not occur in FSF sources for
3.4.0.
I suspect that if you change PATH so that the relocatability magic finds
the new (3.4.0) gcc driver before it finds your old one you will link
against the correct 3.4.0 libstdc++.a. In your example, simply, putting
'.' at the start of your path (since you are running g++ from the 3.4.0
bin directory) should do it.
Or, you could build with --enable-win32-registry and edit the registry
rather than changing PATH.
Danny
More information about the Gcc
mailing list