I'm in the middle of building Pike 7.9 on windows and am running into a
few problems getting CritBit to compile. I've only spent a few minutes
looking into the problems, but thought I should report them here, in case
anyone has insight into how they should be resolved:
1. Windows doesn't have stdint.h; depending on how heavily CritBit relies
on this header, it may be possible to use a substitute file from the
following project (it at least shuts the compiler up):
http://code.google.com/p/msinttypes/
2. There seems to be some sort of problem with the generated C code from
the new template based CMOD. The .c file was generated by 7.9.5 running on
my Darwin system, so it just seems like the MS C compiler (CL.EXE) doesn't
like something. I suspect it has something to do with lines like the
following:
# 1 "src/post_modules/CritBit/inttree.cmod"
I've included the error below. Do let me know if I can provide any
additional details.
Best,
Bill
Compiling post_modules/CritBit/inttree.c
src/post_modules/CritBit/inttree.cmod(1) : error C2019: expected
preprocessor directive, found '1'
src/post_modules/CritBit/inttree.cmod(1) : error C2019: expected
preprocessor directive, found '2'
/usr/local/pike/7.9.5/lib/modules/Tools.pmod/Standalone.pmod/precompile.pike(2739)
: error C2019: expected preprocessor directive, found '1'
z:\pike-git\src\post_modules\critbit\tree_low.c(185) : warning C4028:
formal parameter 2 different from declaration
z:\pike-git\src\post_modules\critbit\tree_low.c(365) : warning C4028:
formal parameter 1 different from declaration
z:\pike-git\src\post_modules\critbit\tree_high.c(46) : warning C4028:
formal parameter 2 different from declaration
src/post_modules/CritBit/inttree.cmod(39) : error C2019: expected
preprocessor directive, found '1'
/Users/hww3/pike-git/src/post_modules/CritBit/redefine.H(54) : error
C2010: '.' : unexpected in macro formal parameter list
/Users/hww3/pike-git/src/post_modules/CritBit/redefine.H(61) : error
C2019: expected preprocessor directive, found '3'
src/post_modules/CritBit/inttree.cmod(41) : error C2019: expected
preprocessor directive, found '1'
/Users/hww3/pike-git/src/post_modules/CritBit/tree_header.H(141) : error
C2019: expected preprocessor directive, found '4'
src/post_modules/CritBit/inttree.cmod(42) : error C2019: expected
preprocessor directive, found '1'
/Users/hww3/pike-git/src/post_modules/CritBit/iterator_source.H(249) :
error C2019: expected preprocessor directive, found '4'
src/post_modules/CritBit/inttree.cmod(45) : error C2019: expected
preprocessor directive, found '1'
/Users/hww3/pike-git/src/post_modules/CritBit/tree_source.H(689) : error
C2019: expected preprocessor directive, found '4'
src/post_modules/CritBit/inttree.cmod(128) : error C2019: expected
preprocessor directive, found '1'
/Users/hww3/pike-git/src/post_modules/CritBit/redefine.H(61) : error
C2019: expected preprocessor directive, found '1'
src/post_modules/CritBit/inttree.cmod(130) : error C2019: expected
preprocessor directive, found '1'
/Users/hww3/pike-git/src/post_modules/CritBit/tree_header.H(141) : error
C2019: expected preprocessor directive, found '1'
src/post_modules/CritBit/inttree.cmod(131) : error C2019: expected
preprocessor directive, found '1'
/Users/hww3/pike-git/src/post_modules/CritBit/iterator_source.H(249) :
error C2019: expected preprocessor directive, found '1'
src/post_modules/CritBit/inttree.cmod(134) : error C2019: expected
preprocessor directive, found '1'
/Users/hww3/pike-git/src/post_modules/CritBit/prefix.H(13) : error C2019:
expected preprocessor directive, found '1'
src/post_modules/CritBit/inttree.cmod(135) : error C2019: expected
preprocessor directive, found '1'
/Users/hww3/pike-git/src/post_modules/CritBit/tree_source.H(689) : error
C2019: expected preprocessor directive, found '1'
CL returned error code 2.
WARNING: Compiler failure! Trying without optimization!
src/post_modules/CritBit/inttree.cmod(1) : error C2019: expected
preprocessor directive, found '1'
src/post_modules/CritBit/inttree.cmod(1) : error C2019: expected
preprocessor directive, found '2'
/usr/local/pike/7.9.5/lib/modules/Tools.pmod/Standalone.pmod/precompile.pike(2739)
: error C2019: expected preprocessor directive, found '1'
z:\pike-git\src\post_modules\critbit\tree_low.c(185) : warning C4028:
formal parameter 2 different from declaration
z:\pike-git\src\post_modules\critbit\tree_low.c(365) : warning C4028:
formal parameter 1 different from declaration
z:\pike-git\src\post_modules\critbit\tree_high.c(46) : warning C4028:
formal parameter 2 different from declaration
src/post_modules/CritBit/inttree.cmod(39) : error C2019: expected
preprocessor directive, found '1'
/Users/hww3/pike-git/src/post_modules/CritBit/redefine.H(54) : error
C2010: '.' : unexpected in macro formal parameter list
/Users/hww3/pike-git/src/post_modules/CritBit/redefine.H(61) : error
C2019: expected preprocessor directive, found '3'
src/post_modules/CritBit/inttree.cmod(41) : error C2019: expected
preprocessor directive, found '1'
/Users/hww3/pike-git/src/post_modules/CritBit/tree_header.H(141) : error
C2019: expected preprocessor directive, found '4'
src/post_modules/CritBit/inttree.cmod(42) : error C2019: expected
preprocessor directive, found '1'
/Users/hww3/pike-git/src/post_modules/CritBit/iterator_source.H(249) :
error C2019: expected preprocessor directive, found '4'
src/post_modules/CritBit/inttree.cmod(45) : error C2019: expected
preprocessor directive, found '1'
/Users/hww3/pike-git/src/post_modules/CritBit/tree_source.H(689) : error
C2019: expected preprocessor directive, found '4'
src/post_modules/CritBit/inttree.cmod(128) : error C2019: expected
preprocessor directive, found '1'
/Users/hww3/pike-git/src/post_modules/CritBit/redefine.H(61) : error
C2019: expected preprocessor directive, found '1'
src/post_modules/CritBit/inttree.cmod(130) : error C2019: expected
preprocessor directive, found '1'
/Users/hww3/pike-git/src/post_modules/CritBit/tree_header.H(141) : error
C2019: expected preprocessor directive, found '1'
src/post_modules/CritBit/inttree.cmod(131) : error C2019: expected
preprocessor directive, found '1'
/Users/hww3/pike-git/src/post_modules/CritBit/iterator_source.H(249) :
error C2019: expected preprocessor directive, found '1'
src/post_modules/CritBit/inttree.cmod(134) : error C2019: expected
preprocessor directive, found '1'
/Users/hww3/pike-git/src/post_modules/CritBit/prefix.H(13) : error C2019:
expected preprocessor directive, found '1'
src/post_modules/CritBit/inttree.cmod(135) : error C2019: expected
preprocessor directive, found '1'
/Users/hww3/pike-git/src/post_modules/CritBit/tree_source.H(689) : error
C2019: expected preprocessor directive, found '1'
CL returned error code 2.
Compilation command was:
/Users/hww3/pike-git/bin/smartlink rntcl -I.
-I/Users/hww3/pike-git/src/post_modules/CritBit
-I/Users/hww3/pike-git/build/windows_xp-5.1.2600-i686
-I/Users/hww3/pike-git/src -IZ:/win32libs/include
-I/Users/hww3/pike-git/build/windows_xp-5.1.2600-i686/bundles/include
-DHAVE_CONFIG_H -g -MD -DDYNAMIC_MODULE -c
/Users/hww3/pike-git/src/post_modules/CritBit/inttree.c -o inttree.o