[OpenAFS-devel] OpenAFS 1-2.9-rc2 build with W2k, Visual Studio.net 7, Oct 2002 SDK
Shigeki Misawa
misawa@bnl.gov
Tue, 11 Feb 2003 13:43:59 -0500 (EST)
For what its worth, I have spent some time trying to compile
openafs-1.2.9-rc2 for Microsoft Windows 2000 with no success. Some of
the problems have been mentioned in previous messages in
openafs-devel, others have not.
System (Fresh install)
Microsoft Windows 2000
5.00.2195
Service Pack 3
Compiler: (Fresh install)
Visual Studio.Net 2002
Microsoft Development Environment 2002
Microsoft .NET Framework 1.0
SDK : (Fresh install)
Microsoft Platform SDK October 2002
DDK
Not Installed.
netmpr.h - not in any .h and .c files in OpenAFS source 1.2.9-rc2
netspi.h - in afslog95.c. We assume that it is not built in 1.2.9-rc2 on Windows 2000
npapi.h is shipped with Platform SDK, at least with October 2002 version
ntbuild.bat
set SYS_NAME=i386_nt40
set MSVCDIR="C:\Program Files\Microsoft Visual Studio .NET\Vb7"
NTMakefile.i386_nt40
AFSPRODUCT_VERSION=1.2.9rc2
CELLNAME_DEFAULT=openafs.org
CELLSERVDB_INSTALL=CellServDB.GrandCentral
CELLSERVDB_WEB=http://grand.central.org/dl/cellservdb/CellServDB
Compile time errors:
pioctl_nt.c
largeint.h in osi.h not found
- comment out include of largeint.h
largeint.h in osistatl.h not found
- comment out include of largeint.h
Some of the definitions in largeint.h have been put into winnt.h
Unknown if commenting out include is harmless or not.
viced.c
softsig.h cannot be found
- copied util/softsig.h to DEST/include
#elsif defined(AFS_NT40_ENV)
- should be #elif defined(AFS_NT40_ENV)
softsig.h issue in viced.c pops up again when creating the
fileserver.exe executable (see next entry)
fileserver.exe
_softsig_signal in _main
_softsig_init in _main
_osi_AssertFailU in _setThreadId
- Unresolved externals. ifndef out offending lines with
softsig_signal and softsig_int. In viced.c in function
ResetCheckSignal(void) use #ifndef AFS_NT40_ENV
just like in ResetCheckDescriptors(void) anc comment out the
whole signal/softsig_signal lines (i.e., surround
#if defined(AFS_PTHREAD_ENV with #ifndef AFS_NT40_ENV). In
main.c comment out softsig_init lines. In setThreadId comment
out everything surrounded by AFS_PTHREAD_ENV
At this point, things rapidly go down hill due to the non-existance of
the largeint.h include file. Problems start in client_osi, but exist
in other directories. largeint.h and the associated library
largeint.lib were apparently part of earlier Microsoft Platform SDK
versions but have been removed in later Platform SDK
versions. largeint.h was subsequently removed from compiler
distribution. (Present in Visual C++ 6.0 but removed in VC 7.0)
largeint.lib library is present in VC7.0, but this is apparently a
mistake on the part of Microsoft. It appears that future compilers
will not ship with largeint.lib
(See URL:http://groups.google.com/groups?q=largeint.h&hl=en&selm=epfeXXOYBHA.2060%40tkmsftngp07&rnum=1)
So far I have been unable to get workaround (copy files from older compiler
distribution) to work, but this is with minimal effort.
Shigeki Misawa
RHIC Computing Facility
Brookhaven National Laboratory
Upton, NY