Skip to main content.
home | support | download

Back to List Archive

Re: [swish-e] _c is < 0 in uncompress1()

From: Dr Michael Daly <"Dr>
Date: Thu, 2 Aug 2012 23:48:04 +1000 (EST)
Using this advice, on my system I found:
[/root] # ldd /opt/bin/swish-e => /usr/lib/ (0x4002f000) => /opt/lib/ (0x40205000) => /lib/ (0x40247000) => /opt/lib/ (0x40262000) => /opt/lib/ (0x4026b000) => /lib/ (0x40295000) => /lib/ (0x40345000) => /lib/ (0x40479000) => /lib/ (0x40484000) => /lib/ (0x40568000)
        /lib/ (0x40000000)

I also found that libz and libxml2 were installed in both /lib and
/opt/lib, with the /opt/lib files seemingly more up to date:
[/root] # ldconfig -p
438 libs found in cache `/etc/' (libc6) => /lib/ (libc6) => /opt/lib/ (libc6) => /lib/ (libc6) => /opt/lib/ (libc6) => /usr/local/lib/ (libc6) => /opt/lib/ (libc6) => /usr/local/lib/ (libc6) => /opt/lib/ (libc6) => /usr/lib/ (libc6) => /opt/lib/ (libc6) => /usr/lib/ (libc6) => /opt/lib/ (libc6) => /usr/lib/ (libc6) => /usr/lib/ (libc6) => /usr/lib/ (libc6) => /usr/lib/

so I checked what the swish configure options were via ./configure --help

then I did a 'make clean'

then I recompiled, specifying where zlib and libxml2 were to be found ie
in /opt:
/share/MD0_DATA/misc/swish-e-2.4.7/configure --with-pcre=/opt
--with-zlib=/opt --with-libxml2=/opt --prefix=/opt

but after recompiling I found that libxml2 and libz remained referenced
from their original  (ie other than /opt) locations:
ldd /opt/bin/swish-e => /usr/lib/ (0x4002f000) => /opt/lib/ (0x40205000) => /lib/ (0x40247000) => /opt/lib/ (0x40262000) => /opt/lib/ (0x4026b000) => /lib/ (0x40295000) => /lib/ (0x40345000) => /lib/ (0x40479000) => /lib/ (0x40484000) => /lib/ (0x40568000)
        /lib/ (0x40000000)

the swish-e config.log shows:
configure:24828: checking for xml2-config
configure:24846: found /opt/bin/xml2-config
configure:24859: result: /opt/bin/xml2-config
configure:24927: checking for libxml libraries >= 2.4.3
configure:24939: result: found version 2.7.8
configure:25030: checking zlib.h usability
configure:25042: gcc -c -g -O2  -I/opt/include conftest.c >&5
configure:25048: $? = 0
configure:25052: test -z
			 || test ! -s conftest.err
configure:25055: $? = 0
configure:25058: test -s conftest.o
configure:25061: $? = 0
configure:25071: result: yes
configure:25075: checking zlib.h presence
configure:25085: gcc -E  -I/opt/include conftest.c
configure:25091: $? = 0
configure:25111: result: yes
configure:25146: checking for zlib.h
configure:25153: result: yes
configure:25161: checking for gzread in -lz
configure:25191: gcc -o conftest -g -O2  -I/opt/include  -L/opt/lib
conftest.c -lz  -lm  >&5
configure:25197: $? = 0
configure:25201: test -z
			 || test ! -s conftest.err
configure:25204: $? = 0
configure:25207: test -s conftest
configure:25210: $? = 0
configure:25223: result: yes
configure:25282: checking for pcre-config
configure:25300: found /opt/bin/pcre-config

the system is still indexing as I type so am not sure of the outcome....


On 8/1/12 9:59 AM, Dr Michael Daly wrote:
> Re: _c is<  0 in uncompress1()
> something went wrong with my cron driven swish-e installation last
> month.
> This coincided with a reboot of the NAS device its installed on, in the
> process of restoring a C++ library file (/usr/lib/
> Searches of the rebuilt spidered index now produce only this result:
> _c is<  0 in uncompress1()
> (whether searching is via the swish.cgi module or via command line)
> But searches of a non spidered index built prior to the reboot work
> normally.
> I am hoping there is any easy fix.
> Swish is installed in a chroot environment in /opt, and Cron runs the
> spidering  command overnight:
>   /opt/bin/swish-e -S prog -c
> /share/MD0_DATA/swish-e-files/swish-e-conf/web_2.conf
> I tried recompiling swish, then ran the index command and search worked
> normally...until cron ran overnight. I then found the index file had
> increased in size significanly, and search gave the:
> _c is<  0 in uncompress1() error.

sounds like a problem with your libz (gzip) library being compiled with
swish-e. I would try re-compiling and verify that you are getting libz
included. The ./configure output should tell you.

on linux can also ldd the swish-e binary. mine says:

$ ldd swish-e => /usr/lib64/ (0x00000033c5700000) => /lib64/tls/ (0x00000033bfa00000) => /opt/pij/lib/ (0x0000002a95577000) => /usr/lib64/ (0x00000033bf800000) => /lib64/tls/ (0x00000033bf600000) => /lib64/tls/ (0x00000033bf100000)
	/lib64/ (0x00000033bef00000)

^^ notice the path. make sure that is sane on your platform.

Peter Karman  .  .  peter(at)
Users mailing list

Users mailing list
Received on Thu Aug 02 2012 - 13:48:06 GMT