I was doing some testing of external modules last week and was having problems. At the time I chalked it up to being a corrupt build environment, but now I'm not so sure:
The problem is that installation of an external module happens only after a successful verification, and it appears that the verify target is broken when using pike -x module. It's possible that this has been broken for a long time in 7.8, as 7.8.352 also has the same problem.
Basically, in 7.6, verify called $(RUNPIKE), which was passed in by the external pike process. In 7.8 (specifically commit 385f54c91 by mast back in 2006 (!)), that's changed to $(FINAL_PIKE), which isn't, and it gets generated using the pike in the original build directory. I'm just not sure how to best fix the problem. Probably the best approach would be to modify pike -x module to also pass FINAL_PIKE with the same value.
Honestly, I don't know how this got past me for so long.
Any thoughts?
Bill
After thinking about this a bit more, I think it can wait till the following release: there are workarounds, and if it's been around as long as it looks, it's not been a problem until recently.
So, we're still on for a formal announcement. I'd like to get windows binaries in-hand before doing that, though.
Bill
On Aug 1, 2012, at 1:40 AM, H. William Welliver III wrote:
I was doing some testing of external modules last week and was having problems. At the time I chalked it up to being a corrupt build environment, but now I'm not so sure:
The problem is that installation of an external module happens only after a successful verification, and it appears that the verify target is broken when using pike -x module. It's possible that this has been broken for a long time in 7.8, as 7.8.352 also has the same problem.
Basically, in 7.6, verify called $(RUNPIKE), which was passed in by the external pike process. In 7.8 (specifically commit 385f54c91 by mast back in 2006 (!)), that's changed to $(FINAL_PIKE), which isn't, and it gets generated using the pike in the original build directory. I'm just not sure how to best fix the problem. Probably the best approach would be to modify pike -x module to also pass FINAL_PIKE with the same value.
Honestly, I don't know how this got past me for so long.
Any thoughts?
Bill
"H. William Welliver III" bill@welliver.org wrote:
So, we're still on for a formal announcement. I'd like to get windows binaries in-hand before doing that, though.
Unfortunately I'm on vacation and don't have access to my windows build setup. It can be a couple of weeks yet until I'm back. :\
Yea, about that:
#### Making static: modules/sybase #### Making static: modules/system Compiling modules/system/nt.c B:\dists\Pike-v7.8.696\src\modules\system\nt.c(4183) : error C2143: syntax error : missing ';' before 'type' B:\dists\Pike-v7.8.696\src\modules\system\nt.c(4187) : error C2065: '_' : undeclared identifier B:\dists\Pike-v7.8.696\src\modules\system\nt.c(4187) : error C2223: left of '->refs' must point to struct/union B:\dists\Pike-v7.8.696\src\modules\system\nt.c(4187) : error C2065: '_' : undeclared identifier B:\dists\Pike-v7.8.696\src\modules\system\nt.c(4187) : warning C4047: 'function' : 'program *' differs in levels of indirection from 'int' B:\dists\Pike-v7.8.696\src\modules\system\nt.c(4187) : warning C4024: 'really_free_program' : different types for formal and actual parameter 1 B:\dists\Pike-v7.8.696\src\modules\system\nt.c(4187) : error C2059: syntax error : 'while' B:\dists\Pike-v7.8.696\src\modules\system\nt.c(4188) : error C2040: 'token_program' : 'int' differs in levels of indirection from 'program *' B:\dists\Pike-v7.8.696\src\modules\system\nt.c(4189) : error C2059: syntax error : '}' B:\dists\Pike-v7.8.696\src\modules\system\nt.c(4195) : error C2059: syntax error : 'if' B:\dists\Pike-v7.8.696\src\modules\system\nt.c(4212) : error C2059: syntax error : 'if' B:\dists\Pike-v7.8.696\src\modules\system\nt.c(4231) : error C2059: syntax error : 'if' B:\dists\Pike-v7.8.696\src\modules\system\nt.c(4236) : error C2059: syntax error : 'if' B:\dists\Pike-v7.8.696\src\modules\system\nt.c(4250) : error C2059: syntax error : '}' CL returned error code 2. WARNING: Compiler failure! Trying without optimization! B:\dists\Pike-v7.8.696\src\modules\system\nt.c(4183) : error C2143: syntax error : missing ';' before 'type' B:\dists\Pike-v7.8.696\src\modules\system\nt.c(4187) : error C2065: '_' : undeclared identifier B:\dists\Pike-v7.8.696\src\modules\system\nt.c(4187) : error C2223: left of '->refs' must point to struct/union B:\dists\Pike-v7.8.696\src\modules\system\nt.c(4187) : error C2065: '_' : undeclared identifier B:\dists\Pike-v7.8.696\src\modules\system\nt.c(4187) : warning C4047: 'function' : 'program *' differs in levels of indirection from 'int' B:\dists\Pike-v7.8.696\src\modules\system\nt.c(4187) : warning C4024: 'really_free_program' : different types for formal and actual parameter 1 B:\dists\Pike-v7.8.696\src\modules\system\nt.c(4187) : error C2059: syntax error : 'while' B:\dists\Pike-v7.8.696\src\modules\system\nt.c(4188) : error C2040: 'token_program' : 'int' differs in levels of indirection from 'program *' B:\dists\Pike-v7.8.696\src\modules\system\nt.c(4189) : error C2059: syntax error : '}' B:\dists\Pike-v7.8.696\src\modules\system\nt.c(4195) : error C2059: syntax error : 'if' B:\dists\Pike-v7.8.696\src\modules\system\nt.c(4212) : error C2059: syntax error : 'if' B:\dists\Pike-v7.8.696\src\modules\system\nt.c(4231) : error C2059: syntax error : 'if' B:\dists\Pike-v7.8.696\src\modules\system\nt.c(4236) : error C2059: syntax error : 'if' B:\dists\Pike-v7.8.696\src\modules\system\nt.c(4250) : error C2059: syntax error : '}' CL returned error code 2. Compilation command was: /home/builder/dists/Pike-v7.8.696/bin/smartlink rntcl -I. -I/home/builder/dists/Pike-v7.8.696/src/modules/system -I/home/builder/dists/Pike-v7.8.696/build/windows_xp-5.1.2600-i386 -I/home/builder/dists/Pike-v7.8.696/src -Dpike_module_init=pike_module__system_init -Dpike_module_exit=pike_module__system_exit -I/home/builder/dists/Pike-v7.8.696/build/windows_xp-5.1.2600-i386/bundles/include -DHAVE_CONFIG_H -g -MD -c /home/builder/dists/Pike-v7.8.696/src/modules/system/nt.c -o nt.o make[6]: *** [nt.o] Error 2 make[5]: *** [all] Error 2 make[4]: *** [system] Error 1 make[3]: *** [static_module_objects] Error 1 make[2]: *** [module_objects] Error 2 make[1]: *** [_make_in_builddir] Error 2 make: *** [compile] Error 2
pike-devel@lists.lysator.liu.se