Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT sourceware DOT cygnus DOT com Delivered-To: mailing list cygwin AT sourceware DOT cygnus DOT com Message-ID: <004701bf3179$cf3dc940$1638aec7@discordian> From: "Allan S Iverson" To: "Cygwin Mail List" Subject: Help compiling TCL 8.0.3 with GCC-2.95.2 Upgrade Date: Wed, 17 Nov 1999 22:03:00 -0600 MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_NextPart_000_0044_01BF3147.834D1810" X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 4.72.3612.1700 X-MimeOLE: Produced By Microsoft MimeOLE V4.72.3612.1700 ------=_NextPart_000_0044_01BF3147.834D1810 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable I am trying to compile TCL 8.0.4 using Cygwin b20 with GCC-2.95.2 = downloaded from=20 www.xraylith.wisc.edu/~khan/software/gnu-win32/. I also downloaded a patch Tcl 8.0.4 diffs from Mumit Khan at the same = site and applied it. =20 I also had earlier downloaded and installed Munit's binary build for=20 Tcl/Tk 8.0.4, Tix, and BLT 2.4g for Cygwin b20 from the same web page. However I now need a complete source tree for another project that = depends on being able to access the tclusing more then just tclConfig.sh. =20 I then attempted to build tcl8.0.4 from the patched sources. Note: Complied with -U_WIN32 added to Makefile after running configure I think this is necessary otherwise generic/tclPort.h includes =20 "../win/tclWinPort.h" instead of "../unix/tclUnixPort.h" I received the following warnings and errors. The library appeared to build but is unusable because of the many = undefined references.=20 Been working on this with only a couple hours sleep in the last two days and could use some suggestions. Hope somebody can help. TIA Allan Iverson =20 ./../generic/tclCmdIL.c: In function `Tcl_LsearchObjCmd': ./../generic/tclCmdIL.c:2379: warning: passing arg 3 of `strncasecmp'=20 as unsigned due = to prototype // Probably OK ./../generic/tclEnv.c: In function `TclCygwin32Putenv': ./../generic/tclEnv.c:779: warning: implicit declaration of function=20 = `SetEnvironmentVariable' // This is really a problem. `SetEnvironmentVariable' defined in=20 // Functions.h?? If I expressly include Functions.h all hell breaks=20 // loose because of -U_WIN32 ./../generic/tclEnv.c:799: warning: implicit declaration of function=20 = `cygwin32_posix_to_win32_path_list_buf_size' // This is really a problem. = 'cygwin32_posix_to_win32_path_list_buf_size'=20 // defined in cygwin.h ??/ I wouldn't even try to expressly include=20 // cygwin.h after seeing the problems above. ./../generic/tclEnv.c:800: warning: passing arg 1 of `alloca' as=20 unsigned due to = prototype // Probably OK ./../generic/tclEnv.c:801: warning: implicit declaration of function=20 = `cygwin32_posix_to_win32_path_list' // This is really a problem. 'cygwin32_posix_to_win32_path_list' = defined=20 // in cygwin.h ?? ./../generic/tclEnv.c: At top level: ./../generic/tclEnv.c:740: warning: `TclCygwin32Putenv' defined but not = used // This causes link problems later on ./../generic/tclIOSock.c: In function `TclSockGetPort': ./../generic/tclIOSock.c:48: warning: passing arg 1 of `__ntohs'=20 with different width = due to prototype // Why does Cygwin define __ntohs differently then POSIX ./../generic/tclProc.c: In function `TclCreateProc': ./../generic/tclProc.c:192: warning: `localPtr' might be used=20 uninitialized in this = function // This sound like a disaster waiting to happen ./tclUnixChan.c: In function `TcpGetOptionProc': ./tclUnixChan.c:1679: warning: passing arg 1 of `__ntohs'=20 with different width due to = prototype ./tclUnixChan.c:1722: warning: passing arg 1 of `__ntohs'=20 with different width due to = prototype // See above ./tclUnixChan.c: In function `CreateSocketAddress': ./tclUnixChan.c:2011: warning: passing arg 1 of `__ntohs'=20 with different width due to = prototype // See above ./tclUnixChan.c: In function `TcpAccept': ./tclUnixChan.c:2258: warning: passing arg 1 of `__ntohs'=20 with different width due to = prototype // See above ./tclUnixChan.c: At top level: ./tclUnixChan.c:760: warning: `TtyGetSpeed' defined but not used ./tclUnixChan.c:805: warning: `TtyGetBaud' defined but not used // Both probably ok but as I didn't get very far in the link // step who knows ./tclUnixFCmd.c: In function `TclpCopyFile': ./tclUnixFCmd.c:309: warning: implicit declaration of function `mknod' // This used to be a sub under Windows NT - Now I can't even find where = // is it defined Most Importantly what can I do about it ./tclUnixFCmd.c: In function `GetGroupAttribute': ./tclUnixFCmd.c:943: warning: passing arg 1 of `getgrgid'=20 with different width due to = prototype // I would think these might get through OK ./tclUnixFCmd.c: In function `GetOwnerAttribute': ./tclUnixFCmd.c:987: warning: passing arg 1 of `getpwuid'=20 with different width due to = prototype // I would think these might get through OK ./tclUnixFCmd.c: In function `GetPermissionsAttribute': ./tclUnixFCmd.c:1031: warning: long unsigned int format, mode_t arg (arg = 3) // I would think these my get through OK ./tclUnixFCmd.c: In function `SetGroupAttribute': ./tclUnixFCmd.c:1083: warning: passing arg 2 of `chown'=20 with different width due = to prototype ./tclUnixFCmd.c:1083: warning: negative integer=20 implicitly converted to = unsigned type =20 // I though -1 was OK to use as the second argument in chown ./tclUnixFCmd.c:1083: warning: passing arg 3 of `chown'=20 with different width due = to prototype // should be OK ./tclUnixFCmd.c: In function `SetOwnerAttribute': ./tclUnixFCmd.c:1138: warning: passing arg 2 of `chown' with=20 different width due to = prototype ./tclUnixFCmd.c:1138: warning: passing arg 3 of `chown'=20 with different width due = to prototype ./tclUnixFCmd.c:1138: warning: negative integer implicitly converted to = unsigned type // Same story different location ./tclUnixPipe.c: In function `TclpCreateProcess': ./tclUnixPipe.c:358: warning: implicit declaration of function `vfork' i586-cygwin32/lib/libcygwin.a(libccrt0.o)(.data+0x4):libccrt0.cc: = multiple=20 definition of=20 = `environ' i586-cygwin32/lib/libc.a(environ.o)(.data+0x4):environ.c: first defined = here i586-cygwin32/lib/libcygwin.a(libccrt0.o)(.data+0x0):libccrt0.cc: = multiple=20 definition of=20 = `_impure_ptr' i586-cygwin32/lib/libc.a(impure.o)(.data+0x2ec):impure.c: first defined = here // I Haven't a clue where these multiple definitions are coming from // I'm worried it might be because of the complier upgrade I did at the // startof all this /usr/tcl8.0.4/unix/libtcl8.0.a(tclEnv.o): In function = `TclCygwin32Putenv': /usr/tcl8.0.4/unix/./../generic/tclEnv.c:779: undefined reference to = `SetEnvironmentVariable' /usr/tcl8.0.4/unix/./../generic/tclEnv.c:783: undefined reference to = `SetEnvironmentVariable' /usr/tcl8.0.4/unix/./../generic/tclEnv.c:790: undefined reference to = `SetEnvironmentVariable' /usr/tcl8.0.4/unix/./../generic/tclEnv.c:804: undefined reference to = `SetEnvironmentVariable' /usr/tcl8.0.4/unix/libtcl8.0.a(tclUnixFCmd.o): In function = `TclpCopyFile': /usr/tcl8.0.4/unix/./tclUnixFCmd.c:315: undefined reference to `mkfifo' // What lib is `mkfifo' in obviously if got past the complier without = an =20 // implicit declaration so something must be missing from my lib path i586-cygwin32/lib/libc.a(execvp.o): In function `execvp': /home/noer/src/b20/comp-tools/devo/newlib/libc/posix/execvp.c:69: = undefined reference to `posix_path_list_p' collect2: ld returned 1 exit status make: *** [tclsh] Error 1 ------=_NextPart_000_0044_01BF3147.834D1810 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable
I am trying to compile TCL 8.0.4 = using Cygwin=20 b20 with GCC-2.95.2 downloaded from
www.xrayl= ith.wisc.edu/~khan/software/gnu-win32/.
 
I also downloaded a patch Tcl 8.0.4 = diffs from=20 Mumit Khan at the same site and
applied it. 
I also had = earlier=20 downloaded and installed Munit's binary build for
Tcl/Tk 8.0.4, Tix, = and BLT=20 2.4g for Cygwin b20 from the same web page.
However I now need a = complete=20 source tree for another project that depends
on being able to access = the=20 tclusing more then just tclConfig.sh.
 
I then attempted to = build=20 tcl8.0.4 from the patched sources.
Note: Complied with -U_WIN32 added = to=20 Makefile after running configure
I think this is necessary otherwise=20 generic/tclPort.h includes 
"../win/tclWinPort.h" = instead of=20 "../unix/tclUnixPort.h"
 
I received the following warnings = and=20 errors.
The library appeared to build but is unusable because of the = many=20 undefined
references.
 
Been working on this with only a = couple hours=20 sleep in the last
two days and could use some = suggestions.
 
Hope somebody can help.  TIA = Allan=20 Iverson
 

 
./../generic/tclCmdIL.c: In=20 function `Tcl_LsearchObjCmd':
./../generic/tclCmdIL.c:2379: warning: = passing=20 arg 3 of `strncasecmp'=20
           &nb= sp;           &nbs= p;            = ;            =       =20 as unsigned due to prototype
 // Probably OK
 
./../generic/tclEnv.c: In function=20 `TclCygwin32Putenv':
./../generic/tclEnv.c:779: warning: implicit = declaration=20 of function=20
           &nb= sp;           &nbs= p;            = ;            = =20 `SetEnvironmentVariable'
 
 // This is really a problem.=20 `SetEnvironmentVariable' defined in
 // Functions.h??  If = I=20 expressly include Functions.h all hell breaks
 // loose because = of=20 -U_WIN32
 
./../generic/tclEnv.c:799: warning: = implicit=20 declaration of function=20
           &nb= sp;           &nbs= p;            = ;            = =20 `cygwin32_posix_to_win32_path_list_buf_size'
 
 // This is really a problem.=20 'cygwin32_posix_to_win32_path_list_buf_size'
 // defined in = cygwin.h=20 ??/ I wouldn't even try to expressly include
 // cygwin.h after = seeing=20 the problems above.
 
./../generic/tclEnv.c:800: warning: = passing arg=20 1 of `alloca' as=20
           &nb= sp;           &nbs= p;            = ;            = =20 unsigned due to prototype
 
 // Probably OK
 
./../generic/tclEnv.c:801: warning: = implicit=20 declaration of function=20
           &nb= sp;           &nbs= p;            = ;            = =20 `cygwin32_posix_to_win32_path_list'
 
 // This is really a problem.=20 'cygwin32_posix_to_win32_path_list' defined
 // in cygwin.h=20 ??
 
./../generic/tclEnv.c: At top=20 level:
./../generic/tclEnv.c:740: warning: `TclCygwin32Putenv' = defined but=20 not used
 
 // This causes link problems = later=20 on
 
./../generic/tclIOSock.c: In = function=20 `TclSockGetPort':
./../generic/tclIOSock.c:48: warning: passing arg 1 = of=20 `__ntohs'=20
           &nb= sp;           &nbs= p;            = ;            =    =20 with different width due to prototype
 
 // Why does Cygwin define = __ntohs=20 differently then POSIX
 
./../generic/tclProc.c: In function=20 `TclCreateProc':
./../generic/tclProc.c:192: warning: `localPtr' = might be=20 used=20
           &nb= sp;           &nbs= p;            = ;            =   =20 uninitialized in this function
 
 // This sound like a disaster = waiting to=20 happen
 
./tclUnixChan.c: In function=20 `TcpGetOptionProc':
./tclUnixChan.c:1679: warning: passing arg 1 of = `__ntohs'=20
           &nb= sp;           &nbs= p;            = ;        =20 with different width due to prototype
./tclUnixChan.c:1722: warning: = passing=20 arg 1 of `__ntohs'=20
           &nb= sp;           &nbs= p;            = ;        =20 with different width due to prototype
 // See above
 
./tclUnixChan.c: In function=20 `CreateSocketAddress':
./tclUnixChan.c:2011: warning: passing arg 1 = of=20 `__ntohs'=20
           &nb= sp;           &nbs= p;            = ;        =20 with different width due to prototype
 // See above
 
./tclUnixChan.c: In function=20 `TcpAccept':
./tclUnixChan.c:2258: warning: passing arg 1 of = `__ntohs'=20
           &nb= sp;           &nbs= p;            = ;        =20 with different width due to prototype
 // See above
 
./tclUnixChan.c: At top=20 level:
./tclUnixChan.c:760: warning: `TtyGetSpeed' defined but not=20 used
./tclUnixChan.c:805: warning: `TtyGetBaud' defined but not=20 used
 
 // Both probably ok but as I = didn't get=20 very far in the link
 // step who knows
 
./tclUnixFCmd.c: In function=20 `TclpCopyFile':
./tclUnixFCmd.c:309: warning: implicit declaration of = function `mknod'
 
 // This used to be a sub under = Windows NT=20 - Now I can't even find where
 // is it defined  Most=20 Importantly  what can I do about it
 
./tclUnixFCmd.c: In function=20 `GetGroupAttribute':
./tclUnixFCmd.c:943: warning: passing arg 1 of=20 `getgrgid'=20
           &nb= sp;           &nbs= p;            = ;        =20 with different width due to prototype

 // I would think these = might get=20 through OK
 
./tclUnixFCmd.c: In function=20 `GetOwnerAttribute':
./tclUnixFCmd.c:987: warning: passing arg 1 of=20 `getpwuid'=20
           &nb= sp;           &nbs= p;            = ;       =20 with different width due to prototype

 // I would think these = might get=20 through OK
 
./tclUnixFCmd.c: In function=20 `GetPermissionsAttribute':
./tclUnixFCmd.c:1031: warning: long = unsigned int=20 format, mode_t arg (arg 3)

 // I would think these my = get through=20 OK
 
./tclUnixFCmd.c: In function=20 `SetGroupAttribute':
./tclUnixFCmd.c:1083: warning: passing arg 2 of = `chown'=20
           &nb= sp;           &nbs= p;            = ;         =20 with different width due to prototype
./tclUnixFCmd.c:1083: warning: = negative=20 integer=20
           &nb= sp;           &nbs= p;            = ;          =20 implicitly converted to unsigned type
 
 // I though -1 = was OK=20 to use as the second argument in chown
 
./tclUnixFCmd.c:1083: warning: = passing arg 3 of=20 `chown'=20
           &nb= sp;           &nbs= p;            = ;         =20 with different width due to prototype
 
 // should be OK
 
./tclUnixFCmd.c: In function=20 `SetOwnerAttribute':
./tclUnixFCmd.c:1138: warning: passing arg 2 of = `chown'=20 with=20
           &nb= sp;           &nbs= p;            = ;         =20 different width due to prototype
./tclUnixFCmd.c:1138: warning: = passing arg 3=20 of `chown'=20
           &nb= sp;           &nbs= p;            = ;          =20 with different width due to prototype
./tclUnixFCmd.c:1138: warning: = negative=20 integer implicitly converted to unsigned type

 // Same story different=20 location
 
./tclUnixPipe.c: In function=20 `TclpCreateProcess':
./tclUnixPipe.c:358: warning: implicit = declaration of=20 function `vfork'
 
i586-cygwin32/lib/libcygwin.a(libccrt0.o)(.data+0x4):libccrt0.cc= :=20 multiple=20
           &nb= sp;    =20 definition of=20
           &nb= sp;           &nbs= p;            = ;            =             &= nbsp;    =20 `environ'
i586-cygwin32/lib/libc.a(environ.o)(.data+0x4):environ.c: = first=20 defined here
 
i586-cygwin32/lib/libcygwin.a(libccrt0.o)(.data+0x0):libccrt0.cc= :=20 multiple=20
           &nb= sp;           =20 definition of=20
           &nb= sp;           &nbs= p;            = ;            =             &= nbsp;    =20 `_impure_ptr'
i586-cygwin32/lib/libc.a(impure.o)(.data+0x2ec):impure.c= : first=20 defined here
 
 // I Haven't a clue where = these multiple=20 definitions are coming from
 // I'm worried it might be because = of the=20 complier upgrade I did at the
 // startof all this
 
/usr/tcl8.0.4/unix/libtcl8.0.a(tclEnv.o): In=20 function = `TclCygwin32Putenv':
/usr/tcl8.0.4/unix/./../generic/tclEnv.c:779:=20 undefined reference to=20 `SetEnvironmentVariable'
/usr/tcl8.0.4/unix/./../generic/tclEnv.c:783:= =20 undefined reference to=20 `SetEnvironmentVariable'
/usr/tcl8.0.4/unix/./../generic/tclEnv.c:790:= =20 undefined reference to=20 `SetEnvironmentVariable'
/usr/tcl8.0.4/unix/./../generic/tclEnv.c:804:= =20 undefined reference to `SetEnvironmentVariable'
 
/usr/tcl8.0.4/unix/libtcl8.0.a(tclUnixFCmd.o):=20 In function `TclpCopyFile':
/usr/tcl8.0.4/unix/./tclUnixFCmd.c:315: = undefined=20 reference to `mkfifo'
 // What lib is `mkfifo'  in = obviously if got=20 past the complier without an 
 // implicit declaration so=20 something must be missing from my lib path
 
i586-cygwin32/lib/libc.a(execvp.o): = In function=20 `execvp':
/home/noer/src/b20/comp-tools/devo/newlib/libc/posix/execvp.= c:69:=20 undefined reference to `posix_path_list_p'
 
collect2: ld returned 1 exit = status
make: ***=20 [tclsh] Error 1
------=_NextPart_000_0044_01BF3147.834D1810--