[KinoSearch] Windows - Kinosearch
Marvin Humphrey
marvin at rectangular.com
Tue Sep 9 20:41:35 PDT 2008
On Sep 9, 2008, at 4:27 AM, Paul-Kenji Cahier wrote:
> With all those fixes it now builds perfectly.
> The tests still fail (of course).
Please try revision r3857. I can now get the test suite to pass on my
box using both Strawberry Perl and my custom-compiled MSVC perl.
(MacBook Pro running Windows Vista via VMWare Fusion).
> Another question I had was whether it's possible or not to give
> some specific compile options(-g for example with gcc?) without
> resorting to direct dirty editing.
I looked into it a bit. Such flags seem to exist. However, I don't
have a real interest in learning MSVC in-depth, and there aren't
likely to be that many memory problems left that affect only Windows
after the reasonably thorough Valgrind testing KS gets on a regular
basis.
It turned out that there were two memory-management problems. A const
object wasn't really const, which GCC tolerated but MSVC freaked out
over. And "free" turns out not to mean the system "free" when you
#include the Perl headers -- it's overridden. That caused the
mysterious "free to wrong pool" errors for objects which were
allocated in the core KS module code, but whose destroy methods
happened to be implemented in the bindings because they contain Perl
data structures (Doc and Tokenizer).
Both of those problems were fairly easy to isolate using debug prints
in a binary search pattern.
After that, there was a bunch of file handling stuff and miscellaneous
flotsam to clean up.
Marvin Humphrey
Rectangular Research
http://www.rectangular.com/
More information about the KinoSearch
mailing list