Skip to main content.
home | support | download

Back to List Archive

[Fwd: Re: Re: Local install of swish-e-2.4.1 on Linux]

From: Roman Chyla <chyla(at)not-real.knihovnabbb.cz>
Date: Fri Nov 26 2004 - 09:30:04 GMT
Hi!
I have just tried to move/search/index with swish-e built on different
machine(s), for those who do not know - the question for me was: Can I
use buildswishe.pl script from Peter Karman to build swish-e and move
the compiled binary to other system (for example to my ISP's)?

so, here are my findings

for me, it worked! And that't good news, isn't it?

I was *unsuccesful* in these situations:
   1. compiled on Debian and moved to Slackware, however, this was
probably because I had libxml2 and zlib in different directories than
swish-e, (bacause of fiddling with buildswishe.pl before I found the
issue described below); BUT, even though this did not work in Slackware
it *worked* in Knoppix (distr. based on Debian)
   2. and something very odd: I compiled on Knoppix, tar and gzipped it.
When I untarred the archive on Windows and moved it to Debian, swish-e
did not work (error file: /tmp/swish/lib/libxml2.so.2 too short), when I
extracted the archive in Debian, it worked! You probably knows why, I don't.

if you want, you may test it yourself - download this archive from:
www.knihovnabbb.cz/swish.tgz
It is v2.5.2, built on Knoppix, contains index and test configuration as
well, just type this and you will see whether it runs on your system
/tmp/swish/bin/swish-e -c /tmp/swish/test.conf


I do admit, that I was lost before I heard about buildswishe.pl (my
trouble was to install libxml2). Do you think it is easy to figure out
the configuration? Easy for a M$ user?
LDFLAGS='-Wl,-rpath -Wl,/some-path/lib:/some-path:.
-L/some-path/lib:/some-path:

Therefore, an idiots guide to installing swish-e on Linux might look as:

if you have internet connection:
perl ./buildswishe.pl --installdir=/some-path


if you do not have connection:
1.download packages
2. type perl ./buildswishe.pl --installdir=/some-path
--libxml2=/full/path/to/package.tgz --zlib=/full/taph/to/zlib.tgz
--swish=/full/path/to/swish.tgz

please, if you can, add buildswishe.pl script to you standard distribution
hope that helps someone

roman

Peter Karman wrote:
> thanks for catching that bug.
> 
> I just checked in the fix.
> 
> Roman Chyla wrote on 11/9/04 3:24 AM:
> 
> 
>>hello,
>>
>>think that there is a bug in buildswishe.pl, function swishe
>>
>>I guess that
>>         $zlibdir ||= $swishdir;
>>	$libxml2dir ||= $swishdir;
>>should be
>>
>>         $zlibdir ||= $installdir;
>>	$libxml2dir ||= $installdir;
>>
>>when I fixed this, swish-e was built with libxml2 and zlib
>>
>>
>>here is buildswishe.log, xml2-config was found
>>
>>
>>checking for xml2-config... /var/home/knihovnik/tmp/test/bin/xml2-config
>>checking for libxml libraries >= 2.4.3... found version 2.6.10
>>checking zlib.h usability... yes
>>checking zlib.h presence... yes
>>checking for zlib.h... yes
>>checking for gzread in -lz... yes
>>
>>
>>
>>in the previous case, $zlibdir resolved to "/tmp/swish-e-2.4.2" (the 
>>path to unpacked source) but correct was "/var/home/knihovnik/tmp/test" 
>>, Libraries have been installed in:
>>    /var/home/knihovnik/tmp/test/lib
>>
>>
>>if the fix is correct, some piece of code from swishe function is also 
>>not needed
>>
>>         my $dir = get_src( 'swishe' );
>>
>>
>>so, again many thanks to Peter Karman for buildswishe.pl, swish-e now 
>>has libxml2 and zlib installed (i tried it) and I think this script is 
>>very, very useful - it can ease life of many people
>>
>>I am going to tar up swish-e and move it from Debian to Slackware to 
>>test whether we can build binaries at home and upload them to ISP
>>
>>roman
>>
>>
>>Peter Karman wrote:
>>
>>
>>>Roman Chyla wrote on 11/8/04 9:36 AM:
>>>
>>>
>>>
>>>
>>>>this might be wrong but it seemed to me, that buildswishe.pl did not set 
>>>>path for xml2-config and configure missed it during compilation,
>>>>I tried to set PATH variable beforehand (putting path-to xml2-config in 
>>>>it) but result was the same
>>>
>>>
>>>>#this is swish-e
>>>>configuring with:
>>>>/configure --prefix=/var/home/knihovnik/tmp/pokus3 
>>>>--with-zlib=/tmp/swish-e-2.4.2 --with-libxml2=/tmp/swish-e-2.4.2 
>>>>--disable-shared LDFLAGS='-Wl,-rpath 
>>>>-Wl,/var/home/knihovnik/tmp/pokus3/lib:/var/home/knihovnik/tmp/pokus3:. 
>>>>-L/var/home/knihovnik/tmp/pokus3/lib:/var/home/knihovnik/tmp/pokus3:.' 
>>>>CPPFLAGS='-I/tmp/swish-e-2.4.2/include -I/tmp/swish-e-2.4.2/include' 
>>>>1>>/tmp/buildswishe.log 
>>>
>>>
>>>
>>>check the contents of the output log:
>>>
>>>/tmp/buildswishe.log
>>>
>>>and look for whether the configure command found libxml2 or not. it 
>>>should look something like:
>>>
>>>checking for xml2-config... /usr/bin/xml2-config
>>>checking for libxml libraries >= 2.4.3... found version 2.6.7
>>>
>>>
>>>of course, your version will be different, but the lines should indicate 
>>>whether libxml2 library was found or not.
>>>
>>>if it was, and the resulting binary doesn't recognize HTML2, something 
>>>else is awry...
>>>
> 
> 
Received on Fri Nov 26 01:30:07 2004