I recently installed gcc from cvs, since I understand people have had success with it, pretty much out of the box. I'm getting link errors compiling trival C++ programs, with both my local g++ and the Cygwin standard g++. I can overcome these errors if I explicitly link the right copy of libstdc++.a into the application, as demonstrated in the examples below.
Can gcc 2.95 and gcc 3.x not coexist? I'm guessing it's either that or I installed gcc incorrectly somehow, but I'm not sure where I went wrong. Any help or direction would be appreciated. Christopher Examples (cygcheck output is at the bottom, if it helps): $ cat foo.cc #include <iostream> int main() std::cout << "Hello, world!\n"; return 0; $ uname -a CYGWIN_NT-5.0 CCURRIE 1.3.10(0.51/3/2) 2002-02-25 11:14 i686 unknown $ g++-3.1 -v Reading specs from /usr/local/lib/gcc-lib/i686-pc-cygwin/3.1/specs Configured with: /usr/src/gcc-3_1/configure --disable-nls --disable-shared --ena ble-static --enable-cstdio=stdio --with-system-zlib --enable-languages=c,c++ --e nable-threads=win32 --program-suffix=-3.1 Thread model: win32 gcc version 3.1 20020316 (prerelease) $ g++-3.1 -o foo foo.cc /tmp/ccZLqlSf.o(.text+0x31):foo.cc: undefined reference to `std::cout' /tmp/ccZLqlSf.o(.text+0x3e):foo.cc: undefined reference to `std::basic_ostream<c har, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::ba sic_ostream<char, std::char_traits<char> >&, char const*)' /tmp/ccZLqlSf.o(.text+0x67):foo.cc: undefined reference to `std::ios_base::Init: :Init[in-charge]()' /tmp/ccZLqlSf.o(.text+0x82):foo.cc: undefined reference to `std::ios_base::Init: :~Init [in-charge]()' /tmp/ccZLqlSf.o(.eh_frame+0x11):foo.cc: undefined reference to `___gxx_personali ty_v0' collect2: ld returned 1 exit status $ g++-3.1 -o foo foo.cc /usr/local/lib/libstdc++.a $ ./foo Hello, world! $ g++ -o foo foo.cc /tmp/ccf7Qhwz.o(.text+0x24):foo.cc: undefined reference to `cout' /tmp/ccf7Qhwz.o(.text+0x29):foo.cc: undefined reference to `ostream::operator<<( char const *)' collect2: ld returned 1 exit status $ g++ -o foo foo.cc /usr/lib/libstdc++.a $ ./foo Hello, world! $ cygcheck.exe -s -v -r Cygwin Win95/NT Configuration Diagnostics Current System Time: Sun Mar 17 23:32:51 2002 Windows 2000 Professional Ver 5.0 Build 2195 Service Pack 2 Path: C:\cygwin\usr\local\bin C:\cygwin\bin C:\cygwin\bin c:\WINNT\system32 c:\WINNT c:\WINNT\System32\Wbem SysDir: C:\WINNT\System32 WinDir: C:\WINNT HOME = `C:\cygwin\home\ccurrie' MAKE_MODE = `unix' PWD = `/home/ccurrie/src/test' USER = `ccurrie' ALLUSERSPROFILE = `C:\Documents and Settings\All Users' APPDATA = `C:\Documents and Settings\ccurrie\Application Data' COMMONPROGRAMFILES = `C:\Program Files\Common Files' COMPUTERNAME = `CCURRIE' COMSPEC = `C:\WINNT\system32\cmd.exe' HOMEDRIVE = `C:' HOMEPATH = `\' LOGONSERVER = `\\CCURRIE' MANPATH = `:/usr/ssl/man' NUMBER_OF_PROCESSORS = `1' OLDPWD = `/home/ccurrie/src' OS2LIBPATH = `C:\WINNT\system32\os2\dll;' OS = `Windows_NT' PATHEXT = `.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH' PROCESSOR_ARCHITECTURE = `x86' PROCESSOR_IDENTIFIER = `x86 Family 6 Model 8 Stepping 3, GenuineIntel' PROCESSOR_LEVEL = `6' PROCESSOR_REVISION = `0803' PROGRAMFILES = `C:\Program Files' PROMPT = `$P$G' PS1 = `\[\033]0;\w\007 \033[32m\]\u@\h \[\033[33m\w\033[0m\] $ ' SHLVL = `1' SYSTEMDRIVE = `C:' SYSTEMROOT = `C:\WINNT' TEMP = `c:\DOCUME~1\ccurrie\LOCALS~1\Temp' TERM = `cygwin' TMP = `C:\cygwin\tmp' USERDOMAIN = `CCURRIE' USERNAME = `ccurrie' USERPROFILE = `C:\Documents and Settings\ccurrie' WINDIR = `C:\WINNT' _ = `/usr/bin/cygcheck.exe' HKEY_CURRENT_USER\Software\Cygnus Solutions HKEY_CURRENT_USER\Software\Cygnus Solutions\Cygwin HKEY_CURRENT_USER\Software\Cygnus Solutions\Cygwin\mounts v2 (default) = `/cygdrive' cygdrive flags = 0x00000022 HKEY_CURRENT_USER\Software\Cygnus Solutions\Cygwin\Program Options HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2 HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/ (default) = `C:/cygwin' flags = 0x0000000a HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/usr/bin (default) = `C:/cygwin/bin' flags = 0x0000000a HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/usr/lib (default) = `C:/cygwin/lib' flags = 0x0000000a HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\Program Options c: hd NTFS 11507Mb 35% CP CS UN PA FC . /cygdrive user binmode,noumount C:/cygwin / system binmode C:/cygwin/bin /usr/bin system binmode C:/cygwin/lib /usr/lib system binmode Found: C:\cygwin\bin\bash.exe Found: C:\cygwin\bin\cat.exe Found: C:\cygwin\bin\cpp.exe Found: C:\cygwin\bin\find.exe Found: C:\cygwin\bin\gcc.exe Found: C:\cygwin\bin\gdb.exe Found: C:\cygwin\bin\ld.exe Found: C:\cygwin\bin\ls.exe Found: C:\cygwin\bin\make.exe Found: C:\cygwin\bin\sh.exe 56k 2000/12/03 C:\cygwin\bin\cygbz21.0.dll - os=4.0 img=1.0 sys=4.0 "cygbz21.0.dll" v0.0 ts=2000/11/20 18:53 621k 2002/01/16 C:\cygwin\bin\cygcrypto.dll - os=4.0 img=1.0 sys=4.0 "cygcrypto.dll" v0.0 ts=2002/1/16 4:54 45k 2001/04/25 C:\cygwin\bin\cygform5.dll - os=4.0 img=1.0 sys=4.0 "cygform5.dll" v0.0 ts=2001/4/25 1:28 35k 2002/01/09 C:\cygwin\bin\cygform6.dll - os=4.0 img=1.0 sys=4.0 "cygform6.dll" v0.0 ts=2002/1/9 1:03 19k 2002/02/20 C:\cygwin\bin\cyggdbm.dll - os=4.0 img=1.0 sys=4.0 "cyggdbm.dll" v0.0 ts=2002/2/19 22:05 17k 2001/06/28 C:\cygwin\bin\cyghistory4.dll - os=4.0 img=1.0 sys=4.0 "cyghistory4.dll" v0.0 ts=2001/1/6 23:34 20k 2002/01/13 C:\cygwin\bin\cyghistory5.dll - os=4.0 img=1.0 sys=4.0 "cyghistory5.dll" v0.0 ts=2002/1/12 20:27 22k 2001/12/13 C:\cygwin\bin\cygintl-1.dll - os=4.0 img=1.0 sys=4.0 "cygintl-1.dll" v0.0 ts=2001/12/13 4:28 21k 2001/06/20 C:\cygwin\bin\cygintl.dll - os=4.0 img=1.0 sys=4.0 "cygintl.dll" v0.0 ts=2001/6/20 13:09 81k 2001/10/20 C:\cygwin\bin\cygitcl30.dll - os=4.0 img=1.0 sys=4.0 "cygitcl30.dll" v0.0 ts=2001/10/19 20:25 35k 2001/10/20 C:\cygwin\bin\cygitk30.dll - os=4.0 img=1.0 sys=4.0 "cygitk30.dll" v0.0 ts=2001/10/19 20:25 26k 2001/04/25 C:\cygwin\bin\cygmenu5.dll - os=4.0 img=1.0 sys=4.0 "cygmenu5.dll" v0.0 ts=2001/4/25 1:27 20k 2002/01/09 C:\cygwin\bin\cygmenu6.dll - os=4.0 img=1.0 sys=4.0 "cygmenu6.dll" v0.0 ts=2002/1/9 1:03 156k 2001/04/25 C:\cygwin\bin\cygncurses++5.dll - os=4.0 img=1.0 sys=4.0 "cygncurses++5.dll" v0.0 ts=2001/4/25 1:29 175k 2002/01/09 C:\cygwin\bin\cygncurses++6.dll - os=4.0 img=1.0 sys=4.0 "cygncurses++6.dll" v0.0 ts=2002/1/9 1:03 226k 2001/04/25 C:\cygwin\bin\cygncurses5.dll - os=4.0 img=1.0 sys=4.0 "cygncurses5.dll" v0.0 ts=2001/4/25 1:17 202k 2002/01/09 C:\cygwin\bin\cygncurses6.dll - os=4.0 img=1.0 sys=4.0 "cygncurses6.dll" v0.0 ts=2002/1/9 1:03 15k 2001/04/25 C:\cygwin\bin\cygpanel5.dll - os=4.0 img=1.0 sys=4.0 "cygpanel5.dll" v0.0 ts=2001/4/25 1:27 12k 2002/01/09 C:\cygwin\bin\cygpanel6.dll - os=4.0 img=1.0 sys=4.0 "cygpanel6.dll" v0.0 ts=2002/1/9 1:03 40k 2001/11/21 C:\cygwin\bin\cygpcre.dll - os=4.0 img=1.0 sys=4.0 "cygpcre.dll" v0.0 ts=2001/11/21 17:15 39k 2001/11/21 C:\cygwin\bin\cygpcreposix.dll - os=4.0 img=1.0 sys=4.0 "cygpcreposix.dll" v0.0 ts=2001/11/21 17:15 108k 2001/06/28 C:\cygwin\bin\cygreadline4.dll - os=4.0 img=1.0 sys=4.0 "cygreadline4.dll" v0.0 ts=2001/1/6 23:34 121k 2002/01/13 C:\cygwin\bin\cygreadline5.dll - os=4.0 img=1.0 sys=4.0 "cygreadline5.dll" v0.0 ts=2002/1/12 20:27 156k 2002/01/16 C:\cygwin\bin\cygssl.dll - os=4.0 img=1.0 sys=4.0 "cygssl.dll" v0.0 ts=2002/1/16 4:54 390k 2001/10/20 C:\cygwin\bin\cygtcl80.dll - os=4.0 img=1.0 sys=4.0 "cygtcl80.dll" v0.0 ts=2001/10/19 20:24 5k 2001/10/20 C:\cygwin\bin\cygtclpip80.dll - os=4.0 img=1.0 sys=4.0 10k 2001/10/20 C:\cygwin\bin\cygtclreg80.dll - os=4.0 img=1.0 sys=4.0 "cygtclreg80.dll" v0.0 ts=2001/10/19 20:24 623k 2001/10/20 C:\cygwin\bin\cygtk80.dll - os=4.0 img=1.0 sys=4.0 "cygtk80.dll" v0.0 ts=2001/10/19 20:25 50k 2002/03/12 C:\cygwin\bin\cygz.dll - os=4.0 img=1.0 sys=4.0 "cygz.dll" v0.0 ts=2002/3/11 23:38 751k 2002/02/25 C:\cygwin\bin\cygwin1.dll - os=4.0 img=1.0 sys=4.0 "cygwin1.dll" v0.0 ts=2002/2/25 11:14 Cygwin DLL version info: DLL version: 1.3.10 DLL epoch: 19 DLL bad signal mask: 19005 DLL old termios: 5 DLL malloc env: 28 API major: 0 API minor: 51 Shared data: 3 DLL identifier: cygwin1 Mount registry: 2 Cygnus registry name: Cygnus Solutions Cygwin registry name: Cygwin Program options name: Program Options Cygwin mount registry name: mounts v2 Cygdrive flags: cygdrive flags Cygdrive prefix: cygdrive prefix Cygdrive default prefix: Build date: Mon Feb 25 11:14:34 EST 2002 Shared id: cygwin1S3 Cygwin Package Information Last downloaded files to: C:\Documents and Settings\ccurrie\My Documents\cygwin Last downloaded files from: http://mirrors.rcn.net/pub/sourceware/cygwin Package Version ash 20020131-1 autoconf 2.52c-1 autoconf-devel 2.52-4 autoconf-stable 2.13-4 automake 1.6a-1 automake-devel 1.5-5 automake-stable 1.4p5-5 bash 2.05a-3 binutils 20011002-1 bison 1.33-1 bzip2 1.0.1-6 crypt 1.0-1 cvs 1.11.0-1 cygwin 1.3.10-1 diff 0.0 fileutils 4.1-1 findutils 4.1 flex 2.5.4-1 gawk 3.0.4-1 gcc 2.95.3-5 gdb 20010428-3 gdbm 1.8.0-4 grep 2.5g groff 1.17.2-1 gzip 1.3.2-1 less 358-3 libintl 0.10.38-3 libintl1 0.10.40-1 libncurses5 5.2-1 libncurses6 5.2-8 libreadline4 4.1-2 libreadline5 4.2a-1 login 1.4-3 m4 0.0 make 3.79.1-5 man 1.5g-2 mktemp 1.4-1 ncftp 3.1.2-1 ncurses 5.2-8 newlib-man 20001118-1 openssh 3.1p1-1 openssl 0.9.6c-3 pcre 3.7-1 perl 5.6.1-2 readline 4.2a-1 sed 3.02-1 sh-utils 2.0-2 tar 1.13.19-1 termcap 20010825-1 terminfo 5.2-1 texinfo 4.0-5 textutils 2.0.21-1 vim 6.0.93-1 w32api 1.2-1 which 1.5-1 zlib 1.1.4-1 Use -h to see help about each section ------------------------------------------------------- With reasonable men I will reason; with humane men I will plead; but to tyrants I will give no quarter. -- William Lloyd Garrison -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/