Skip to main content.
home | support | download

Back to List Archive

Re: nevermind Re: Re: 2.3.4 from cvs: SWISH::API

From: Bill Moseley <moseley(at)not-real.hank.org>
Date: Fri Mar 07 2003 - 01:10:26 GMT
On Tue, 4 Mar 2003, Brian Tingle wrote:

> 
> Okay, I figured out the reason this worked is b/c I had also installed into 
> /usr/local to test things out.
> 
> When I remove libswish-e.a from /usr/local/lib; I can't make test.
> 
> I've tried dozens of combinations of LDFLAGS; LD_LIBRARY_PATH; and 
> LD_RUN_PATH -- but I can only get this to install as root.  I don't have 
> root on production.  Any ideas how I can build this perl module without 
> putting libswish-e.a in /usr/local/bin on Solaris 8 with gcc 2.95.3?

What error are you seeing?  Is it about compress2 (which is in zlib) or
something else?

There's something odd about zlib's installation on Solaris.  I need to
look at that.

For now:



521) ~/brian/swish-e-2.3.4 %uname -a
SunOS sunsite3 5.8 Generic_108528-17 sun4u sparc SUNW,Sun-Fire-280R

522) ~/brian/swish-e-2.3.4 %./configure --prefix=$HOME/brian --without-zlib
523) ~/brian/swish-e-2.3.4 %make
523) ~/brian/swish-e-2.3.4 %ldd src/swish-e
        libm.so.1 =>     /usr/lib/libm.so.1
        libxml2.so.2 =>  /data/_g/lii/local/lib/libxml2.so.2
        libsocket.so.1 =>        /usr/lib/libsocket.so.1
        libnsl.so.1 =>   /usr/lib/libnsl.so.1
        libc.so.1 =>     /usr/lib/libc.so.1
        libdl.so.1 =>    /usr/lib/libdl.so.1
        libmp.so.2 =>    /usr/lib/libmp.so.2
        /usr/platform/SUNW,Sun-Fire-280R/lib/libc_psr.so.1

So it found libxml2 without needing LD_RUN_PATH.  I suppose that's because
of the link line:

gcc -o swish-e -Wall -DHAVE_CONFIG_H -DSWISH_VERSION=\"2.3.4\"
-Iexpat/xmltok -Iexpat/xmlparse -I/data/_g/lii/local/include/libxml2   -g
-O2  swish.o keychar_out.o dump.o result_output.o  fs.o http.o
httpserver.o extprog.o methods.o html.o txt.o xml.o expat/xmltok/xmltok.o
expat/xmltok/xmlrole.o expat/xmlparse/xmlparse.o entities.o parser.o
index.o merge.o  pre_sort.o file.o filter.o parse_conffile.o swregex.o
db_write.o docprop_write.o libswish-e.a -lm  -L/data/_g/lii/local/lib
-R/data/_g/lii/local/lib -lxml2 -L/usr/local/lib -R/usr/local/lib -lz -lm
-lsocket -lnsl -lz

which in that mess contains -R/data/_g/lii/local/lib

Now make install:

526) ~/brian/swish-e-2.3.4 %ls -l ..
total 2108
drwxr-x---   2 lii      ipcgi        512 Mar  4 16:22 bin
drwxr-x---   2 lii      ipcgi        512 Mar  4 16:22 include
drwxr-x---   2 lii      ipcgi        512 Mar  4 16:22 lib
drwxr-x---   3 lii      ipcgi        512 Mar  4 16:22 man
drwxr-x---   3 lii      ipcgi        512 Mar  4 16:22 share
drwxr-x---  14 lii      ipcgi       1024 Mar  4 16:17 swish-e-2.3.4
-rw-r-----   1 lii      ipcgi    1060103 Mar  4 01:18 swish-e-2.3.4-2003-03-04.tar.gz

So you can see that the bin, include and lib directories were created.


then cd into the perl dir:  (sorry about the wrap):

644) ~/brian/swish-e-2.3.4/perl %perl Makefile.PL
CCFLAGS=-I$HOME/brian/include LIBS="-L$HOME/brian/lib -lswish-e"


For testing we will need the path to your SWISH-E binary.
** Enter "skip" (without quotes) to skip testing - you will not be able to
run "make test"

Enter the location of the swish-e executable[]: ../../bin/swish-e
Your SWISH-E version: 2.3.4
Creating index...'../../bin/swish-e -c t/test.conf -f t/index.swish-e -v
0'

Writing Makefile for SWISH::API
645) ~/brian/swish-e-2.3.4/perl %make
gcc -B/usr/ccs/bin/ -c  -I/data/_g/lii/brian/include -O
-DVERSION=\"0.01\" -DXS_VERSION=\"0.01\" -fPIC
-I/usr/local/lib/perl5/5.00503/sun4-solaris/CORE  API.c
Running Mkbootstrap for SWISH::API ()
chmod 644 API.bs
LD_RUN_PATH="/data/_g/lii/brian/lib" gcc -B/usr/ccs/bin/ -o
blib/arch/auto/SWISH/API/API.so -R/data/_g/lii/brian/lib -G
-L/usr/local/lib API.o    -L/data/_g/lii/brian/lib -lswish-e 
chmod 755 blib/arch/auto/SWISH/API/API.so
cp API.bs blib/arch/auto/SWISH/API/API.bs
chmod 644 blib/arch/auto/SWISH/API/API.bs
Manifying blib/man3/SWISH::API.3
/usr/local/bin/pod2man: Unrecognized pod directive in paragraph 51 of
API.pm: head3
/usr/local/bin/pod2man: Unrecognized pod directive in paragraph 71 of
API.pm: head3
646) ~/brian/swish-e-2.3.4/perl %make test
PERL_DL_NONLAZY=1 /usr/local/bin/perl5.00503 -Iblib/arch -Iblib/lib
-I/usr/local/lib/perl5/5.00503/sun4-solaris -I/usr/local/lib/perl5/5.00503
-e 'use Test::Harness qw(&runtests $verbose); $verbose=0; runtests @ARGV;'
t/*.t
t/test..............ok
All tests successful.
Files=1,  Tests=90,  0 wallclock secs ( 0.04 cusr +  0.01 csys =  0.05
CPU)
647) ~/brian/swish-e-2.3.4/perl %





> 
> At 07:38 PM 2/21/2003 -0800, Bill Moseley wrote:
> >On Fri, 21 Feb 2003, Brian Tingle wrote:
> >
> > > I think it was setting the LDFLAGS environmental variable (per ./configure
> > > --help) before building swish-e that did the trick.
> >
> >Odd.  All that should do is add a search path that configure uses when
> >testing for features for the running platform.  It's also added to the
> >link line when building swish-e as a place to search for libraries swish-e
> >might need (such as libz).
> >
> >Anyway, at least things are running for you.
> >
> >Thanks,
> >
> >
> >--
> >Bill Moseley moseley@hank.org
> 
> -- Brian Tingle
>     Development Programmer, California Digital Library
>     (510)987-0443
> 

-- 
Bill Moseley moseley@hank.org
Received on Fri Mar 7 01:14:06 2003