23 |
|
|
24 |
=head2 Requirements |
=head2 Requirements |
25 |
|
|
26 |
This extension is based on PostgreSQL RDBMS and HyperEstraier full-text |
This extension is based on PostgreSQL RDBMS and Hyper Estraier full-text |
27 |
search engine (and it's perl bindings). |
search engine (and it's perl bindings). |
28 |
|
|
29 |
If you are using Debian, you are in luck. All required packages are |
If you are using Debian, you are in luck. All required packages are |
32 |
# apt-get install postgresql |
# apt-get install postgresql |
33 |
# apt-get install hyperestraier libestraier-dev libqdbm-dev |
# apt-get install hyperestraier libestraier-dev libqdbm-dev |
34 |
|
|
35 |
Now you can skip to installation of L<HyperEstraier perl bindings> below. |
Now you can skip to installation of L<Hyper Estraier perl bindings> below. |
36 |
|
|
37 |
If you don't have pre-packaged binaries for your installation, you will |
If you don't have pre-packaged binaries for your installation, you will |
38 |
need to install additional packages by hand. |
need to install additional packages by hand. |
44 |
|
|
45 |
=head3 QDBM |
=head3 QDBM |
46 |
|
|
47 |
First, you need qdbm on which HyperEstraier depends. Installation is simple. |
First, you need qdbm on which Hyper Estraier depends. Installation is simple. |
48 |
|
|
49 |
$ tar xvfz qdbm-1.8.31.tar.gz |
$ tar xvfz qdbm-1.8.31.tar.gz |
50 |
$ cd qdbm-1.8.31 |
$ cd qdbm-1.8.31 |
52 |
$ make |
$ make |
53 |
$ sudo make install |
$ sudo make install |
54 |
|
|
55 |
=head3 HyperEstraier |
=head3 Hyper Estraier |
56 |
|
|
57 |
Also quite simple. |
Also quite simple. |
58 |
|
|
62 |
$ make |
$ make |
63 |
$ sudo make install |
$ sudo make install |
64 |
|
|
65 |
Then you will have to install perl bindings for HyperEstraier. |
Then you will have to install perl bindings for Hyper Estraier. |
66 |
|
|
67 |
=head3 HyperEstraier perl bindings |
=head3 Hyper Estraier perl bindings |
68 |
|
|
69 |
This might take a bit more work. You will need to have C<swig> and C<g++> installed |
Just use C<cpan> shell to install C<Search::Estraier> module |
|
before you can install perl bindings. |
|
70 |
|
|
71 |
$ tar xvfz hyper_estraier_wrappers-0.0.10.tar.gz |
$ sudo cpan Search::Estraier |
|
$ cd swig_hest/perl/ |
|
|
$ swig -c++ -perl5 -o HyperEstraier_wrap.cpp ../HyperEstraier.i |
|
|
$ cp ../HyperEstraierWrapper.cpp ./ |
|
|
$ perl Makefile.PL |
|
|
|
|
|
You might need to remove C<estconfig --mtlibs> from C<Makefile.PL> if it |
|
|
fails to run with following message: |
|
|
|
|
|
Unrecognized argument in LIBS ignored: 'configuration' |
|
|
Unrecognized argument in LIBS ignored: 'helper' |
|
|
Unrecognized argument in LIBS ignored: 'for' |
|
|
Unrecognized argument in LIBS ignored: 'Hyper' |
|
|
Unrecognized argument in LIBS ignored: 'Estraier' |
|
|
Writing Makefile for HyperEstraier |
|
|
|
|
|
Working C<Makefile.PL> for my particular installation is: |
|
|
|
|
|
# File : Makefile.PL |
|
|
use ExtUtils::MakeMaker; |
|
|
WriteMakefile( |
|
|
NAME => 'HyperEstraier', |
|
|
INC => sprintf('%s', `pkg-config --cflags hyperestraier`), |
|
|
LIBS => [sprintf('-lstdc++ %s %s' , `pkg-config --libs hyperestraier`)], |
|
|
OBJECT => 'HyperEstraierWrapper.o HyperEstraier_wrap.o' |
|
|
); |
|
72 |
|
|
73 |
After succesfull C<perl Makefile.pl>, you can compile and install it. |
There was awaful long procedure about installing perl C bindings, but it's all gone now. |
|
|
|
|
$ make |
|
|
$ sudo make install |
|
74 |
|
|
75 |
=head3 CPAN modules |
=head3 CPAN modules |
76 |
|
|
82 |
=item File::Which |
=item File::Which |
83 |
=item File::Path |
=item File::Path |
84 |
=item File::Slurp |
=item File::Slurp |
85 |
|
=item Search::Estraier |
86 |
|
|
87 |
=item Spreadsheet::WriteExcel |
=item Spreadsheet::WriteExcel |
88 |
|
|
98 |
|
|
99 |
Easiest way to install them is using C<cpan> shell. |
Easiest way to install them is using C<cpan> shell. |
100 |
|
|
101 |
$ sudo cpan File::Pid Spreadsheet::WriteExcel |
$ sudo cpan File::Pid Spreadsheet::WriteExcel ... |
102 |
|
|
103 |
=head1 Creation of initial database |
=head1 Creation of initial database |
104 |
|
|