Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT sources DOT redhat DOT com Delivered-To: mailing list cygwin AT sources DOT redhat DOT com Message-ID: <39CA90B8.BD9E0370@veritas.com> Date: Thu, 21 Sep 2000 15:50:32 -0700 From: Bob McGowan Organization: VERITAS Software X-Mailer: Mozilla 4.73 [en] (WinNT; U) X-Accept-Language: en MIME-Version: 1.0 To: Cygwin Subject: libm.a linking errork Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Transfer-Encoding: 7bit I remember seeing some posts regarding libm, libc and libcygwin over the last few months, but I can't find anything in the archives that refers to the error message I'm seeing. But I did find some questions asked about why changing the current handling of the library names should change. Either this is a reason or I have somehow misconfigured things, though I can't see where. So I'm also attaching the output of cygcheck -v -r -s below, just in case;) I have Cygwin 1.0 from the CD, updated to net release 1.1.4 installed on a WinNT 4.0, SP5 system. This C program illustrates my problem: #include main() { printf("%f\n", log10(1000.0)); } If I try to include the libm library explicitly (which I did when I first tried to compile): gcc -o pgm -lm pgm.c I get the following error from the linker: /tmp/ccDHKdkM.o(.text+0x10):pgm.c: multiple definition of `main' /usr/lib/libm.a(libcmain.o)(.text+0x0):libcmain.c: first defined here /usr/lib/libm.a(libcmain.o)(.text+0x6a):libcmain.c: undefined reference to `WinMain AT 16' collect2: ld returned 1 exit status If I compile as: gcc -o pgm pgm.c everything is fine and pgm executes with the expected output. The libm.a file is a symlink to the libcygwin.a library. ===cygcheck: Cygnus Win95/NT Configuration Diagnostics Current System Time: Thu Sep 21 15:30:15 2000 WinNT Ver 4.0 build 1381 Service Pack 5 Path: /usr/bob/bin /usr/bin /contrib/bin /usr/X11R6/bin /usr/local/bin /drv/c/winnt /drv/c/winnt/system32 . SysDir: C:\WINNT\System32 WinDir: C:\WINNT CYGWIN = `binmode tty' HOME = `/usr/bob' PWD = `/usr/bob/megami/src/c/utils' APPATH = `C:\Program Files\Sunbelt Software\AutoPilot' BASEMAKE = `D:\Program Files\Microsoft Platform SDK\Include\BKOffice.Mak' BC_ENV_ARGS = `-q' BKOFFICE = `D:\Program Files\Microsoft Platform SDK\' CDPATH = `.:/usr/bob:/' CLASSPATH = `C:\Program Files\ExceedNT\hcljrcsv.zip;C:\Program Files\ExceedNT' COMPUTERNAME = `RAMJR' COMSPEC = `C:\WINNT\system32\cmd.exe' DISPLAY = `ramjr:0.0' DXSDKROOT = `D:\Program Files\Microsoft Platform SDK\' EDITOR = `vi' EXINIT = `set ai sm sw=4 tabstop=4' HOMEDRIVE = `C:' HOMEPATH = `\usr\bob' HOSTNAME = `ramjr' HOSTTYPE = `i586' INCLUDE = `C:\Program Files\Microsoft Visual Studio\VC98\atl\include;C:\Program Files\Microsoft Visual Studio\VC98\mfc\include;C:\Program Files\Microsoft Visual Studio\VC98\include;D:\Program Files\Microsoft Platform SDK\Include\;D:\Program Files\Microsoft Platform SDK\Include\Atl30\' INETSDK = `D:\Program Files\Microsoft Platform SDK\' LIB = `C:\Program Files\Microsoft Visual Studio\VC98\mfc\lib;C:\Program Files\Microsoft Visual Studio\VC98\lib;D:\Program Files\Microsoft Platform SDK\Lib\' LOGNAME = `########' LOGONSERVER = `\\#######' MACHTYPE = `i586-pc-cygwin' MSDEVDIR = `C:\Program Files\Microsoft Visual Studio\Common\MSDev98' MSSDK = `D:\Program Files\Microsoft Platform SDK\' MSTOOLS = `D:\Program Files\Microsoft Platform SDK\' NTRESKIT = `C:\Program Files\NTReskit' NUMBER_OF_PROCESSORS = `1' OLDPWD = `/usr/bob/src/c/utils' OS2LIBPATH = `C:\WINNT\system32\os2\dll;' OS = `Windows_NT' OSTYPE = `cygwin' PROCESSOR_ARCHITECTURE = `x86' PROCESSOR_IDENTIFIER = `x86 Family 6 Model 7 Stepping 3, GenuineIntel' PROCESSOR_LEVEL = `6' PROCESSOR_REVISION = `0703' PROMPT_COMMAND = `xtitle "rmcgowan AT ramjr " "$PWD"' PS1 = `[ramjr]$ ' SHELL = `/bin/bash' SHLVL = `1' SYSTEMDRIVE = `C:' SYSTEMROOT = `C:\WINNT' TEMP = `/drv/d/TMP' TERM = `cygwin' TMP = `/drv/d/TMP' TMPDIR = `/tmp' USERDOMAIN = `###' USERNAME = `########' USERPROFILE = `C:\WINNT\Profiles\############' WINDIR = `C:\WINNT' WINDOWID = `8388622' _ = `/bin/cygcheck' TZ = `PST8PDT7,M4.1.0/2,M10.5.0/2' HKEY_CURRENT_USER\Software\Cygnus Solutions HKEY_CURRENT_USER\Software\Cygnus Solutions\Cygwin HKEY_CURRENT_USER\Software\Cygnus Solutions\Cygwin\mounts v2 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\1.00.000 HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2 (default) = `/drv' cygdrive flags = 0x0000002a HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/ (default) = `c:/cygwin' flags = 0x0000000a HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/dev/fd0 (default) = `\\.\a:' flags = 0x0000000a HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/mnt/cdrom (default) = `e:' flags = 0x0000000a HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/mnt/floppy (default) = `a:' flags = 0x0000000a HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/ms/vc98/include (default) = `c:\Program Files\Microsoft Visual Studio\VC98\include' 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/bob (default) = `c:\usr\bob' flags = 0x0000000a HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/usr/bob/megami (default) = `\\megami\homes' flags = 0x0000000a HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/usr/cd-image/debian-potato (default) = `d:\debian-potato' flags = 0x0000000a HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/usr/cygwin-xwin (default) = `d:\cygwin-xwin' 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.DLL setup a: fd N/A N/A c: hd NTFS 4086Mb 97% CP CS UN PA FC RAMJR Boot Disk d: hd NTFS 4659Mb 95% CP CS UN PA FC RAMJR Data Disk e: cd N/A N/A h: net NTFS 14660Mb 67% CP CS UN PA FC Engr1 i: net NTFS 8675Mb 66% CP CS UN PA FC p: net NTFS 17358Mb 100% CP CS UN PA FC test1 u: net NTFS 5188Mb 67% CP CS PA rmcgowan w: net NTFS 225746Mb 21% CP CS UN PA FC x: net NTFS 4094Mb 91% CP CS UN PA FC Apps c:\Program Files\Microsoft Visual Studio\VC98\include /ms/vc98/include system binmode d:\debian-potato /usr/cd-image/debian-potato system binmode \\megami\homes /usr/bob/megami system binmode d:\cygwin-xwin /usr/cygwin-xwin system binmode c:\cygwin\bin /usr/bin system binmode c:\cygwin\lib /usr/lib system binmode c:\usr\bob /usr/bob system binmode c:\cygwin / system binmode \\.\a: /dev/fd0 system binmode a: /mnt/floppy system binmode e: /mnt/cdrom system binmode Found: c:\cygwin\bin\bash.exe Found: c:\cygwin\usr\local\bin\bash.exe Warning: c:\cygwin\bin\bash.exe hides c:\cygwin\usr\local\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 83k 2000/06/11 c:\cygwin\bin\cygitcl30.dll - os=4.0 img=1.0 sys=4.0 "cygitcl30.dll" v0.0 ts=2000/6/10 20:34 35k 2000/06/11 c:\cygwin\bin\cygitk30.dll - os=4.0 img=1.0 sys=4.0 "cygitk30.dll" v0.0 ts=2000/6/10 20:34 402k 2000/06/11 c:\cygwin\bin\cygtcl80.dll - os=4.0 img=1.0 sys=4.0 "cygtcl80.dll" v0.0 ts=2000/6/10 20:30 5k 2000/06/11 c:\cygwin\bin\cygtclpip80.dll - os=4.0 img=1.0 sys=4.0 10k 2000/06/11 c:\cygwin\bin\cygtclreg80.dll - os=4.0 img=1.0 sys=4.0 "cygtclreg80.dll" v0.0 ts=2000/6/10 20:30 639k 2000/06/11 c:\cygwin\bin\cygtk80.dll - os=4.0 img=1.0 sys=4.0 "cygtk80.dll" v0.0 ts=2000/6/10 20:34 586k 2000/08/04 c:\cygwin\bin\cygwin1.dll - os=4.0 img=1.0 sys=4.0 "cygwin1.dll" v0.0 ts=2000/8/3 17:53 Cygwin DLL version info: dll major: 1001 dll minor: 4 dll epoch: 19 dll bad signal mask: 19005 dll old termios: 5 api major: 0 api minor: 26 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 build date: Thu Aug 3 20:53:46 EDT 2000 CVS tag: cygwin-1-1-4 shared id: cygwin1S3 Use -h to see help about each section -- Bob McGowan Staff Software Quality Engineer VERITAS Software rmcgowan AT veritas DOT com -- Want to unsubscribe from this list? Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT com