[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: HELP: Compiles one libsvn_* but not others.

From: David Summers <david_at_summersoft.fay.ar.us>
Date: 2002-06-19 23:07:53 CEST

On Wed, 19 Jun 2002, Greg Stein wrote:
> On Wed, Jun 19, 2002 at 01:09:32AM +0100, Philip Martin wrote:
> > David Summers <david@summersoft.fay.ar.us> writes:
> >
> > > gcc -shared compose_delta.lo compose_editors.lo default_editor.lo diff.lo
> > > diff_file.lo svndiff.lo text_delta.lo vdelta.lo xml_output.lo xml_parse.lo
> > > -Wl,--rpath -Wl,/usr/local/apache2/lib -L/usr/local/apache2/lib -lcrypt
> > > -ldl -L/usr/lib -lsvn_subr-1 -laprutil -lgdbm -ldb-4.0 -lexpat -lapr -lm
> > > -lcrypt -lnsl -ldl -Wl,-soname -Wl,libsvn_delta-1.so.0 -o
> > > .libs/libsvn_delta-1.so.0.0.0
> > > /usr/bin/ld: cannot find -lsvn_subr-1
> > > collect2: ld returned 1 exit status
> > > libtool: install: error: relink `libsvn_delta-1.la' with the above command
> > > before installing it
> > > libtool: install: warning: remember to run `libtool --finish /usr/lib'
> > > cd subversion/libsvn_ra_dav ; /bin/sh
> > > /home/david/rpms/build/subversion-0.13.0/libtool --mode=install
> > > /home/david/rpms/build/subversion-0.13.0/ac-helpers/install-sh -c
> > > libsvn_ra_dav-1.la /home/david/rpms/tmp/subversion-0.13
> > >
> > > It sounds like the link commands are not getting the -L directory
> > > correctly when the link happens so that it can't find the -lsvn_subr-1
> > > can't locate the file correctly.
> You failed to note that the above problem happens at *install* time, rather
> than during the build (as Philip was showing). *BIG* difference.
> Is the order of library installation correct? svn_subr needs to be installed
> first, then delta, then others.
> What is the install prefix? I'm guessing /usr from the above output.
> Cheers,
> -g

Bingo. Sorry to not state that important distinction. Yes, this is
happening at install time rather than build (compile) time. My RPM does a
configure in the RPM setup phase, then a build (compile) in the build
phase, and then a "make install" in the install phase.

AFAICT, however, that is the normal build and install procedure. The only
difference is I don't want to install directly in to the /usr/*
directories immediately but install into the RPM "staging area" which is a
directory mimicing the "real" directory structure in $RPM_BUILD_ROOT

How to best go about doing that? It used to work and then some change
made it not work now and I'm getting around it by setting the -L
directories during the compile.

Actually I have the --prefix set for /usr in the build (compile) phase and
$RPM_BUILD_ROOT/usr in the "install" phase.

What *should* I be doing?


David Wayne Summers          "Linux: Because reboots are for upgrades!"
david_at_summersoft.fay.ar.us   PGP Key: http://summersoft.fay.ar.us/~david/pgp.txt
PGP Key fingerprint =  C0 E0 4F 50 DD A9 B6 2B  60 A1 31 7E D2 28 6D A8 
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Wed Jun 19 23:08:31 2002

This is an archived mail posted to the Subversion Dev mailing list.