From: blou on
Hi
I try to compile the tcl 8.5.8 version for x64
I am using Visual Studio 2008 SP1
Compiling on Windows 7 32bit

Here is the compilation log and errors

D:\Leap NextGen\VS2008\Dev Env\ExtLibraries\tcl858-src\tcl8.5.8\win>"C:
\Program
Files (x86)\Microsoft Visual Studio 9.0\VC\bin\amd64"\nmake -f
makefile.vc MACHI
NE=X64

Microsoft (R) Program Maintenance Utility Version 9.00.30729.01
Copyright (C) Microsoft Corporation. All rights reserved.

===============================================================================
*** Compiler has 'Optimizations'
*** Intermediate directory will be '.\Release_64_VC9\tcl_Dynamic'
*** Output directory will be '.\Release_X64_VC9'
*** Suffix for binaries will be ''
*** Optional defines are '-DTCL_CFGVAL_ENCODING=\"cp1252\" -
DSTDC_HEADERS -DTCL_
CFG_OPTIMIZED'
*** Compiler version 9. Target machine is X64
*** Compiler options '-W3 -Ot -Oi -fp:strict -Gs -GS -GL -RTC1 -W3'
*** Link options '-ltcg'
*** Dependency rules are not being used.

cl -nologo -c -W3 -W3 -D _CRT_SECURE_NO_DEPRECATE -D
_CRT_NONSTDC_NO_DEP
RECATE -Fp.\Release_64_VC9\tcl_Dynamic\ -O2 -Ot -Oi -fp:strict -Gs -
GS -GL -MD
-I"..\win" -I"..\generic" -I"..\libtommath" -DTCL_PIPE_DLL=
\"tclpip85.dll\" -DTC
L_TOMMATH -DMP_PREC=4 -Dinline=__inline -DTCL_CFGVAL_ENCODING=
\"cp1252\" -DSTDC_
HEADERS -DTCL_CFG_OPTIMIZED -DBUILD_tcl -Fo.\Release_64_VC9\tcl_Dynamic
\ @C:\Use
rs\ccbuild\AppData\Local\Temp\2\nmE852.tmp
tclCmdAH.c
...\generic\tclCmdAH.c(818) : error C2079: 'buf' uses undefined struct
'_stati64'

...\generic\tclCmdAH.c(868) : warning C4133: 'function' : incompatible
types - fr
om 'int *' to 'Tcl_StatBuf *'
...\generic\tclCmdAH.c(885) : error C2224: left of '.st_mtime' must
have struct/u
nion type
...\generic\tclCmdAH.c(887) : error C2224: left of '.st_atime' must
have struct/u
nion type
...\generic\tclCmdAH.c(905) : warning C4133: 'function' : incompatible
types - fr
om 'int *' to 'Tcl_StatBuf *'
...\generic\tclCmdAH.c(911) : error C2224: left of '.st_atime' must
have struct/u
nion type
...\generic\tclCmdAH.c(911) : error C2224: left of '.st_mtime' must
have struct/u
nion type
...\generic\tclCmdAH.c(911) : fatal error C1903: unable to recover from
previous
error(s); stopping compilation
tclEncoding.c
...\generic\tclEncoding.c(1131) : warning C4267: '=' : conversion from
'size_t' t
o 'int', possible loss of data
...\generic\tclEncoding.c(1140) : warning C4244: '=' : conversion from
'__int64'
to 'int', possible loss of data
...\generic\tclEncoding.c(1219) : warning C4267: '=' : conversion from
'size_t' t
o 'int', possible loss of data
...\generic\tclEncoding.c(1298) : warning C4267: '=' : conversion from
'size_t' t
o 'int', possible loss of data
...\generic\tclEncoding.c(1305) : warning C4244: '=' : conversion from
'__int64'
to 'int', possible loss of data
...\generic\tclEncoding.c(1387) : warning C4267: '=' : conversion from
'size_t' t
o 'int', possible loss of data
...\generic\tclEncoding.c(1979) : warning C4267: '=' : conversion from
'size_t' t
o 'unsigned int', possible loss of data
...\generic\tclEncoding.c(2005) : warning C4267: '=' : conversion from
'size_t' t
o 'unsigned int', possible loss of data
...\generic\tclEncoding.c(2007) : warning C4267: '=' : conversion from
'size_t' t
o 'unsigned int', possible loss of data
...\generic\tclEncoding.c(2260) : warning C4244: 'function' :
conversion from '__
int64' to 'int', possible loss of data
...\generic\tclEncoding.c(2288) : warning C4244: 'function' :
conversion from '__
int64' to 'int', possible loss of data
...\generic\tclEncoding.c(2304) : warning C4244: '=' : conversion from
'__int64'
to 'int', possible loss of data
...\generic\tclEncoding.c(2305) : warning C4244: '=' : conversion from
'__int64'
to 'int', possible loss of data
...\generic\tclEncoding.c(2389) : warning C4244: '=' : conversion from
'__int64'
to 'int', possible loss of data
...\generic\tclEncoding.c(2390) : warning C4244: '=' : conversion from
'__int64'
to 'int', possible loss of data
...\generic\tclEncoding.c(2455) : warning C4244: 'function' :
conversion from '__
int64' to 'int', possible loss of data
...\generic\tclEncoding.c(2482) : warning C4244: '=' : conversion from
'__int64'
to 'int', possible loss of data
...\generic\tclEncoding.c(2483) : warning C4244: '=' : conversion from
'__int64'
to 'int', possible loss of data
...\generic\tclEncoding.c(2591) : warning C4244: '=' : conversion from
'__int64'
to 'int', possible loss of data
...\generic\tclEncoding.c(2592) : warning C4244: '=' : conversion from
'__int64'
to 'int', possible loss of data
...\generic\tclEncoding.c(2666) : warning C4244: 'function' :
conversion from '__
int64' to 'int', possible loss of data
...\generic\tclEncoding.c(2715) : warning C4244: '=' : conversion from
'__int64'
to 'int', possible loss of data
...\generic\tclEncoding.c(2716) : warning C4244: '=' : conversion from
'__int64'
to 'int', possible loss of data
...\generic\tclEncoding.c(2794) : warning C4244: '=' : conversion from
'__int64'
to 'int', possible loss of data
...\generic\tclEncoding.c(2795) : warning C4244: '=' : conversion from
'__int64'
to 'int', possible loss of data
...\generic\tclEncoding.c(2863) : warning C4244: 'function' :
conversion from '__
int64' to 'int', possible loss of data
...\generic\tclEncoding.c(2899) : warning C4244: '=' : conversion from
'__int64'
to 'int', possible loss of data
...\generic\tclEncoding.c(2900) : warning C4244: '=' : conversion from
'__int64'
to 'int', possible loss of data
...\generic\tclEncoding.c(3029) : warning C4244: '=' : conversion from
'__int64'
to 'unsigned int', possible loss of data
...\generic\tclEncoding.c(3147) : warning C4244: '=' : conversion from
'__int64'
to 'int', possible loss of data
...\generic\tclEncoding.c(3148) : warning C4244: '=' : conversion from
'__int64'
to 'int', possible loss of data
...\generic\tclEncoding.c(3249) : warning C4244: 'function' :
conversion from '__
int64' to 'int', possible loss of data
...\generic\tclEncoding.c(3360) : warning C4244: '=' : conversion from
'__int64'
to 'int', possible loss of data
...\generic\tclEncoding.c(3361) : warning C4244: '=' : conversion from
'__int64'
to 'int', possible loss of data
...\generic\tclEncoding.c(3522) : error C2079: 'stat' uses undefined
struct '_sta
ti64'
...\generic\tclEncoding.c(3527) : warning C4133: 'function' :
incompatible types
- from 'int *' to 'Tcl_StatBuf *'
...\generic\tclEncoding.c(3527) : error C2224: left of '.st_mode' must
have struc
t/union type
tclFCmd.c
...\generic\tclFCmd.c(113) : error C2079: 'statBuf' uses undefined
struct '_stati
64'
...\generic\tclFCmd.c(147) : warning C4133: 'function' : incompatible
types - fro
m 'int *' to 'Tcl_StatBuf *'
...\generic\tclFCmd.c(147) : error C2224: left of '.st_mode' must have
struct/uni
on type
...\generic\tclFCmd.c(229) : error C2079: 'statBuf' uses undefined
struct '_stati
64'
...\generic\tclFCmd.c(256) : warning C4133: 'function' : incompatible
types - fro
m 'int *' to 'Tcl_StatBuf *'
...\generic\tclFCmd.c(257) : error C2224: left of '.st_mode' must have
struct/uni
on type
...\generic\tclFCmd.c(278) : warning C4133: 'function' : incompatible
types - fro
m 'int *' to 'Tcl_StatBuf *'
...\generic\tclFCmd.c(279) : error C2224: left of '.st_mode' must have
struct/uni
on type
...\generic\tclFCmd.c(365) : error C2079: 'statBuf' uses undefined
struct '_stati
64'
...\generic\tclFCmd.c(377) : warning C4133: 'function' : incompatible
types - fro
m 'int *' to 'Tcl_StatBuf *'
...\generic\tclFCmd.c(386) : error C2224: left of '.st_mode' must have
struct/uni
on type
...\generic\tclFCmd.c(489) : error C2079: 'sourceStatBuf' uses
undefined struct '
_stati64'
...\generic\tclFCmd.c(489) : error C2079: 'targetStatBuf' uses
undefined struct '
_stati64'
...\generic\tclFCmd.c(508) : warning C4133: 'function' : incompatible
types - fro
m 'int *' to 'Tcl_StatBuf *'
...\generic\tclFCmd.c(512) : warning C4133: 'function' : incompatible
types - fro
m 'int *' to 'Tcl_StatBuf *'
...\generic\tclFCmd.c(548) : error C2224: left of '.st_mode' must have
struct/uni
on type
...\generic\tclFCmd.c(549) : error C2224: left of '.st_mode' must have
struct/uni
on type
...\generic\tclFCmd.c(556) : error C2224: left of '.st_mode' must have
struct/uni
on type
...\generic\tclFCmd.c(557) : error C2224: left of '.st_mode' must have
struct/uni
on type
...\generic\tclFCmd.c(690) : error C2224: left of '.st_mode' must have
struct/uni
on type
...\generic\tclFCmd.c(760) : error C2224: left of '.st_mode' must have
struct/uni
on type
tclFileName.c
...\generic\tclFileName.c(395) : warning C4244: '=' : conversion from
'__int64' t
o 'int', possible loss of data
...\generic\tclFileName.c(424) : warning C4244: '=' : conversion from
'__int64' t
o 'int', possible loss of data
...\generic\tclFileName.c(438) : warning C4244: '=' : conversion from
'__int64' t
o 'int', possible loss of data
...\generic\tclFileName.c(665) : warning C4244: '=' : conversion from
'__int64' t
o 'int', possible loss of data
...\generic\tclFileName.c(734) : warning C4244: '=' : conversion from
'__int64' t
o 'int', possible loss of data
...\generic\tclFileName.c(885) : warning C4244: '=' : conversion from
'__int64' t
o 'int', possible loss of data
...\generic\tclFileName.c(920) : warning C4244: '=' : conversion from
'__int64' t
o 'int', possible loss of data
...\generic\tclFileName.c(1366) : warning C4244: 'function' :
conversion from '__
int64' to 'int', possible loss of data
...\generic\tclFileName.c(1367) : warning C4244: 'function' :
conversion from '__
int64' to 'int', possible loss of data
...\generic\tclFileName.c(1388) : warning C4244: 'function' :
conversion from '__
int64' to 'int', possible loss of data
...\generic\tclFileName.c(2270) : warning C4244: 'function' :
conversion from '__
int64' to 'int', possible loss of data
...\generic\tclFileName.c(2278) : warning C4244: 'function' :
conversion from '__
int64' to 'int', possible loss of data
...\generic\tclFileName.c(2416) : warning C4244: 'function' :
conversion from '__
int64' to 'int', possible loss of data
...\generic\tclFileName.c(2498) : warning C4244: 'function' :
conversion from '__
int64' to 'int', possible loss of data
...\generic\tclFileName.c(2500) : warning C4244: 'function' :
conversion from '__
int64' to 'int', possible loss of data
...\generic\tclFileName.c(2521) : warning C4244: 'function' :
conversion from '__
int64' to 'int', possible loss of data
...\generic\tclFileName.c(2553) : error C2027: use of undefined type
'_stati64'
d:\leap nextgen\vs2008\dev env\extlibraries\tcl858-src
\tcl8.5.8\generic\
tcl.h(372) : see declaration of '_stati64'
tclIOUtil.c
...\generic\tclIOUtil.c(68) : error C2079: 'buf' uses undefined struct
'_stati64'

...\generic\tclIOUtil.c(79) : warning C4133: 'function' : incompatible
types - fr
om 'int *' to 'Tcl_StatBuf *'
...\generic\tclIOUtil.c(98) : error C2224: left of '.st_ino' must have
struct/uni
on type
...\generic\tclIOUtil.c(99) : error C2224: left of '.st_size' must have
struct/un
ion type
...\generic\tclIOUtil.c(133) : error C2224: left of '.st_mode' must
have struct/u
nion type
...\generic\tclIOUtil.c(134) : error C2224: left of '.st_ino' must have
struct/un
ion type
...\generic\tclIOUtil.c(135) : error C2224: left of '.st_dev' must have
struct/un
ion type
...\generic\tclIOUtil.c(136) : error C2224: left of '.st_rdev' must
have struct/u
nion type
...\generic\tclIOUtil.c(137) : error C2224: left of '.st_nlink' must
have struct/
union type
...\generic\tclIOUtil.c(138) : error C2224: left of '.st_uid' must have
struct/un
ion type
...\generic\tclIOUtil.c(139) : error C2224: left of '.st_gid' must have
struct/un
ion type
...\generic\tclIOUtil.c(140) : error C2224: left of '.st_size' must
have struct/u
nion type
...\generic\tclIOUtil.c(141) : error C2224: left of '.st_atime' must
have struct/
union type
...\generic\tclIOUtil.c(142) : error C2224: left of '.st_mtime' must
have struct/
union type
...\generic\tclIOUtil.c(143) : error C2224: left of '.st_ctime' must
have struct/
union type
...\generic\tclIOUtil.c(1748) : error C2079: 'statBuf' uses undefined
struct '_st
ati64'
...\generic\tclIOUtil.c(1759) : warning C4133: 'function' :
incompatible types -
from 'int *' to 'Tcl_StatBuf *'
...\generic\tclIOUtil.c(2886) : error C2079: 'buf' uses undefined
struct '_stati6
4'
...\generic\tclIOUtil.c(2895) : warning C4133: 'function' :
incompatible types -
from 'int *' to 'Tcl_StatBuf *'
...\generic\tclIOUtil.c(2895) : error C2224: left of '.st_mode' must
have struct/
union type
...\generic\tclIOUtil.c(3783) : warning C4244: '=' : conversion from
'__int64' to
'int', possible loss of data
...\generic\tclIOUtil.c(4130) : error C2079: 'sourceStatBuf' uses
undefined struc
t '_stati64'
...\generic\tclIOUtil.c(4171) : warning C4133: 'function' :
incompatible types -
from 'int *' to 'Tcl_StatBuf *'
...\generic\tclIOUtil.c(4172) : error C2224: left of '.st_atime' must
have struct
/union type
...\generic\tclIOUtil.c(4173) : error C2224: left of '.st_mtime' must
have struct
/union type
NMAKE : fatal error U1077: '"c:\Program Files (x86)\Microsoft Visual
Studio 9.0\
VC\BIN\amd64\cl.EXE"' : return code '0x2'
Stop.

D:\Leap NextGen\VS2008\Dev Env\ExtLibraries\tcl858-src\tcl8.5.8\win>
From: Pat Thoyts on
blou <koren.henrik(a)gmail.com> writes:

>Hi
>I try to compile the tcl 8.5.8 version for x64
>I am using Visual Studio 2008 SP1
>Compiling on Windows 7 32bit
>
>Here is the compilation log and errors
>..\generic\tclCmdAH.c(818) : error C2079: 'buf' uses undefined struct
>'_stati64'


There is a bug in this at sourceforge. It's a nightmare curtesy of
some strange decisions by microsoft in changing the type of 'static
struct' between different versions of their compilers.

Compiling using the x64 compiler included with the platform SDK for
Server 2003 (which is VS2005 equivalent) will work at the moment.

--
Pat Thoyts http://www.patthoyts.tk/
To reply, rot13 the return address or read the X-Address header.
PGP fingerprint 2C 6E 98 07 2C 59 C8 97 10 CE 11 E6 04 E0 B9 DD