Mail Archives: cygwin/2002/03/24/20:32:12
I finally figured out what I was doing wrong, and I thought I'd post to
the list to document my findings.
The important 'configure' flag is
--enable-version-specific-runtime-libs
This flag is specific to libstdc++, and specifies that the runtime
libraries (including libstdc++.a) be installed in the compiler-specific
subdirectory (${libdir}/gcc-lib/${target_alias}/${gcc_version}). It also
affects where the include files will be installed. It is documented at
<http://gcc.gnu.org/onlinedocs/libstdc++/configopts.html>.
I would, IMO, recommend using this flag anytime you install gcc 3.x, to
ensure there are no conflicts with the packaged gcc.
Christopher
On Sun, Mar 17, 2002 at 08:34:25PM -0800, Christopher Currie wrote:
> 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/
- Raw text -