"Chen, Peter" <peter.c...@itg.com> writes: > My configure command was: > > configure --prefix=/home/Svn --with-zlib=/home/lib > --with-apr=/home/Svn --with-apr-util=/home/Svn --with-serf=/home/lib > --with-ssl --with-sqlite=/home/Svn --disable-mod-activation > > Here's the last few lines when I run gmake: > > ../../subversion/libsvn_ra/libsvn_ra-1.la > ../../subversion/libsvn_delta/libsvn_delta-1.la > ../../subversion/libsvn_diff/libsvn_diff-1.la > ../../subversion/libsvn_subr/libsvn_subr-1.la > -L/home/local/sparc-solaris2.10/Svn/lib -laprutil-1 > -L/home/local/sparc-solaris2.10/Svn/lib -lapr-1 -L/usr/local/lib > -liconv -lintl -L/usr/local/lib -liconv -lintl -lsocket -lz > /home/src/subversion/sparc-solaris2.10/subversion-1.8.11/subversion/libsvn_subr/.libs/libsvn_subr-1.so: > undefined reference to `apr_hash_do' > collect2: ld returned 1 exit status > gmake: *** [subversion/svn/svn] Error 1 > > I currently have svn-1.6.x installed in a /home/bin and its libraries > are located in /home/lib. These paths are in my $PATH and > $LD_LIBRARY_PATH variables, respectively. > > I'm installing svn-1.8.x in a different file path /home/Svn/bin, > /home/Svn/lib because we'd like users to be able to have access to > both clients for now. APR-1.x and APR-UTIL-1.x have been installed to > the same file paths as where I'm attempting to install svn-1.8: > /home/Svn/bin and /home/Svn/lib > > I've searched the bug archives and google and haven't found any > relevant solutions to errors w/ "undefined reference to apr_hash_do"
apr_hash_do is a symbol in libapr and it's present in 1.4.x but not in the earlier versions. Subversion 1.6 doesn't use apr_hash_do so it can be linked against older versions of libapr that do not provide the symbol. I guess your Subversion 1.6 build uses an older version of libapr. Since you now have multiple versions of libapr on your system you have to be careful to arrange them so that the linker finds the right version. One way to organise this is to put things that can be shared by Subversion 1.6 and Subversion 1.8, such as zlib, in a common dir such as /home/lib. When you have different versions of a library for Subversion 1.6 and Subversion 1.8, such as libapr, then do not put either version in the common dir but put both versions in directories that are specific to the version of Subversion. -- Philip Martin | Subversion Committer WANdisco // *Non-Stop Data*