123
123
create a repository, you have the option of specifying a
124
124
storage back-end. The Berkeley DB back-end will only be
125
125
available if the BDB libraries are discovered at compile
126
time. The Berkeley DB back-end has been deprecated and
128
129
* libsasl (OPTIONAL for client and server)
186
193
commands described in section II.B before installing the following.
189
1. Apache Portable Runtime 0.9.7 or 1.X.X (REQUIRED)
196
1. Apache Portable Runtime 1.3 or newer (REQUIRED)
191
198
Whenever you want to build any part of Subversion, you need the
192
199
Apache Portable Runtime (APR) and the APR Utility (APR-util)
196
203
****************************************************************
197
** IMPORTANT ISSUE ABOUT APR VERSIONS: READ THIS. **
204
** IMPORTANT ISSUE ABOUT APR VERSIONS: READ THIS **
205
** IF UPGRADING FROM MUCH OLDER SUBVERSION **
199
206
****************************************************************
201
208
| APR 0.9.X and 1.X are binary-incompatible. |
306
313
newer. The autogen.sh script knows about that.
309
5. Serf library 1.2.1 or newer (OPTIONAL)
316
5. Serf library 1.3.4 or newer (OPTIONAL)
311
318
If you want your client to be able to speak to an Apache
312
319
server (via a http:// or https:// URL), you must link against
349
356
Under Windows, you can specify the paths to these libraries by
350
357
passing the options --with-zlib and --with-openssl to gen-make.py.
352
### Is that right? In-tree build of Neon was disabled in r875974.
353
This may now apply to Serf, or else gen-make.py should be
354
updated to remove such options.
356
c. Using OpenSSL on the Apache server
359
b. Using OpenSSL on the Apache server
358
361
You can also add support for these features to an Apache httpd
359
362
server to be used for Subversion using the same support libraries.
443
446
is done: See section III for details.
446
10. Python 2.5 or newer (http://www.python.org/) (OPTIONAL)
449
10. Python 2.7 or newer (http://www.python.org/) (OPTIONAL)
448
451
If you want to run "make check" or build from the latest source
449
under Unix as described in section II.B and III.D, install
450
Python 2.5 or higher on your system. The majority of the test
451
suite is written in Python, as is part of Subversion's build
452
under Unix/Windows as described in section II.B, II.E and III.D,
453
install Python 2.7 or higher on your system. The majority of the
454
test suite is written in Python, as is part of Subversion's build
457
Note that Python 3.x is not supported and most likely won't work.
455
460
11. Perl 5.8 or newer (Windows only) (OPTIONAL)
462
12. MASM 6 or newer (Windows only, OPTIONAL)
464
The Windows build scripts for Subversion can use the Microsoft
465
Macro Assembler (MASM) to build an optimized version of the ZLib
466
library. Make sure that the version of MASM you use is compatible
467
with the C compiler. If you're using MSVC 6, and don't have MASM 6,
468
a free MASM-compatible assembler is available here:
470
http://www.masm32.com/
472
You only need ML.EXE and ML.ERR from this distribution.
474
The VS.NET installation already contains MASM (but note, that
475
version if MASM is not compatible with MSVC 6).
478
13. SQLite (REQUIRED)
480
Subversion 1.8 requires SQLite version 3.7.12 or above. You can meet
481
this dependency several ways:
467
12. SQLite (REQUIRED)
469
Subversion requires SQLite version 3.7.12 or above. You can meet this
470
dependency several ways:
482
471
* Use an SQLite amalgamation file.
483
472
* Specify an SQLite installation to use.
484
473
* Let Subversion find an installed SQLite.
491
480
http://www.sqlite.org/download.html
494
14. pkg-config (Unix only, OPTIONAL)
483
13. pkg-config (Unix only, OPTIONAL)
496
485
Subversion uses pkg-config to find appropriate options used
500
15. D-Bus (Unix only, OPTIONAL)
489
14. D-Bus (Unix only, OPTIONAL)
502
491
D-Bus is a message bus system. D-Bus is required for support for KWallet
503
492
and GNOME Keyring. pkg-config is needed to find D-Bus headers and library.
506
16. Qt 4 (Unix only, OPTIONAL)
495
15. Qt 4 (Unix only, OPTIONAL)
508
497
Qt is a cross-platform application framework. QtCore, QtDBus and QtGui
509
498
modules are required for support for KWallet. pkg-config is needed
510
499
to find Qt headers and libraries.
513
17. KDELibs 4 (Unix only, OPTIONAL)
502
16. KDELibs 4 (Unix only, OPTIONAL)
515
504
Subversion contains optional support for storing passwords in KWallet.
516
505
KDELibs contains core KDE libraries. Subversion uses libkdecore and libkdeui
523
512
--with-kwallet=/path/to/KDE/prefix
525
18. GLib 2 (Unix only, OPTIONAL)
514
17. GLib 2 (Unix only, OPTIONAL)
527
516
GLib is a general-purpose utility library. GLib is required for support
528
517
for GNOME Keyring. pkg-config is needed to find GLib headers and library.
531
19. GNOME Keyring (Unix only, OPTIONAL)
520
18. GNOME Keyring (Unix only, OPTIONAL)
533
522
Subversion contains optional support for storing passwords in GNOME Keyring.
534
523
pkg-config is needed to find GNOME Keyring headers and library. D-Bus and
600
You can also run the full test suite by running 'make check'.
603
2. Building from an RPM
605
If you are using Linux (or any OS that can use RPM) then another
606
possibility is to download the binary RPM from the
607
http://summersoft.fay.ar.us/pub/subversion directory.
609
Currently only Linux on the i386 platform is supported
610
using this method. You might also require additional RPMS
611
(which can be found in the above mentioned directory) to use the
612
subversion RPM depending on what packages you already have installed:
615
apache*.i386.rpm (Version 2.0.49 or greater)
616
db*.i386.rpm (Version 4.0.14 or greater; version 4.3.27 or
617
4.2.52 is preferred however)
618
expat (Comes with RedHat)
620
After downloading, install it (as root user):
622
# rpm -ivh subversion*.386.rpm (add other packages as necessary)
624
Note: For an easy way to generate a new version of the RPM
625
source and binary package from the latest source code you
626
just checked out, see the packages/rpm/README file for a
627
one-line build procedure.
595
You can also run the full test suite by running 'make check'. Even
596
in successful runs, some tests will report XFAIL; that is normal.
597
Failed runs are indicated by FAIL or XPASS results, or a non-zero exit
598
code from "make check".
630
601
B. Building the Latest Source under Unix
656
626
This script will make sure you have all the necessary components
657
627
available to build Subversion. If any are missing, you will be
658
told where to get them from. (See the 'Build Requirements' in
628
told where to get them from. (See the 'Dependency Overview' in
661
631
Note: if the command "autoconf" on your machine does not run
786
756
E.1 Prerequisites
788
758
* Visual Studio 6 and service pack. It can be built with later versions
789
of Visual Studio (Visual Studio.NET 2002, 2003, 2005, 2008 and Visual
790
C++ Express 2005, 2008) but these instructions assume VS6.
759
of Visual Studio (Visual Studio.NET 2005-2015, Visual C++ Express
760
2005-2010, Visual Studio Express 2012-2013 and Visual Studio Community
761
2013-2015) but these instructions assume VS6.
791
762
* A recent Windows SDK. (Not needed with Visual Studio 2005 and later)
792
763
If you are using Visual Studio 6, you need the latest SDK which
793
is compatible with VC6, which is the one from february 2003.
764
is compatible with VC6, which is the one from February 2003.
794
765
You can get it from MSDN:
795
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htm
796
* Python 2.5 or higher, downloaded from http://www.python.org/ which is
766
https://social.msdn.microsoft.com/Forums/windowsdesktop/en-US/e1147034-9b0b-4494-a5bc-6dfebb6b7eb1/download-and-install-microsoft-platform-sdk-febuary-2003-last-version-with-vc6-support?forum=windowssdk
767
* Python 2.7 or higher, downloaded from http://www.python.org/ which is
797
768
used to generate the project files.
769
Note that Python 3.x is not supported (yet).
798
770
* Perl 5.8 or higher from http://www.activestate.com/
799
771
* Awk (from http://www.cs.princeton.edu/~bwk/btl.mirror/awk95.exe) is
800
772
needed to compile Apache or APR. Note that this is the actual awk
801
773
program, not an installer - just rename it to awk.exe and it is
803
775
* Apache apr, apr-util, and optionally apr-iconv libraries, version
804
0.9.12 or later. Included in both the Subversion dependencies ZIP file
776
1.3 or later. Included in both the Subversion dependencies ZIP file
805
777
and the Apache 2 source zip. If you are building from a Subversion
806
778
checkout and have not downloaded Apache 2, then get these 3 libraries
807
779
from http://www.apache.org/dist/apr/.
780
* SQLite 3.7.12 or higher from http://www.sqlite.org/download.html
808
781
* ZLib 1.2 or higher is required and is included in the Subversion
809
dependencies zip file or can be obtained from http://www.zlib.org
782
dependencies zip file or can be obtained from http://www.zlib.net/
810
783
* Either a Subversion client binary from http://subversion.apache.org/ to
811
784
do the initial checkout of the Subversion source or the zip file
812
785
source distribution. See the section "Bootstrapping from a Zip or
818
791
* [Optional] Apache 2 source, downloaded from
819
792
http://httpd.apache.org/download.cgi, these instructions assume
820
793
version 2.0.58. This is only needed for building the Subversion
821
server Apache modules. Note that although Subversion will compile
822
against Apache 2.2.3 and APR 1.2.7, there is a bug that causes
823
runtime failures with Subversion on Windows. The fix is included in
824
APR 1.2.8 and will be bundled in the next HTTP Server release
825
(likely to be 2.2.4).
794
server Apache modules. ### FIXME Apache 2.2 or greater required.
826
795
* [Optional] Apache 2 msi install file, also from
827
796
http://httpd.apache.org/download.cgi (required for running the
828
797
tests). Only needed for testing the server dso modules and if
835
804
components -- versions 4.3.27 and 4.4.20 are available from
836
805
http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=688
837
806
as db-4.3.27-win32.zip and db-4.4.20-win32.zip.
838
For more information see Section I.5.
807
For more information see Section I.C.7.
839
808
* [Optional] Openssl 0.9.7f or higher can be obtained from
840
809
http://www.openssl.org/source/openssl-0.9.7f.tar.gz
841
810
* [Optional] A modified version of GNU libintl, called
856
825
The Serf library supports secure connections with OpenSSL and
857
826
on-the-wire compression with zlib. If you want to use the
858
827
secure connections feature, you should pass the option
859
"--with-openssl" to the gen-make.py script. See Section I.11 for
828
"--with-openssl" to the gen-make.py script. See Section I.C.6 for
874
843
* Install Visual Studio Environment. You either have to tell the
875
844
installer to register environment variables or run VCVARS32.BAT
876
845
before building anything. If you are using a newer Visual Studio,
877
use the 'Visual Studio 200x Command Prompt' on the Start menu.
846
use the 'Visual Studio 20xx Command Prompt' on the Start menu.
878
847
* Install and register a recent Windows Core SDK if you are using
879
848
Visual Studio 6. This is a quote from the Microsoft February 2003
880
849
SDK documentation:
897
866
* Install Perl (it should add itself to the path)
898
867
* Copy AWK (awk95.exe) to awk.exe (e.g. SVN\awk\awk.exe) and add
899
868
the directory containing it (e.g. SVN\awk) to the path.
900
* Install Apache 2 using the msi file if you are going to test the
901
server dso modules and are using Visual Studio 6. You must build
869
* [Optional] Install Apache 2 using the msi file if you are going to test
870
the server dso modules and are using Visual Studio 6. You must build
902
871
and install it from source if you are not using Visual Studio 6 and
903
872
want to build and/or test the server modules.
904
* If you checked out Subversion from the repository then install the serf
905
sources into SVN\src-trunk\serf.
906
* If you want BDB backend support, extract the Berkeley DB files
907
into SVN\src-trunk\db4-win32. It's a good idea to add
873
* [Optional] If you checked out Subversion from the repository and want
874
to build Subversion with http/https access support then install the
875
serf sources into SVN\src-trunk\serf.
876
* [Optional] If you want BDB backend support, extract the Berkeley DB
877
files into SVN\src-trunk\db4-win32. It's a good idea to add
908
878
SVN\src-trunk\db4-win32\bin to your PATH, so that Subversion can find
909
879
the Berkeley DB DLLs.
919
889
SVN\src-trunk\db4-win32\lib. Again, the DLLs should be somewhere in
922
* If you want to build the server modules, extract Apache source into
892
* [Optional] If you want to build the server modules, extract Apache
893
source into SVN\httpd-2.x.x.
924
894
* If you are building from a checkout of Subversion, and you are NOT
925
895
building Apache, then you will need the APR libraries. Depending
926
896
on how you got your version of APR, either:
932
902
SVN\apr-util, and SVN\apr-iconv respectively.
933
903
* Extract the ZLib sources into SVN\zlib if you are not using the zlib
934
904
included in the dependencies zip file.
935
* If you want secure connection (https) client support, extract openssl
936
into SVN\openssl-x.x.x
937
* If you want localized message support, extract svn-win32-libintl.zip
938
into SVN\svn-win32-libintl and extract gettext-x.x.x-bin.zip and
939
gettext-x.x.x-dep.zip into SVN\gettext-x.x.x-bin.
905
* [Optional] If you want secure connection (https) client support, or if
906
you are building with enabled support for serf extract openssl into
908
* [Optional] If you want localized message support, extract
909
svn-win32-libintl.zip into SVN\svn-win32-libintl and extract
910
gettext-x.x.x-bin.zip and gettext-x.x.x-dep.zip into
911
SVN\gettext-x.x.x-bin.
940
912
Add SVN\gettext-x.x.x-bin\bin to your path.
941
913
* [Optional] Extract MASM32 (only the ML.EXE and ML.ERR files) into
942
914
SVN\asm (or extract nasm into SVN\asm) and put it in your path.
915
* Download the SQLite amalgemation from
916
http://www.sqlite.org/download.html
917
and extract it into SVN\sqlite-amalgemation.
918
See I.C.12 for alternatives to using the amalgemation package.
944
920
E.4 Building the Binaries
934
C:>set BUILD_ROOT=C:\SVN
959
935
C:>set PYTHONDIR=C:\Python22
960
936
C:>set AWKDIR=C:\SVN\Awk
961
937
C:>set ASMDIR=C:\SVN\asm
962
C:>set SDKINC=C:\Program Files\Microsoft SDK\include
963
C:>set SDKLIB=C:\Program Files\Microsoft SDK\lib
938
C:>set SDKINC="C:\Program Files\Microsoft SDK\include"
939
C:>set SDKLIB="C:\Program Files\Microsoft SDK\lib"
964
940
C:>set GETTEXTBIN=C:\SVN\gettext-0.14.1-bin\bin
965
C:>PATH=%PATH%;%DRIVE%:\SVN\src-%DIR%\db4-win32;%ASMDIR%;
941
C:>PATH=%PATH%;%BUILD_ROOT%\src-%DIR%\db4-win32;%ASMDIR%;
966
942
%PYTHONDIR%;%AWKDIR%;%GETTEXTBIN%
967
943
C:>set INCLUDE=%SDKINC%;%INCLUDE%
968
944
C:>set LIB=%SDKLIB%;%LIB%
995
971
C:>set APACHEDIR=C:\Program Files\Apache Group\Apache2
996
972
C:>msdev httpd-2.0.58\apache.dsw /MAKE "BuildBin - Win32 Release"
976
If you downloaded APR / APR-UTIL / APR_ICONV by source, you will have to
977
build these libraries first.
978
Building these libraries on Windows is straight forward and in most cases
979
as simple as issuing these two commands:
981
C:>nmake -f Makefile.win
982
C:>nmake -f Makefile.win install
984
Please refere to the build instructions provided by the library source
985
for actual build instructions.
989
If you downloaded the zlib source, you will have to build ZLib first.
990
Building ZLib using Visual Studio should be quite simple. Just open the
991
appropriate solution and build the project zlibstat using the IDE.
993
Please refere to the build instructions provided by the library source
994
for actual build instructions.
996
Note that you'd make sure to define ZLIB_WINAPI in the ZLib config
997
header and move the lib-file into the zlib root-directory.
1001
### Section about serf might be required/useful to add.
1002
### scons is required too and serf needs to be configured prior to be
1003
### able to build Subversion using:
1004
### scons APR=[PATH_TO_APR] APU=[PATH_TO_APU] OPENSSL=[PATH_TO_OPENSSL]
1005
### ZLIB=[PATH_TO_ZLIB] PREFIX=[PATH_TO_SERF_DEST]
1000
1011
Things to note:
1006
1017
the APR libraries; the options are --with-apr, --with-apr-util and
1007
1018
--with-apr-iconv.
1008
1019
* If you would like a debug build substitute Debug for Release in
1020
the msdev/msbuild commands.
1010
1021
* There have been rumors that Subversion on Win32 can be built
1011
1022
using the latest cygwin, you probably don't want the zip file source
1012
1023
distribution though. ymmv.
1019
1030
directories must be in the Tools/Options/Directories settings (if you
1020
1031
followed the 'Register the SDK with Visual Studio 6' instructions
1021
1032
above this has been done for you).
1022
* If you are using Visual Studio .NET change -t dsw into -t vcproj and
1023
add the --vsnet-version=200x option on the gen-make.py command.
1033
* If you are using Visual Studio later than VC6 change -t dsw into
1034
-t vcproj and add the --vsnet-version=20xx option on the gen-make.py
1024
1036
In this case you will also have to distribute the C runtime dll with
1025
1037
the binaries. Also, since Apache/APR do not provide .vcproj files,
1026
1038
you will need to convert the Apache/APR .dsp files to .vcproj files
1051
1063
C:>msdev subversion_msvc.dsw /USEENV /MAKE "__ALL_TESTS__ - Win32 Release"
1054
Or, with Visual C++.NET 2002, 2003, 2005:
1066
Or, with Visual C++.NET 2005 or C++ Express 2005:
1056
1068
C:>devenv subversion_vcnet.sln /build "Release" /project "__ALL_TESTS__"
1059
Or, with Visual C++ Express 2005:
1071
Or, with Visual C++.NET 2008+, C++ Express 2008+, Studio Express 2012+ or
1072
Studio Community 2013+:
1061
1074
C:>msbuild subversion_vcnet.sln /t:__ALL_TESTS__ /p:Configuration=Release
1152
1165
A. Setting Up Apache
1153
1166
-----------------
1155
(Following the BOOTSTRAPPING FROM RPM procedures above will install and
1156
build the latest Subversion server for Linux RedHat 7.1, 7.2, and PPC
1157
Linux systems *IF* the apache-devel-2.0.41 or greater package is already
1158
installed when the SUBVERSION RPM is built.)
1161
1168
1. Obtaining and Installing Apache 2
1163
1170
Subversion tries to compile against the latest released version
1213
1220
line. Make sure this is the same db as the one Subversion uses.
1214
1221
This note assumes you have installed Berkeley DB 4.2.52
1215
1222
at its default locations. For more info about the db requirement,
1218
1225
You may also want to include other modules in your build. Add
1219
1226
--enable-ssl to turn on SSL support, and --enable-deflate to turn on