Mailing List Archive

Win32 ActiveState Perl or Cygwin?
I am still unable to get KinoSearch to run my Windows XP system - any
further suggestions accepted, including "Don't run on Windows".

-------------- Problem 1 --------------
I gave the PPD from uwinnpeg.ca a try (thanks Randy Kobes!)

It appears to download, unpack, and generate the HTML ok:
C:\dev\KinoSearch\KinoSearch-0.161--> ppm install
http://theoryx5.uwinnipeg.ca/ppms/KinoSearch.ppd
Downloading KinoSearch-0.161...done
Unpacking KinoSearch-0.161...done
Generating HTML for KinoSearch-0.161...done
Updating files in site area...done
181 files installed

When I go to use the KinoSearch in a minimalistic program:
#!/usr/bin/perl
use strict;
use warnings;
# use File::Spec;
use KinoSearch::InvIndexer;
# use KinoSearch::Analysis::PolyAnalyzer;
__END__
### In order for invindexer.plx to work correctly, you must modify
...snip...

I get a Win32 dialog box containing:
Perl.exe - Entry Point Not found
The procedure entry point Perl_sv_2uv_flags could not be located
in the dynamic link library perl58.dll
With the following from the perl command line:
C:\dev\KinoSearch\Tutorial--> perl TestInvIndexer.pl
Can't load 'C:/Perl/site/lib/auto/KinoSearch/KinoSearch.dll' for module
KinoSearch: load_file:The specified procedure could not be found
at C:/Perl/lib/XSLoader.pm line 70.
at C:/Perl/site/lib/KinoSearch.pm line 14
Compilation failed in require at
C:/Perl/site/lib/KinoSearch/Util/ToolSet.pm line 23.
BEGIN failed--compilation aborted at
C:/Perl/site/lib/KinoSearch/Util/ToolSet.pm line 23.
Compilation failed in require at C:/Perl/site/lib/KinoSearch/InvIndexer.pm
line 4.
BEGIN failed--compilation aborted at
C:/Perl/site/lib/KinoSearch/InvIndexer.pm line 4.
Compilation failed in require at TestInvIndexer.pl line 6.
BEGIN failed--compilation aborted at TestInvIndexer.pl line 6.

I am on Windows XP SP2 using ActiveState 5.8.8 and also have cygwin perl
(currently disabled via /bin path rename).

-------------- Problem 2 --------------
I have also tried the KinoSearch-0.161.tar.gz distribution using the
CamelPack software recommended by Henka - thanks Henry - this is a great
package - I look forward to exploring its capabilities more in depth once I
can complete my primary task.

I execute the "perl Build.PL" successfully:
C:\dev\KinoSearch\KinoSearch-0.161--> perl Build.PL
Writing src\KinoSearchStoreOutStream.c
Writing src\KinoSearchSearchSimilarity.c
Writing src\KinoSearchUtilPriorityQueue.c
...snip...
Writing src\KinoSearchAnalysisStopalizer.c
Writing typemap
Set up gcc environment - 3.4.2 (mingw-special)
Checking whether your kit is complete...
Looks good
Creating new 'Build' script for 'KinoSearch' version '0.161'

When I try the "perl Build" procedure I get:
C:\dev\KinoSearch\KinoSearch-0.161--> perl Build
Set up gcc environment - 3.4.2 (mingw-special)
Set up gcc environment - 3.4.2 (mingw-special)
gcc -c -I"src" -DNDEBUG -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT
-DNO_HASH_SEED -DUSE_SITECUSTOMIZE -DPERL_IMPLI
CIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -DPERL_MSVCRT_READFIX
-DHASATTRIBUTE -fno-strict-aliasing -O2 -I"C:\Perl\li
b\CORE" -I"\include" -o "src\KinoSearchAnalysisStopalizer.obj"
"src\KinoSearchAnalysisStopalizer.c"
gcc -c "-Isrc" -DNDEBUG -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT
-DNO_HASH_SEED -DUSE_SITECUSTOMIZE -DPERL_IMPLI
CIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -DPERL_MSVCRT_READFIX
-DHASATTRIBUTE -fno-strict-aliasing -O2 -I"C:\Perl\li
DUSE_SITECUSTOMIZE -DPERL_IMPLI
CIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -DPERL_MSVCRT_READFIX
-DHASATTRIBUTE -fno-strict-aliasing -O2 -I"C:\Perl\li
b\CORE" -I"\include" -o "src\KinoSearchUtilVerifyArgs.obj"
"src\KinoSearchUtilVerifyArgs.c"
lib\KinoSearch\Index\MultiReader.pm ->
blib\lib\KinoSearch\Index\MultiReader.pm
lib\KinoSearch\Index\SegTermDocs.pm ->
blib\lib\KinoSearch\Index\SegTermDocs.pm
lib\KinoSearch\Index\Term.pm -> blib\lib\KinoSearch\Index\Term.pm
lib\KinoSearch\Index\FieldsWriter.pm ->
blib\lib\KinoSearch\Index\FieldsWriter.pm
...snip...
lib\KinoSearch\Search\Searchable.pm ->
blib\lib\KinoSearch\Search\Searchable.pm
KinoSearch.xs -> lib\KinoSearch.xs
lib\KinoSearch.xs -> lib\KinoSearch.c
gcc -c "-Isrc" -DNDEBUG -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT
-DNO_HASH_SEED -DUSE_SITECUSTOMIZE -DPERL_IMPLI
CIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -DPERL_MSVCRT_READFIX
-DHASATTRIBUTE -fno-strict-aliasing -O2 -I"C:\Perl\li
b\CORE" -I"\include" -o "lib\KinoSearch.obj" "lib\KinoSearch.c"
ExtUtils::Mkbootstrap::Mkbootstrap('lib\KinoSearch')
ExtUtils::Mksymlists::Mksymlists('lib\KinoSearch')
Generating script 'lib\KinoSearch.lds'
dlltool --def "lib\KinoSearch.def" --output-exp
"blib\arch\auto\KinoSearch\KinoSearch.exp"
g++ -o "blib\arch\auto\KinoSearch\KinoSearch.dll"
-Wl,--base-file,"lib\KinoSearch.base" -Wl,--image-base,0x180c0000 -mdl
l -LC:\Perl\lib\CORE "lib\KinoSearch.lds"
"blib\arch\auto\KinoSearch\KinoSearch.exp"
dlltool --def "lib\KinoSearch.def" --output-exp
"blib\arch\auto\KinoSearch\KinoSearch.exp" --base-file "lib\KinoSearch.b
ase"
g++ -o "blib\arch\auto\KinoSearch\KinoSearch.dll"
-Wl,--image-base,0x180c0000 -mdll -LC:\Perl\lib\CORE "lib\KinoSearch.l
ds" "blib\arch\auto\KinoSearch\KinoSearch.exp"
lib\KinoSearch\Docs\Tutorial.pod -> blib\lib\KinoSearch\Docs\Tutorial.pod
lib\KinoSearch\Docs\FileFormat.pod ->
blib\lib\KinoSearch\Docs\FileFormat.pod
lib\KinoSearch\Docs\DevGuide.pod -> blib\lib\KinoSearch\Docs\DevGuide.pod
Manifying blib\lib/KinoSearch/Search/BooleanScorer.pm ->
blib\libdoc\KinoSearch.Search.BooleanScorer.3
Manifying blib\lib/KinoSearch/Analysis/Token.pm ->
blib\libdoc\KinoSearch.Analysis.Token.3
...snip...
Manifying blib\lib/KinoSearch/Search/QueryFilter.pm ->
blib\libdoc\KinoSearch.Search.QueryFilter.3
Manifying blib\lib/KinoSearch/Index/FieldsWriter.pm ->
blib\libdoc\KinoSearch.Index.FieldsWriter.3
No 'file' or 'fh' parameter given at
C:/Perl/site/lib/Module/Build/PodParser.pm line 24.


Running the 'test' and 'install' yield the following:
C:\dev\KinoSearch\KinoSearch-0.161--> perl Build test
Set up gcc environment - 3.4.2 (mingw-special)
Set up gcc environment - 3.4.2 (mingw-special)
t\000-load....................ok
t\001-build_invindexes........ok
t\002-kinosearch..............ok
t\010-verify_args.............ok
t\011-class...................ok
t\012-priority_queue..........ok
t\013-bit_vector..............ok
t\015-sort_external...........ok
t\101-simple_template_io......ok
t\102-strings_template_io.....ok
t\103-repeats_template_io.....ok
t\104-parse_template_io.......ok
t\105-invindex................ok
t\106-locking.................skipped
all skipped: fork on Windows not supported by KS
t\150-polyanalyzer............ok
t\152-token_batch.............ok
t\153-lc_normalizer...........ok
t\154-tokenizer...............ok
t\155-stopalizer..............ok
t\201-field_infos.............ok
t\202-term....................ok
t\203-compound_file_reader....ok
t\204-fields_reader...........ok
t\205-seg_reader..............ok
t\206-seg_infos...............ok
t\207-seg_term_enum...........ok
t\208-terminfo................ok
t\209-term_infos_reader.......ok
t\210-deldocs.................ok
t\211-seg_term_docs...........ok
t\212-multi_term_docs.........ok
t\213-segment_merging.........ok
t\214-spec_field..............ok
t\302-many_fields.............ok
t\303-highlighter.............ok
t\501-termquery...............ok
t\502-phrasequery.............ok
t\503-booleanquery............ok
t\504-similarity..............ok
t\505-hit_queue...............ok
t\506-hit_collector...........ok
t\507-query_filter............ok
t\508-hits....................ok
t\509-multi_searcher..........ok
t\510-remote_search...........skipped
all skipped: fork on Windows not supported by KS
t\601-queryparser.............ok
t\602-boosts..................ok
t\603-query_boosts............ok
t\604-simple_search...........ok
t\701-uscon...................ok
t\999-remove_invindexes.......ok
t\pod-coverage................skipped
all skipped: Test::Pod::Coverage 1.04 required for testing POD
coverage
t\pod.........................ok
All tests successful, 3 tests skipped.
Files=53, Tests=741, 24 wallclock secs ( 0.00 cusr + 0.00 csys = 0.00 CPU)

C:\dev\KinoSearch\KinoSearch-0.161--> perl Build install
Set up gcc environment - 3.4.2 (mingw-special)
Set up gcc environment - 3.4.2 (mingw-special)
No 'file' or 'fh' parameter given at
C:/Perl/site/lib/Module/Build/PodParser.pm line 24.

------------------------------------------------------------------

Sorry for the extra-long posting. I *REALLY* want to get this running - just
because it seems like a great package and a solution for a project I've had
on my list for several months.

TIA...roger



_______________________________________________
KinoSearch mailing list
KinoSearch@rectangular.com
http://www.rectangular.com/mailman/listinfo/kinosearch
Re: Win32 ActiveState Perl or Cygwin? [ In reply to ]
roger wrote on 10/14/07 7:25 PM:
> I am still unable to get KinoSearch to run my Windows XP system - any
> further suggestions accepted, including "Don't run on Windows".

Strawberry Perl?

--
Peter Karman . http://peknet.com/ . peter@peknet.com

_______________________________________________
KinoSearch mailing list
KinoSearch@rectangular.com
http://www.rectangular.com/mailman/listinfo/kinosearch
Re: Win32 ActiveState Perl or Cygwin? [ In reply to ]
On Oct 14, 2007, at 5:25 PM, roger wrote:

> I get a Win32 dialog box containing:
> Perl.exe - Entry Point Not found
> The procedure entry point Perl_sv_2uv_flags could not be located
> in the dynamic link library perl58.dll

It's strange that it would be looking for the symbol
Perl_sv_2uv_flags. That symbol is not in Perl's C code until 5.9.
It's not used directly by KS anywhere I can see -- KS uses the macros
SvUV and such, which eventually result in calls to Perl_sv_2uv_flags
under 5.9 and later, but are defined differently in 5.8.

This won't be easy for me to troubleshoot right now, because I don't
have a functioning Windows box with developer tools on it at my
disposal. It's possible that a simple error was made when producing
the PPM, especially since the PPM for 0.15 is known to work and the
changes between KS 0.15 and 0.161 are not very substantial:

http://search.cpan.org/diff?from=KinoSearch-0.15&to=KinoSearch-0.161

> I am on Windows XP SP2 using ActiveState 5.8.8 and also have cygwin
> perl
> (currently disabled via /bin path rename).

I wonder, however, if having those two Perls on the same box has
something to do with it.

What happens under cygwin?

> -------------- Problem 2 --------------
> I have also tried the KinoSearch-0.161.tar.gz distribution using the
> CamelPack software recommended by Henka

> t\pod.........................ok
> All tests successful, 3 tests skipped.
> Files=53, Tests=741, 24 wallclock secs ( 0.00 cusr + 0.00 csys =
> 0.00 CPU)
>
> C:\dev\KinoSearch\KinoSearch-0.161--> perl Build install
> Set up gcc environment - 3.4.2 (mingw-special)
> Set up gcc environment - 3.4.2 (mingw-special)
> No 'file' or 'fh' parameter given at
> C:/Perl/site/lib/Module/Build/PodParser.pm line 24.

So KinoSearch passed all its tests under Camelpack, but something
went screwy with Module::Build::PodParser? Maybe try upgrading
Module::Build and whatever Module::Build::PodParser depends on.

Marvin Humphrey
Rectangular Research
http://www.rectangular.com/



_______________________________________________
KinoSearch mailing list
KinoSearch@rectangular.com
http://www.rectangular.com/mailman/listinfo/kinosearch
Re: Win32 ActiveState Perl or Cygwin? [ In reply to ]
On Oct 14, 2007, at 6:28 PM, Peter Karman wrote:

> Strawberry Perl?

That ought to work, too.

On CPAN testers, KS 0.161 has 43 passes and 3 failures. 2 of the
failures are on Solaris, and I suspect they are due to an alignment
problem (casting an I32 in the middle of a string of char), which is
gone in the devel branch. The other failure is on MSWin32, but if
you look at the output, you see that all the tests were passed save 1
and the problem looks to be a permissions failure due to poor test
design. There's a pass on Cygwin.

Since 0.12, KS has been written in something reasonably close to ANSI
C, and has been reasonably portable as a result.

Marvin Humphrey
Rectangular Research
http://www.rectangular.com/



_______________________________________________
KinoSearch mailing list
KinoSearch@rectangular.com
http://www.rectangular.com/mailman/listinfo/kinosearch
Win32 ActiveState Perl or Cygwin? [ In reply to ]
Success with Strawberry Perl - finally. I had to remove the ActiveState Perl
Development Kit and Komodo from my path.

I also removed Ruby for good measure - I had started this exercise looking
at Ferret (Ruby-based) which led me to discussions on other Lucene
derivatives. I look forward to the Lucy engine. It's nice to see
collaboration on these types of projects.



_______________________________________________
KinoSearch mailing list
KinoSearch@rectangular.com
http://www.rectangular.com/mailman/listinfo/kinosearch