This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Mysterious g++ link problems


"Gerrit P. Haase" <gerrit@familiehaase.de> 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/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]