Installation Steps for Subversion 1.4.x


Please read this entire document before performing any of the steps. If you already have a version of subversion installed, back up those files before doing this install in case you have any problems. You should also look at the Subversion Web Site and at the documentation files placed in /usr/local/doc/subversion files and subdirectories after the subversion package is installed.
The SPARC/Solaris 8 package needs /usr/lib/libm.so.2 which may not exist on some systems. You can use libm.so.1 by just doing ln -s /usr/lib/libm.so.1 /usr/lib/libm.so.2.
Subversion uses a lot of other programs and libraries which need to be installed before using the subversion package. For each level of Solaris, you need to have already installed the following packages:

apache-2.0.59 (for subversion 1.4.3) and apache-2.2.4 (for subversion-1.4.4)
neon-0.25.5
swig-1.3.29
openssl-0.9.8c
db-4.2.52.NC
expat-1.95.5
gdbm-1.8.3
libiconv-1.9
libxml2-2.6.26
zlib-1.2.3

from sunfreeware.com or from your own compiles.

It may be possible to use slightly older or newer versions of these packages and still have subversion run. Next, after you have installed the

subversion-1.4.x

package, you can go to /usr/local/bin and do

ldd svn

You will get a list of the libraries that svn related programs use. For example on my SPARC/Solaris 10 system, I get the result like

[1] /usr/local/bin> ldd svn
         libsvn_client-1.so.0 =>  /usr/local/lib/libsvn_client-1.so.0
        libsvn_wc-1.so.0 =>      /usr/local/lib/libsvn_wc-1.so.0
        libsvn_ra-1.so.0 =>      /usr/local/lib/libsvn_ra-1.so.0
        libsvn_diff-1.so.0 =>    /usr/local/lib/libsvn_diff-1.so.0
        libsvn_ra_local-1.so.0 =>        /usr/local/lib/libsvn_ra_local-1.so.0
        libsvn_repos-1.so.0 =>   /usr/local/lib/libsvn_repos-1.so.0
        libsvn_fs-1.so.0 =>      /usr/local/lib/libsvn_fs-1.so.0
        libsvn_fs_fs-1.so.0 =>   /usr/local/lib/libsvn_fs_fs-1.so.0
        libsvn_fs_base-1.so.0 =>         /usr/local/lib/libsvn_fs_base-1.so.0
        libsvn_ra_svn-1.so.0 =>  /usr/local/lib/libsvn_ra_svn-1.so.0
        libsvn_ra_dav-1.so.0 =>  /usr/local/lib/libsvn_ra_dav-1.so.0
        libsvn_delta-1.so.0 =>   /usr/local/lib/libsvn_delta-1.so.0
        libsvn_subr-1.so.0 =>    /usr/local/lib/libsvn_subr-1.so.0
        libaprutil-0.so.0 =>     /usr/local/apr/lib/libaprutil-0.so.0
        libgdbm.so.3 =>  /usr/local/lib/libgdbm.so.3
        libdb-4.2.so =>  /usr/local/BerkeleyDB.4.2/lib/libdb-4.2.so
        libiconv.so.2 =>         /usr/local/lib/libiconv.so.2
        libapr-0.so.0 =>         /usr/local/apr/lib/libapr-0.so.0
        libsendfile.so.1 =>      /usr/lib/libsendfile.so.1
        librt.so.1 =>    /usr/lib/librt.so.1
        libm.so.2 =>     /usr/lib/libm.so.2
        libresolv.so.2 =>        /usr/lib/libresolv.so.2
        libpthread.so.1 =>       /usr/lib/libpthread.so.1
        libneon.so.25 =>         /usr/local/lib/libneon.so.25
        libz.so =>       /usr/local/lib/libz.so
        libssl.so.0.9.8 =>       /usr/local/ssl/lib/libssl.so.0.9.8
        libcrypto.so.0.9.8 =>    /usr/local/ssl/lib/libcrypto.so.0.9.8
        libnsl.so.1 =>   /usr/lib/libnsl.so.1
        libdl.so.1 =>    /usr/lib/libdl.so.1
        libexpat.so.0 =>         /usr/local/lib/libexpat.so.0
        libsocket.so.1 =>        /usr/lib/libsocket.so.1
        libc.so.1 =>     /usr/lib/libc.so.1
        libgcc_s.so.1 =>         /usr/local/lib/libgcc_s.so.1
        libaio.so.1 =>   /usr/lib/libaio.so.1
        libmd5.so.1 =>   /usr/lib/libmd5.so.1
        libmp.so.2 =>    /usr/lib/libmp.so.2
        libscf.so.1 =>   /usr/lib/libscf.so.1
        libdoor.so.1 =>  /usr/lib/libdoor.so.1
        libuutil.so.1 =>         /usr/lib/libuutil.so.1
        /platform/SUNW,Ultra-5_10/lib/libc_psr.so.1
        /platform/SUNW,Ultra-5_10/lib/libmd5_psr.so.1

If some software is missing, you will see notices of missing libraries. As you can see above, the svn package installs some programs and libraries in /usr/local/apr. Therefore, you will probably need to put the /usr/local/apr/lib directory in your LD_LIBRARY_PATH environment variable. Alternatively, if you have access to it, use the crle program to add /usr/local/apr/lib and maybe /usr/local/lib to your runtime linking configuration file. Do man crle for details and to see if you have crle on your system.

Once you have all the proper libraries installed along with the subversion package, you will need to edit a file if you are going to use subversion with apache. Go to /usr/local/apache2/conf. The two lines that need to be added to your httpd.conf file are

LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so

which are added at the end of the other LoadModule lines.

After you have done these steps, go to the documentation files in /usr/local/doc/subversion to find out what else you need to do to configure, start, and use subversion.

For those of you who want to know, subversion was compiled with just the ./configure --disable-nls --with-ssl --with-apxs=/usr/local/apache2/bin/apxs, make, make install steps. All the make check steps passed.

If you have problems with these installation steps, contact me at steve@smc.vnet.net. If you have configuration or usage problems, go to the Subversion web site and then go to the documentation and mailing lists links there.


© Copyright 2007 Steven M. Christensen and Associates, Inc. This page was last updated on August 16, 2007.
Posted by 행복한 프로그래머 궁금쟁이박

댓글을 달아 주세요