Alien-SVN
view release on metacpan or search on metacpan
src/subversion/INSTALL view on Meta::CPAN
Since the resulting binary depends on shared libraries, the
destination library directory must be identified in your
operating system's library search path. That is in either
/etc/ld.so.conf or $LD_LIBRARY_PATH for Linux systems and in
/etc/rc.conf for FreeBSD, followed by a run of the 'ldconfig'
program. Check your system documentation for details. By
identifying the destination directory, Subversion will be able
to dynamically load repository access plugins. If you try to do
a checkout and see an error like:
subversion/libsvn_ra/ra_loader.c:209: (apr_err=170000)
svn: Unrecognized URL scheme 'https://svn.apache.org/repos/asf/subversion/trunk'
It probably means that the dynamic loader/linker can't find all
of the libsvn_* libraries.
C. Building under Unix in Different Directories
--------------------------------------------
It is possible to configure and build Subversion on Unix in a
directory other than the working copy. For example
$ svn co https://svn.apache.org/repos/asf/subversion/trunk svn
$ cd svn
$ # get SQLite amalgamation if required
$ chmod +x autogen.sh
$ ./autogen.sh
$ mkdir ../obj
$ cd ../obj
$ ../svn/configure [...with options as appropriate...]
$ make
puts the Subversion working copy in the directory svn and builds
it in a separate, parallel directory obj.
Why would you want to do this? Well there are a number of
reasons...
* You may prefer to avoid "polluting" the working copy with
files generated during the build.
* You may want to put the build directory and the working
copy on different physical disks to improve performance.
* You may want to separate source and object code and only
backup the source.
* You may want to remote mount the working copy on multiple
machines, and build for different machines from the same
working copy.
* You may want to build multiple configurations from the
same working copy.
The last reason above is possibly the most useful. For instance
you can have separate debug and optimized builds each using the
same working copy. Or you may want a client-only build and a
client-server build. Using multiple build directories you can
rebuild any or all configurations after an edit without the need
to either clean and reconfigure, or identify and copy changes
into another working copy.
D. Installing from a Zip or Installer File under Windows
--------------------------------------------------------
Of all the ways of getting a Subversion client, this is the
easiest. Download a Zip (*.zip) or self-extracting installer
(*-setup.exe) file from:
http://subversion.apache.org/packages#windows
For a Zip file, run your unzipping utility (WinZIP, ZipGenius,
UltimateZIP, FreeZIP, whatever) and extract the DLLs and EXEs to
a directory of your choice. Included in the download is the SVN
client, the SVNADMIN administration tool, and the SVNLOOK
reporting tool.
Note that if you need support for non-English locales you'll have
to set the APR_ICONV_PATH environment variable to the path of the
iconv directory in the folder that contains the Subversion install.
You may also want to add the bin directory in the Subversion folder
to your PATH environment variable so as to not have to use the full
path when running Subversion commands.
To test the installation, open a DOS box (run either "cmd" or
"command" from the Start menu's "Run..." menu option), change to
the directory you installed the executables into, and run:
C:\test>svn co https://svn.apache.org/repos/asf/subversion/trunk svn
This will get the latest Subversion sources and put them into the
"svn" subdirectory.
If using a self-extracting .exe file, just run it instead of
unzipping it, to install Subversion.
E. Building the Latest Source under Windows
----------------------------------------
E.1 Prerequisites
* Visual Studio 6 and service pack. It can be built with later versions
of Visual Studio (Visual Studio.NET 2002, 2003, 2005, 2008 and Visual
C++ Express 2005, 2008) but these instructions assume VS6.
* A recent Windows SDK. (Not needed with Visual Studio 2005 and later)
If you are using Visual Studio 6, you need the latest SDK which
is compatible with VC6, which is the one from february 2003.
You can get it from MSDN:
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htm
* Python 2.5 or higher, downloaded from http://www.python.org/ which is
used to generate the project files.
* Perl 5.8 or higher from http://www.activestate.com/
* Awk (from http://www.cs.princeton.edu/~bwk/btl.mirror/awk95.exe) is
needed to compile Apache or APR. Note that this is the actual awk
program, not an installer - just rename it to awk.exe and it is
ready to use.
* Apache apr, apr-util, and optionally apr-iconv libraries, version
src/subversion/INSTALL view on Meta::CPAN
registration process places the SDK bin, include, and library
directories at the beginning of the search paths, which ensures
that the latest headers and libraries are used when building
applications in the IDE. Note that for Visual Studio 6.0
integration to succeed, Visual Studio 6.0 must run at least once
before you select Register PSDK Directories with Visual
Studio. Also note that when this option is run, the IDEs should
not be running."
* Install Python and add it to your path
* Install Perl (it should add itself to the path)
* Copy AWK (awk95.exe) to awk.exe (e.g. SVN\awk\awk.exe) and add
the directory containing it (e.g. SVN\awk) to the path.
* Install Apache 2 using the msi file if you are going to test the
server dso modules and are using Visual Studio 6. You must build
and install it from source if you are not using Visual Studio 6 and
want to build and/or test the server modules.
* If you checked out Subversion from the repository then install the serf
sources into SVN\src-trunk\serf.
* If you want BDB backend support, extract the Berkeley DB files
into SVN\src-trunk\db4-win32. It's a good idea to add
SVN\src-trunk\db4-win32\bin to your PATH, so that Subversion can find
the Berkeley DB DLLs.
[NOTE: This binary package of Berkeley DB is provided for
convenience only. Please don't address questions about
Berkeley DB that aren't directly related to using Subversion
to the project mailing list.]
If you build Berkeley DB from the source, you will have to copy
the file db-x.x.x\build_win32\db.h to
SVN\src-trunk\db4-win32\include, and all the import libraries to
SVN\src-trunk\db4-win32\lib. Again, the DLLs should be somewhere in
your path.
* If you want to build the server modules, extract Apache source into
SVN\httpd-2.x.x.
* If you are building from a checkout of Subversion, and you are NOT
building Apache, then you will need the APR libraries. Depending
on how you got your version of APR, either:
- Extract the APR, APR-util and APR-iconv source distributions into
SVN\apr, SVN\apr-util, and SVN\apr-iconv respectively.
Or:
- Extract the apr, apr-util and apr-iconv directories from the
srclib folder in the Apache httpd source into SVN\apr,
SVN\apr-util, and SVN\apr-iconv respectively.
* Extract the ZLib sources into SVN\zlib if you are not using the zlib
included in the dependencies zip file.
* If you want secure connection (https) client support, extract openssl
into SVN\openssl-x.x.x
* If you want localized message support, extract svn-win32-libintl.zip
into SVN\svn-win32-libintl and extract gettext-x.x.x-bin.zip and
gettext-x.x.x-dep.zip into SVN\gettext-x.x.x-bin.
Add SVN\gettext-x.x.x-bin\bin to your path.
* [Optional] Extract MASM32 (only the ML.EXE and ML.ERR files) into
SVN\asm (or extract nasm into SVN\asm) and put it in your path.
E.4 Building the Binaries
To build the binaries either follow the instructions here or use
build\win32\vc6-build.bat.in after editing its default paths to match
yours and saving it as vc6-build.bat. The vc6-build.bat does a full build
using all options so it requires Apache 2 source and the other optional
components.
Start in the SVN directory you created.
Set up the environment (commands should be one line even if wrapped here).
C:>set VER=trunk
C:>set DIR=trunk
C:>set DRIVE=C
C:>set PYTHONDIR=C:\Python22
C:>set AWKDIR=C:\SVN\Awk
C:>set ASMDIR=C:\SVN\asm
C:>set SDKINC=C:\Program Files\Microsoft SDK\include
C:>set SDKLIB=C:\Program Files\Microsoft SDK\lib
C:>set GETTEXTBIN=C:\SVN\gettext-0.14.1-bin\bin
C:>PATH=%PATH%;%DRIVE%:\SVN\src-%DIR%\db4-win32;%ASMDIR%;
%PYTHONDIR%;%AWKDIR%;%GETTEXTBIN%
C:>set INCLUDE=%SDKINC%;%INCLUDE%
C:>set LIB=%SDKLIB%;%LIB%
OpenSSL
C:>cd openssl-0.9.7f
C:>perl Configure VC-WIN32
[*] C:>call ms\do_masm
C:>nmake -f ms\ntdll.mak
C:>cd out32dll
C:>call ..\ms\test
C:>cd ..\..
*Note: Use "call ms\do_nasm" if you have nasm instead of MASM, or
"call ms\do_ms" if you don't have an assembler.
Apache 2
This step is only required for building the server dso modules.
The Subversion gen-make.py script must be run before building Apache or
Apache and Subversion will be running incompatible versions of apr.
C:>cd src-%DIR%
C:>python gen-make.py -t dsp --with-httpd=..\httpd-2.0.58
--with-berkeley-db=db4-win32 --with-openssl=..\openssl-0.9.7f
--with-zlib=..\zlib --with-libintl=..\svn-win32-libintl
C:>cd ..
C:>set APACHEDIR=C:\Program Files\Apache Group\Apache2
C:>msdev httpd-2.0.58\apache.dsw /MAKE "BuildBin - Win32 Release"
Subversion
Things to note:
* If you don't want to build mod_dav_svn, omit the --with-httpd
option. The zip file source distribution contains apr, apr-util and
apr-iconv in the default build location. If you have downloaded the
apr files yourself you will have to tell the generator where to find
the APR libraries; the options are --with-apr, --with-apr-util and
--with-apr-iconv.
( run in 0.501 second using v1.01-cache-2.11-cpan-411bb0df24b )