You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Tom Hanstra <to...@nd.edu> on 2012/03/28 23:06:17 UTC

Picking up wrong libraries/dependencies

I'm hoping someone can help me understand how to handle this...

I am attempting to install subversion on RHEL5.  I have newer versions 
of apr, apr-util, neon and sqlite in independent directories:

/shared/apr
/shared/apr-util
/shared/neon
/shared/sqlite

Now I am trying to compile subversion 1.7.4.  I configure using this 
command:

./configure --prefix=/shared/svnprod/soft --with-apr=/shared/apr 
--with-apr-util=/shared/apr-util 
--with-apxs=/shared/svnprod/httpd/bin/apxs --with-sqlite=/shared/sqlite  
--with-neon=/shared/neon

Compilation works.  However, the difficulty I am running into is that I 
also have RHEL5 default versions of apr, apr-util, and sqlite on the 
server and, when I run the resulting executables, they are picking up 
the RHEL5 versions instead of the /shared versions.

/shared/svnprod/soft/bin 1020$ ldd svn | grep apr
     libaprutil-1.so.0 => /usr/lib64/libaprutil-1.so.0 (0x00002ab79c60b000)
     libapr-1.so.0 => /usr/lib64/libapr-1.so.0 (0x00002ab79c847000

I've also tried creating and ld.conf.so.d file for subversion with:
/shared/apr/lib
/shared/apr-util/lib
/shared/sqlite/lib

and the result of that is that ldconfig ends up with both in the cache:

  /shared/svnprod/soft/bin 1023$ ldconfig -p | grep apr
     libgstdataprotocol-0.10.so.0 (libc6,x86-64) => 
/usr/lib64/libgstdataprotocol-0.10.so.0
     libgstdataprotocol-0.10.so.0 (libc6) => 
/usr/lib/libgstdataprotocol-0.10.so.0
     libaprutil-1.so.0 (libc6,x86-64) => 
/shared/apr-util/lib/libaprutil-1.so.0
     libaprutil-1.so.0 (libc6,x86-64) => /usr/lib64/libaprutil-1.so.0
     libaprutil-1.so.0 (libc6) => /usr/lib/libaprutil-1.so.0
     libaprutil-1.so (libc6,x86-64) => /shared/apr-util/lib/libaprutil-1.so
     libapr-1.so.0 (libc6,x86-64) => /shared/apr/lib/libapr-1.so.0
     libapr-1.so.0 (libc6,x86-64) => /usr/lib64/libapr-1.so.0
     libapr-1.so.0 (libc6) => /usr/lib/libapr-1.so.0
     libapr-1.so (libc6,x86-64) => /shared/apr/lib/libapr-1.so

But subversion still runs into problems because it is using the wrong 
libraries.  I get such errors as:

/shared/svnprod/soft/bin 1025$ ./svn
./svn: symbol lookup error: /shared/svnprod/soft/lib/libsvn_subr-1.so.0: 
undefined symbol: apr_atomic_xchgptr

How do I get subversion properly compiled and running to use the newer 
libraries.  What am I missing?

Thanks,
Tom Hanstra

-- 

------------------------------------------------------------------------
      Tom Hanstra                              Systems Administrator
      Hesburgh Libraries of Notre Dame         Phone: (574)631-4686
      213 Hesburgh Library                     Email: tom@nd.edu
      Notre Dame, IN  46556

   "Now, here, you see, it takes all the running you can do, to keep in
    the same place. If you want to get somewhere else, you must run at
    least twice as fast as that!"
                           Lewis Carroll - Through the Looking Glass
------------------------------------------------------------------------


Re: Picking up wrong libraries/dependencies

Posted by Philip Martin <ph...@wandisco.com>.
Tom Hanstra <to...@nd.edu> writes:

> Now I am trying to compile subversion 1.7.4.  I configure using this
> command:
>
> ./configure --prefix=/shared/svnprod/soft --with-apr=/shared/apr
> --with-apr-util=/shared/apr-util
> --with-apxs=/shared/svnprod/httpd/bin/apxs
> --with-sqlite=/shared/sqlite  --with-neon=/shared/neon
>
> Compilation works.  However, the difficulty I am running into is that
> I also have RHEL5 default versions of apr, apr-util, and sqlite on the
> server and, when I run the resulting executables, they are picking up
> the RHEL5 versions instead of the /shared versions.

Make sure you built /shared/svnprod/httpd to use /shared/apr and
/shared/apr-util.  Perhaps set LD_LIBRARY_PATH.

-- 
Philip

Re: Picking up wrong libraries/dependencies

Posted by David Weintraub <qa...@gmail.com>.
I believe there's a utility called libtool that allows you to set the
libpath for the machine. (I don't have my Linux box in front of me.
Drats!). I had a similar situation, and I solved it by changing a file
under my /etc directory to reflect the correct loading.

You can also set $LIBPATH.

On Wed, Mar 28, 2012 at 5:06 PM, Tom Hanstra <to...@nd.edu> wrote:
> I'm hoping someone can help me understand how to handle this...
>
> I am attempting to install subversion on RHEL5.  I have newer versions of
> apr, apr-util, neon and sqlite in independent directories:
>
> /shared/apr
> /shared/apr-util
> /shared/neon
> /shared/sqlite
>
> Now I am trying to compile subversion 1.7.4.  I configure using this
> command:
>
> ./configure --prefix=/shared/svnprod/soft --with-apr=/shared/apr
> --with-apr-util=/shared/apr-util --with-apxs=/shared/svnprod/httpd/bin/apxs
> --with-sqlite=/shared/sqlite  --with-neon=/shared/neon
>
> Compilation works.  However, the difficulty I am running into is that I also
> have RHEL5 default versions of apr, apr-util, and sqlite on the server and,
> when I run the resulting executables, they are picking up the RHEL5 versions
> instead of the /shared versions.
>
> /shared/svnprod/soft/bin 1020$ ldd svn | grep apr
>    libaprutil-1.so.0 => /usr/lib64/libaprutil-1.so.0 (0x00002ab79c60b000)
>    libapr-1.so.0 => /usr/lib64/libapr-1.so.0 (0x00002ab79c847000
>
> I've also tried creating and ld.conf.so.d file for subversion with:
> /shared/apr/lib
> /shared/apr-util/lib
> /shared/sqlite/lib
>
> and the result of that is that ldconfig ends up with both in the cache:
>
>  /shared/svnprod/soft/bin 1023$ ldconfig -p | grep apr
>    libgstdataprotocol-0.10.so.0 (libc6,x86-64) =>
> /usr/lib64/libgstdataprotocol-0.10.so.0
>    libgstdataprotocol-0.10.so.0 (libc6) =>
> /usr/lib/libgstdataprotocol-0.10.so.0
>    libaprutil-1.so.0 (libc6,x86-64) =>
> /shared/apr-util/lib/libaprutil-1.so.0
>    libaprutil-1.so.0 (libc6,x86-64) => /usr/lib64/libaprutil-1.so.0
>    libaprutil-1.so.0 (libc6) => /usr/lib/libaprutil-1.so.0
>    libaprutil-1.so (libc6,x86-64) => /shared/apr-util/lib/libaprutil-1.so
>    libapr-1.so.0 (libc6,x86-64) => /shared/apr/lib/libapr-1.so.0
>    libapr-1.so.0 (libc6,x86-64) => /usr/lib64/libapr-1.so.0
>    libapr-1.so.0 (libc6) => /usr/lib/libapr-1.so.0
>    libapr-1.so (libc6,x86-64) => /shared/apr/lib/libapr-1.so
>
> But subversion still runs into problems because it is using the wrong
> libraries.  I get such errors as:
>
> /shared/svnprod/soft/bin 1025$ ./svn
> ./svn: symbol lookup error: /shared/svnprod/soft/lib/libsvn_subr-1.so.0:
> undefined symbol: apr_atomic_xchgptr
>
> How do I get subversion properly compiled and running to use the newer
> libraries.  What am I missing?
>
> Thanks,
> Tom Hanstra
>
> --
>
> ------------------------------------------------------------------------
>     Tom Hanstra                              Systems Administrator
>     Hesburgh Libraries of Notre Dame         Phone: (574)631-4686
>     213 Hesburgh Library                     Email: tom@nd.edu
>     Notre Dame, IN  46556
>
>  "Now, here, you see, it takes all the running you can do, to keep in
>   the same place. If you want to get somewhere else, you must run at
>   least twice as fast as that!"
>                          Lewis Carroll - Through the Looking Glass
> ------------------------------------------------------------------------
>



-- 
David Weintraub
qazwart@gmail.com