I've gotten Pike to compile nominally under Windows using the Visual C++ toolkit. The problem I'm dealing with now is that some of the dynamic modules fail to load:
C:/msys/1.0/home/e10401/pike-7.7.21/build/mingw32_nt-5.1-1.0.10_0.46_3_2_-i686/lib/modules/Gmp.so:-: Warning: Failed to load library: Symbol '_hook_in_int64_funcs' not found.
I compiled with DLDEBUG and DLVERBOSE, and that output is here:
http://hww3.riverweb.com/dist/pikeWinBuildLoadError.txt
From what I can tell, hook_in_int64_funcs is defined in the pike
binary. Any suggestions?
Bill
No, it appears that the newest versions of CL.EXE and LINK.EXE don't support COFF debug information.
Does that mean this approach is dead in the water?
On Nov 30, 2005, at 4:25 AM, Henrik Grubbström (Lysator) @ Pike (-) developers forum wrote:
Hmm... Does your pike.exe have a COFF symbol table?
In that case you could try enabling dlopen's support for pdb files (USE_PDB_SYMBOLS).
That seems to work better, though it seems that I have to use DLL rather than static libs (i haven't gotten past loading Gmp, so I can't be sure, though). When using static libs, pike complains about not being able to load symbols which are present in the static library that's linked.
pike seems to load the module compiled against the dll, but bails with an error:
The instruction at "0x0048e8c0" referenced memory at "0x570e1c15". The memory could not be "written".
I assume this is the windows equivalent of of a segfault, though hitting cancel to debug doesn't do anything.
Any thoughts?
Bill
On Wed, 30 Nov 2005, Henrik Grubbstr�m (Lysator) @ Pike (-) developers forum wrote:
In that case you could try enabling dlopen's support for pdb files (USE_PDB_SYMBOLS).
pike-devel@lists.lysator.liu.se