Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com To: cygwin AT cygwin DOT com From: David Abrahams Subject: Re: Mysterious g++ link problems Date: Wed, 13 Jul 2005 10:18:21 -0400 Lines: 54 Message-ID: References: <42D51FEA DOT 8040204 AT familiehaase DOT de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii User-Agent: Gnus/5.110004 (No Gnus v0.4) Emacs/22.0.50 (windows-nt) X-IsSubscribed: yes "Gerrit P. Haase" writes: > David Abrahams wrote: > >> Here are the symptoms. >> "/usr/local/gcc-3.4.4/bin/g++.exe" -Wall -ftemplate-depth-100 >> -O0 -fno-inline -g -DBOOST_ALL_NO_LIB=1 -I"..\..\.." -c -o >> "..\..\..\bin.v2\libs\parameter\test\sfinae.test\gcc-3.4.4\debug\sfinae.o" >> "sfinae.cpp" "/usr/local/gcc-3.4.4/bin/g++.exe" -o >> "..\..\..\bin.v2\libs\parameter\test\sfinae.test\gcc-3.4.4\debug\sfinae.exe" >> "..\..\..\bin.v2\libs\parameter\test\sfinae.test\gcc-3.4.4\debug\sfinae.o" >> -g /usr/lib/gcc/i686-pc-cygwin/3.4.4/libstdc++.a(eh_terminate.o):: >> undefined reference to `___w32_sharedptr_terminate' >> /usr/lib/gcc/i686-pc-cygwin/3.4.4/libstdc++.a(eh_terminate.o):: undefined reference to `___w32_sharedptr_terminate' >> /usr/lib/gcc/i686-pc-cygwin/3.4.4/libstdc++.a(eh_terminate.o):: undefined reference to `___w32_sharedptr_unexpected' >> /usr/lib/gcc/i686-pc-cygwin/3.4.4/libstdc++.a(eh_terminate.o):: undefined reference to `___w32_sharedptr_terminate' >> /usr/lib/gcc/i686-pc-cygwin/3.4.4/libstdc++.a(eh_terminate.o):: undefined reference to `___w32_sharedptr_terminate' >> /usr/lib/gcc/i686-pc-cygwin/3.4.4/libstdc++.a(eh_terminate.o):: undefined reference to `___w32_sharedptr_unexpected' >> /usr/lib/gcc/i686-pc-cygwin/3.4.4/libstdc++.a(eh_throw.o):: undefined reference to `___w32_sharedptr_unexpected' >> /usr/lib/gcc/i686-pc-cygwin/3.4.4/libstdc++.a(eh_throw.o):: undefined reference to `___w32_sharedptr_terminate' >> collect2: ld returned 1 exit status >> This compiler was configured built and installed by me with >> --prefix=/usr/local/gcc-3.4.4 and has worked flawlessly up 'till now >> (and still works fine on other programs). >> Somewhat strangely, > cygcheck -c gcc >> Cygwin Package Information >> Package Version Status >> gcc 3.4.4-1 OK >> I think until recently /bin/gcc referred to gcc-3.3.3 on my system, >> but I guess a recent use of the Cygwin setup program updated it to >> 3.4.4. Everything works fine if I use /bin/g++, so I guess I can just >> throw out the contents of /usr/local/gcc-3.4.4, but this is still a >> bit disturbing. > > You are using the wrong libstdc++.a runtime. Try to figure out why > /usr/local/gcc is using /usr/lig/gcc runtime instead of your own > /usr/local/lib/gcc runtime. I'm not using /usr/local/gcc. I assume you meant /usr/local/gcc=3.4.4/bin/g++? I'd like to try to "figure out why," but I don't know where to start looking. > Suggested solution: either uninstall your local build of gcc and use > the 'official' Cygwin gcc build or uninstall the official release. I'm happy to use the official one, but I'd still like to understand what happened. -- Dave Abrahams Boost Consulting www.boost-consulting.com -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/