You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Martin Tomes <li...@tomes.org> on 2004/04/23 12:10:06 UTC

[PATCH] Update build instructions for Win32 platform.

Update the instructions for building Subversion on the Win32 platform.

The new instructions are split into sections which describe what is needed, how to prepare the files 
(unpacking, environment etc.) and how to actually build the binaries with all available options 
turned on.

    * INSTALL
      Update Win32 build instructions.

-- 
Martin Tomes
echo 'Martin x Tomes at controls x eurotherm x co x uk'\
  | sed -e 's/ x /\./g' -e 's/ at /@/'


Re: [PATCH] Update build instructions for Win32 platform.

Posted by "D.J. Heap" <dj...@shadyvale.net>.
Michael S. Liebman wrote:
[snip]
> 
> 
> Will the version from gnuwin32.sourceforge.net work?
[snip]

I couldn't make it work, but I didn't try very hard -- svn would crash 
on startup due to C runtime conflicts, I believe.  If you built 
everything from source and made sure to link to the same crt, then it 
probably would.

DJ

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: [PATCH] Update build instructions for Win32 platform.

Posted by "Michael S. Liebman" <m-...@northwestern.edu>.
At 08:10 AM 4/23/2004, Martin Tomes wrote:
>Index: INSTALL
>===================================================================
>--- INSTALL     (revision 9455)
>+++ INSTALL     (working copy)
>@@ -161,1 +161,1 @@
>        4.  Neon library 0.24.5 (http://www.webdav.org/neon/)

[snip happens]

>+      * Neon 0.24.2, downloaded from
>+        http://www.webdav.org/neon/neon-0.24.4.tar.gz which is required
>+        for building the client components.

This is confusing. You reference Neon 0.24.2, link to 0.24.4 and earlier 
0.24.5 is mentioned. It is very important to use 0.24.5. Because of the 
security (CVE CAN-2004-0179) fix.

>+      * openssl-0.9.7c.tar.gz obtained from
>+        http://www.openssl.org/source/

Again, unless there is a very specific reason to use 0.9.7c, openssl-0.9.7d 
should be used because of security fix.

>+      * For localization gnu gettext is needed.  Get
>+        gettext-runtime-0.12.1.bin.woe32.zip,
>+        gettext-tools-0.12.1.bin.woe32.zip, and
>+        libiconv-1.9.1.bin.woe32.zip from http://mirrors.kernel.org/gnu

Will the version from gnuwin32.sourceforge.net work?

>+      * A means of unpacking the files.  Native Win32 versions of gunzip,
>+        tar and unzip can be found at http://unxutils.sourceforge.net/.
>+        If you have WinZip that will also unpack the files.

You may want to mention gnuwin32.sourceforge.net since that project is more 
actively maintained than unxutils.

Michael

-- 
Michael S. Liebman                      m-liebman@northwestern.edu
                 http://msl521.freeshell.org/
"I have vision and the rest of the world wears bifocals."
        -Paul Newman in "Butch Cassidy & the Sundance Kid" 


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: [PATCH] Update build instructions for Win32 platform.

Posted by "D.J. Heap" <dj...@shadyvale.net>.
Martin Tomes wrote:
[snip]
> 
> 
> How does Apache locate BDB then?  It's buried in the subversion source 
> directory so I can't see how it can find it.


Apache doesn't need BDB -- it can use it (I'm not familiar enough with 
Apache to know where or how) but it doesn't require it.

Subversion requires it, but the APR and Subversion headers are organized 
such that we don't require Apache/apr-util to be aware of BDB for 
Subversion to be able to use it (at least for Apache 2.0.49+.  See 
apr-util/include/apu.hw where it does conditional definition of 
APU_HAVE_DB).

Not a big deal in any case.

DJ


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: [PATCH] Update build instructions for Win32 platform.

Posted by Martin Tomes <li...@tomes.org>.
D.J. Heap wrote:
> Some notes inlined below...In some cases it appears you are documenting 
> the 1.0.x series, but this patch is against trunk which has had a number 
> of changes to the build system.  Have you been building trunk or 1.0.x 
> with these instructions?

I am going to create two sets of instructions - one for 1.0.x and one for the trunk.

> Martin Tomes wrote:
>> Update the instructions for building Subversion on the Win32 platform.
>> +      * Visual Studio 6 with the latest service pack. It can be built
>> +        with Visual Studio 7 but these instructions assumes VS6.
> The only difference should be the -t parameter to gen-make.py.  The 
> reason we don't tell VC7+ users to just use the dsp's is because MS 
> changed quoting rules for the resource compiler and then didn't bother 
> to convert them correctly when converting projects.

Added 'use -t vcproj' to gen-make.py to use VS .NET.

>> +      * Apache 2 msi install file, also from
>> +        http://httpd.apache.org/download.cgi (required for running the
>> +        tests)
> If you're building from source, why do you need the msi?  I've never 
> needed it to run tests...

It is the easiest way to get Apache installed and running, the only reason we have to build Apache 
from source is to create the modules.

>> +      * The latest version of apr-util (see Section I.1) must be told
>> +        where to find the Berkeley DB include files and libraries. You
>> +        can do this with the w32locatedb.pl script (located in the
>> +        "build" directory in the apr-util sources), which modifies
>> +        apr-util's header and DSP files. The instructions at the top of
>> +        the script file explain how to use the script.
> Although possibly a good idea, this is not really necessary anymore with 
> Apache 2.0.49.

How does Apache locate BDB then?  It's buried in the subversion source directory so I can't see how 
it can find it.

>> +      * A Subversion client binary from http://subversion.tigris.org/ to
>> +        do the initial checkout of the Subversion source. See the 
>> section
>> +        "Bootstrapping from a Zip or Installer File under Windows" above
>> +        for more.

That didn't work for me, I think I had line ending problems on Windows.

>> +    OpenSSL
>>
>> -      Finally, you will need to copy the Apache apr libraries into the
>> -      root of the Subversion source tree.
>> +    C:\SVN> cd openssl-0.9.7c
>> +    C:\SVN\openssl-0.9.7c> perl Configure VC-WIN32
>> +    C:\SVN\openssl-0.9.7c> ms\do_nasm
>> +    C:\SVN\openssl-0.9.7c> nmake -f ms\ntdll.mak
>> +    C:\SVN\openssl-0.9.7c\out32dll> cd out32dll
>> +    C:\SVN\openssl-0.9.7c\out32dll> ..\ms\test
>> +    C:\SVN\openssl-0.9.7c\out32dll> cd ..\..

> I guess it's nice to document how to build openssl here, but isn't this 
> just a copy/paste of the openssl docs?  Could we just point to it so we 
> don't have to tweak it here if openssl builds change some day?

My goal was to make it as easy as possible to get Subversion built so I think it is worth repeating 
these instructions.

>> +    C:\SVN> perl httpd-2.0.49\srclib\apr-util\build\w32locatedb.pl 
>> dll src\db4-win32\include src\db4-win32\lib
> Again, not really necessary for Subversion, though you may want it for 
> Apache.

I think I need it!

>> +      * gen-make.py is supposed to configure the build to use apr* from
>> +        the Apache build, it doens't work so the built apr* files 
>> have to
>> +        be copied from the Apache build to the src directory.
> This sounds like what 1.0.x requires...trunk no longer has this problem.

Thanks, when I try to do trunk I'll remember that!


Thank you very much, most helpful.  I am currently working on 1.0.x INSTALL.

-- 
Martin Tomes
echo 'Martin x Tomes at controls x eurotherm x co x uk'\
  | sed -e 's/ x /\./g' -e 's/ at /@/'

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: [PATCH] Update build instructions for Win32 platform.

Posted by "D.J. Heap" <dj...@shadyvale.net>.
Some notes inlined below...In some cases it appears you are documenting 
the 1.0.x series, but this patch is against trunk which has had a number 
of changes to the build system.  Have you been building trunk or 1.0.x 
with these instructions?

In any case, thanks for doing this...the Win32 portions of the INSTALL 
file could certainly use an overhaul.


Martin Tomes wrote:
> Update the instructions for building Subversion on the Win32 platform.
> 
> The new instructions are split into sections which describe what is 
> needed, how to prepare the files (unpacking, environment etc.) and how 
> to actually build the binaries with all available options turned on.
> 
>    * INSTALL
>      Update Win32 build instructions.
> 
> 
> ------------------------------------------------------------------------
> 
> Index: INSTALL
> ===================================================================
> --- INSTALL	(revision 9455)
> +++ INSTALL	(working copy)
> @@ -161,1 +161,1 @@
>        4.  Neon library 0.24.5 (http://www.webdav.org/neon/)
> 
>        The Neon library allows a Subversion client to interact with remote
> -      repositories over the Internet via a WebDAV based protocol.  If you
> -      want to use Subversion to connect to a server over ra_dav (via a
> -      http:// or https:// url), you will require Neon.
> +      repositories over the Internet via a WebDAV based protocol.  If you
> +      want to use Subversion to connect to a server over ra_dav (via a
> +      http:// or https:// url), you will require Neon.
> 
>        The Neon library source code can be installed in "./neon" if you
>        want Subversion to build it. The source code is included with the
> @@ -578,2 +578,2 @@
>    E.  Building the Latest Source under Windows
>        ----------------------------------------
> 
> -      (These instructions assume you have already installed Subversion
> -      and checked out a Subversion working copy.  See the section
> -      "Bootstrapping from a Zip or Installer File under Windows" above
> -      for more.)
> +  E.1 Prerequisites
> 
> -      There is some support for building Subversion on Win32
> -      platforms.  The project files generated by gen-make.py are for
> -      Microsoft Visual C++ 6.x; earlier versions of the compiler are
> -      not supported.  You'll also need a fairly recent version of the
> -      Microsoft Platform SDK; the header files that come with MSVC 6.x
> -      are too old.
> +      * Visual Studio 6 with the latest service pack. It can be built
> +        with Visual Studio 7 but these instructions assumes VS6.


The only difference should be the -t parameter to gen-make.py.  The 
reason we don't tell VC7+ users to just use the dsp's is because MS 
changed quoting rules for the resource compiler and then didn't bother 
to convert them correctly when converting projects.


> +      * A recent Windows SDK, the one provided with Visual Studio 6 are
> +        too old. You only need the 'Core SDK'. You can get one from MSDN
> +        if you have it or from
> +        http://www.microsoft.com/msdownload/platformsdk/sdkupdate/ if you
> +        don't.
> +      * Python 2.2, downloaded from http://www.python.org/ which is
> +        used to generate the project files.
> +      * Perl 5.8 from http://www.activestate.com/
> +      * Neon 0.24.2, downloaded from
> +        http://www.webdav.org/neon/neon-0.24.4.tar.gz which is required
> +        for building the client components.
> +      * Berkeley DB is required for support for local server components,
> +        version 4.2.52 is available from
> +        http://subversion.tigris.org/servlets/ProjectDocumentList as
> +        db-4.2.52-win32.zip. For more information see Section I.5.
> +      * Apache 2 source, downloaded from
> +        http://httpd.apache.org/download.cgi, these instructions assume
> +        version 2.0.49.
> +      * Apache 2 msi install file, also from
> +        http://httpd.apache.org/download.cgi (required for running the
> +        tests)


If you're building from source, why do you need the msi?  I've never 
needed it to run tests...


> +      * Zlib 1.1.3 from
> +        http://www.gzip.org/zlib/contrib/zlib113-win32.zip
> +      * openssl-0.9.7c.tar.gz obtained from
> +        http://www.openssl.org/source/
> +      * An assembler, e.g., nasm which is avaliable from
> +        http://www.kernel.org/pub/software/devel/nasm/binaries/win32/
> +      * For localization gnu gettext is needed.  Get
> +        gettext-runtime-0.12.1.bin.woe32.zip,
> +        gettext-tools-0.12.1.bin.woe32.zip, and
> +        libiconv-1.9.1.bin.woe32.zip from http://mirrors.kernel.org/gnu
> +      * The latest version of apr-util (see Section I.1) must be told
> +        where to find the Berkeley DB include files and libraries. You
> +        can do this with the w32locatedb.pl script (located in the
> +        "build" directory in the apr-util sources), which modifies
> +        apr-util's header and DSP files. The instructions at the top of
> +        the script file explain how to use the script.


Although possibly a good idea, this is not really necessary anymore with 
Apache 2.0.49.


> 
> -      To generate the project files, you will need Python 2.2 for Windows
> -      installed.  Installing Python will also allow you to run the test
> -      suite after you build the source.
> +        If your copy of apr-util does not contain build\w32locatedb.pl,
> +        you can download a recent version from here:
> 
> -      To build the client components, you'll need a copy of neon
> -      0.24.5.  See section I.4 for details on where to get one and
> -      what to do with it when you get it.
> +            http://subversion.tigris.org/files/documents/15/8705/w32locatedb.pl
> 
> -      [NOTE: The neon library supports secure connections with OpenSSL
> -          and on-the-wire compression with zlib. If you want to use
> -          those features, you should pass the options "--with-zlib" and
> -          "--with-openssl" to the gen-make.py script. See Section I.10
> -          for more details.]
> +        You will need Perl 5.8 to run this script.
> +      * A Subversion client binary from http://subversion.tigris.org/ to
> +        do the initial checkout of the Subversion source. See the section
> +        "Bootstrapping from a Zip or Installer File under Windows" above
> +        for more.


Or you could just download a source tarball.


> +      * A means of unpacking the files.  Native Win32 versions of gunzip,
> +        tar and unzip can be found at http://unxutils.sourceforge.net/.
> +        If you have WinZip that will also unpack the files.
> 
> +   E.2 Notes
> +
> +      The neon library supports secure connections with OpenSSL and
> +      on-the-wire compression with zlib. If you want to use those
> +      features, you should pass the options "--with-zlib" and
> +      "--with-openssl" to the gen-make.py script. See Section I.10 for
> +      more details.
> +
>        If you are installing under Win9x, NT4, or WinME, and svn.exe
>        doesn't run, try installing shfolder.dll from here:
> 
>            http://download.microsoft.com/download/platformsdk/Redist/5.50.4027.300/W9XNT4/EN-US/shfinst.EXE
> 
> -      If you want to build the (local) server components, you'll also
> -      need a copy of Berkeley DB, version 4.0.14 or newer (version 4.2.52
> -      is preferred).  Details are in Section I.5. For your convenience,
> -      there is also a binary distribution on the Subversion downloads
> -      page
> +   E.3 Preparation
> 
> -          http://subversion.tigris.org/servlets/ProjectDocumentList
> +      This section descibes how to unpack the files to make a build tree.
> 
> -      The file there is named
> +      * Make a directory SVN and cd into it.
> +      * Checkout the version of Subversion you require:
> 
> -          db-4.2.52-win32.zip
> +          svn co http://svn.collab.net/repos/svn/trunk/ src
> 
> -      Unpack the distribution into the root directory of the Subversion
> -      source tree as <SVN>\db4-win32. It's a good idea to add
> -      <SVN>\db4-win32\bin to your PATH, so that Subversion can find the
> -      Berkeley DB DLLs.
> +      * Install Visual Studio 6
> +      * Install a recent Windows Core SDK
> +      * Register the SDK with Visual Studio 6. This is a quote from the
> +        Microsoft February 2003 SDK documentation:
> 
> -      [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.]
> +       "To register the SDK bin, include, and library directories with
> +        Microsoft Visual Studio® version 6.0 and Visual Studio .NET,
> +        click Start, point to All Programs, point to Microsoft Platform
> +        SDK February 2003, point to Visual Studio Registration, and then
> +        click Register PSDK Directories with Visual Studio. This
> +        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."
> 
> -      If you build Berkeley DB from the source, you will have to copy
> -      the file db-4.2.52\build_win32\db.h to <SVN>\db4-win32\include,
> -      and all the import libraries to <SVN>\db4-win32\lib. Again, the
> -      DLLs should be somewhere in your path.
> +      * Install Python
> +      * Install Perl
> +      * Install Apache 2 using the msi file
> +      * Extract neon into SVN\src\neon
> +      * Extract the Berkeley DB files into SVN\src\db4-win32. It's a good
> +        idea to add SVN\db4-win32\bin to your PATH, so that Subversion
> +        can find the Berkeley DB DLLs.
> 
> -      The latest version of apr-util (see Section I.1) must be told
> -      where to find the Berkeley DB include files and libraries. You
> -      can do this with the w32locatedb.pl script (located in the "build"
> -      directory in the apr-util sources), which modifies apr-util's
> -      header and DSP files. The instructions at the top of the script
> -      file explain how to use the script.
> +        [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 your copy of apr-util does not contain build\w32locatedb.pl,
> -      you can download a recent version from here:
> +        If you build Berkeley DB from the source, you will have to copy
> +        the file db-4.2.52\build_win32\db.h to <SVN>\db4-win32\include,
> +        and all the import libraries to <SVN>\db4-win32\lib. Again, the
> +        DLLs should be somewhere in your path.
> 
> -          http://subversion.tigris.org/files/documents/15/8705/w32locatedb.pl
> +      * Extract Apache source into SVN\http-2.0.49
> +      * Extract the pre-built zlib into SVN\http-2.0.49\srclib\zlib
> +      * Extract openssl into SVN\openssl-0.9.7c
> +      * Extract nasm into SVN\nasm and put it in your path
> +      * Put the w32locatedb.pl script in
> +        httpd-2.0.49\srclib\apr-util\build\w32locatedb.pl
> +      * Make a directory SVN\gettext and unpack
> +        gettext-runtime-0.12.1.bin.woe32.zip,
> +        gettext-tools-0.12.1.bin.woe32.zip, and
> +        libiconv-1.9.1.bin.woe32.zip into it.  Add SVN\gettext\bin to your
> +        path, SVN\gettext\include to your INCLUDE path and
> +        SVN\gettext\lib to your LIB path environment variables.  You can
> +        add these on the command line as shown below.
> 
> -      You will need Perl 5.8 to run this script.
> +   E.4 Building the Binaries
> 
> -      To build the Apache module, you will also need the Apache 2.0.49
> -      or later Win32 source. You can download it from here:
> +    Start in the SVN directory you created.
> 
> -          http://httpd.apache.org/download.cgi
> +    OpenSSL
> 
> -      Finally, you will need to copy the Apache apr libraries into the
> -      root of the Subversion source tree.
> +    C:\SVN> cd openssl-0.9.7c
> +    C:\SVN\openssl-0.9.7c> perl Configure VC-WIN32
> +    C:\SVN\openssl-0.9.7c> ms\do_nasm
> +    C:\SVN\openssl-0.9.7c> nmake -f ms\ntdll.mak
> +    C:\SVN\openssl-0.9.7c\out32dll> cd out32dll
> +    C:\SVN\openssl-0.9.7c\out32dll> ..\ms\test
> +    C:\SVN\openssl-0.9.7c\out32dll> cd ..\..


I guess it's nice to document how to build openssl here, but isn't this 
just a copy/paste of the openssl docs?  Could we just point to it so we 
don't have to tweak it here if openssl builds change some day?


> 
> -      [NOTE: Subversion can use the gettext tools and library for localization
> -          support.  Use the "--enable-nls" option to the gen-make.py script.
> -          You will need a working gettext development installation with it's
> -          'bin' directory in your system's PATH and it's 'include' and 'lib'
> -          directories in your system's INCLUDE and LIB paths.  The runtime
> -          packages from http://mirrors.kernel.org/gnu
> -          (gettext-runtime-0.12.1.bin.woe32.zip,
> -          gettext-tools-0.12.1.bin.woe32.zip, and libiconv-1.9.1.bin.woe32.zip)
> -          have been tested and are known to work.]
> +    Apache 2
> 
> -      Walkthrough:
> +    C:\SVN> perl httpd-2.0.49\srclib\apr-util\build\w32locatedb.pl dll src\db4-win32\include src\db4-win32\lib


Again, not really necessary for Subversion, though you may want it for 
Apache.


> +    C:\SVN> msdev httpd-2.0.49\apache.dsw /MAKE "BuildBin - Win32 Release"
> 
> -          Unzip the Apache source, copy the w32locatedb.pl script to the
> -          srclib\apr-util\build directory, and run it to prepare the
> -          apr-util sources.
> +    Subversion
> 
> -          Open the Apache.dsw file and build the Apache source. If you
> -          don't compile Apache, mod_dav_svn will not build.
> +    Things to note:
> 
> -          Run "python gen-make.py -t dsp --with-httpd=<path-to-httpd>"
> -          to generate the Visual C++ 6.x project files. If you don't
> -          want to build mod_dav_svn, omit the --with-httpd option. In
> -          this case, 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 "python gen-make.py -help" to see other options.
> +      * gen-make.py is supposed to configure the build to use apr* from
> +        the Apache build, it doens't work so the built apr* files have to
> +        be copied from the Apache build to the src directory.


This sounds like what 1.0.x requires...trunk no longer has this problem.


> +      * The generated dsw file doesn't build all of the tests so there
> +        are explicit msdev commands to build test_utf and test_ra_local.


Same here...


> +      * If you don't want to build mod_dav_svn, omit the --with-httpd
> +        option. In this case, 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.
> +      * If you would like a debug build substitute Debug for Release in
> +        the msdev commands.
> +      * There have been rumors that Subversion on Win32 can be built
> +        using the latest cygwin. ymmv.
> +      * If you don't want to build with localization support then leave
> +        --enable-nls off the gen-make.py command.
> +      * The /USEENV switch to msdev makes it take notice of the INCLUDE
> +        and LIB environment variables.  Do *not* use this switch when
> +        starting up the msdev Visual environment.  If you wish to build
> +        in the Visual environment you must add the required include and
> +        lib directories using the Tools/Options/Directories settings.
> 
> -          Open the subversion_msvc.dsw file gen-make creates in the
> -          top-level directory. Compile the __ALL__ target to compile
> -          everything, __ALL_TESTS__ to also build the test programs.
> +    C:\SVN> PATH=%PATH%;C:\SVN\src\db4-win32;C:\SVN\nasm;C:\Python22;C:\SVN\gettext\bin
> +    C:\SVN> set INCLUDE=%INCLUDE%;C:\SVN\gettext\include
> +    C:\SVN> set LIB=%LIB%;C:\SVN\gettext\lib
> +    C:\SVN> mkdir src/apr
> +    C:\SVN> mkdir src/apr-iconv
> +    C:\SVN> mkdir src/apr-util
> +    C:\SVN> xcopy httpd-2.0.49\srclib\apr src\apr
> +    C:\SVN> xcopy httpd-2.0.49\srclib\apr-iconv src\apr-iconv
> +    C:\SVN> xcopy httpd-2.0.49\srclib\apr-util src\apr-util
> +    C:\SVN> cd src
> +    C:\SVN\src> python gen-make.py -t dsp --with-httpd=..\httpd-2.0.49 --with-berkeley-db=db4-win32 --with-openssl=..\openssl-0.9.7c --with-zlib=..\zlib --enable-nls
> +    C:\SVN\src> msdev subversion_msvc.dsw /USEENV /MAKE "__ALL__ - Win32 Release"
> +    C:\SVN\src> msdev subversion_msvc.dsw /USEENV /MAKE "test_utf - Win32 Release"
> +    C:\SVN\src> msdev subversion_msvc.dsw /USEENV /MAKE "test_ra_local - Win32 Release"


Shouldn't need to do any of the apr copying or special test building 
with trunk...


> 
> -      The following is a sample script.
> -      gunzip, tar, and unzip are native win32 apps taken from
> +    The binaries have now been built.
> 
> -          http://unxutils.sourceforge.net/
> +   E.5 Packaging the binaries
> 
> -      C:\SVN> svn co http://svn.collab.net/repos/svn/trunk src
> -      C:\SVN> gunzip neon-0.24.5.tar.gz
> -      C:\SVN> cd src
> -      C:\SVN\src> tar -xvf ..\neon-0.24.5.tar
> -      C:\SVN\src> ren neon-0.24.5 neon
> -      C:\SVN\src> unzip ..\db-4.2.52-win32.zip
> -      C:\SVN\src> cd ..
> -      C:\SVN> unzip httpd_2.0.49-win32-src.zip
> -      C:\SVN> copy w32locatedb.pl httpd-2.0.49\srclib\apr-util\build
> -      C:\SVN> perl httpd-2.0.49\srclib\apr-util\build\w32locatedb.pl dll src\db4-win32\include src\db4-win32\lib
> -      C:\SVN> msdev httpd-2.0.49\apache.dsw /MAKE "BuildBin - Win32 Debug"
> -      C:\SVN> cd src
> -      C:\SVN\src> python gen-make.py -t dsp --with-httpd=..\httpd-2.0.49
> -      C:\SVN\src> msdev subversion_msvc.dsw /MAKE "__ALL__ - Win32 Debug"
> +    You now need to copy the binaries ready to make the release zip
> +    file. You also need to do this to run the tests as the new binaries
> +    need to be in your path.
> 
> -      [NOTE: Substitute "Release" for "Debug" in the "msdev" command lines
> -          above if you want binaries optimized for release.]
> +    From within the SVN directory copy these files (substitute the
> +    version number as required):
> 
> -      [ALSO NOTE: There have been rumors that Subversion on Win32 can be built
> -          using the latest cygwin. ymmv.]
> +    C:\SVN> mkdir svn-win32-trunk
> +    C:\SVN> mkdir svn-win32-trunk\bin
> +    C:\SVN> mkdir svn-win32-trunk\httpd
> +    C:\SVN> mkdir svn-win32-trunk\iconv
> +    C:\SVN> copy src\db4-win32\bin\libdb42.dll svn-win32-trunk\bin
> +    C:\SVN> copy openssl-0.9.7c\out32dll\libeay32.dll svn-win32-trunk\bin
> +    C:\SVN> copy openssl-0.9.7c\out32dll\ssleay32.dll svn-win32-trunk\bin
> +    C:\SVN> copy src\Release\subversion\clients\cmdline\svn.exe svn-win32-trunk\bin
> +    C:\SVN> copy src\Release\subversion\svnadmin\svnadmin.exe svn-win32-trunk\bin
> +    C:\SVN> copy src\Release\subversion\svndumpfilter\svndumpfilter.exe svn-win32-trunk\bin
> +    C:\SVN> copy src\Release\subversion\svnlook\svnlook.exe svn-win32-trunk\bin
> +    C:\SVN> copy src\Release\subversion\svnserve\svnserve.exe svn-win32-trunk\bin
> +    C:\SVN> copy src\Release\subversion\svnversion\svnversion.exe svn-win32-trunk\bin
> +    C:\SVN> copy src\Release\subversion\mod_authz_svn\mod_authz_svn.so svn-win32-trunk\httpd
> +    C:\SVN> copy src\Release\subversion\mod_dav_svn\mod_dav_svn.so svn-win32-trunk\httpd
> +    C:\SVN> copy src\apr-iconv\Release\iconv\*.so svn-win32-trunk\iconv


On trunk we also need the apr dll's.


> 
> +   E.6 Testing the Binaries
> 
> +    The build process creates the binary test programs but it does not
> +    copy the client tests into the release test area.
> +
> +    C:\SVN> mkdir src\Release\subversion\tests\clients
> +    C:\SVN> xcopy /S /Y src\subversion\tests\clients src\Release\subversion\tests\clients
> +
> +    Assuming Apache 2 is instaled in
> +    C:\Program Files\Apache Group\Apache2 copy the dso files into the
> +    Apache modules directory.
> +
> +    C:\SVN> copy src\Release\subversion\mod_dav_svn\mod_dav_svn.so C:\Program Files\Apache Group\Apache2\modules
> +    C:\SVN> copy src\Release\subversion\mod_authz_svn\mod_authz_svn.so C:\Program Files\Apache Group\Apache2\modules
> +
> +    Put the svn-win32-trunk\bin directory at the start of your path so
> +    you run the newly built binaries and not another version you might
> +    have installed.
> +
> +    Configure Apache to use the mod_dav_svn and mod_authz_svn modules by
> +    making sure these lines appear uncommented in httpd.conf:
> +
> +      LoadModule dav_module         modules/mod_dav.so
> +      LoadModule dav_fs_module      modules/mod_dav_fs.so
> +      LoadModule dav_svn_module     modules/mod_dav_svn.so
> +      LoadModule authz_svn_module   modules/mod_authz_svn.so
> +
> +    And further down the file add location directives to point to the
> +    test repositories. Change the paths to the SVN directory you created:
> +
> +      <Location /repositories>
> +       DAV svn
> +       SVNParentPath C:/SVN/src/Release/subversion/tests/clients/cmdline/repositories
> +      </Location>
> +
> +      <Location /local_tmp/repos>
> +       DAV svn
> +       SVNPath c:/SVN/src/Release/subversion/tests/clients/cmdline/local_tmp/repos
> +      </Location>
> +
> +    Then restart Apache and run the tests:
> +
> +    C:\SVN> cd src
> +    C:\SVN\src> python win-tests.py -r -v
> +    C:\SVN\src> python win-tests.py -r -v -u http://localhost/svn/repos/


As someone else noted, the url to run the tests isn't quite right.


>  
>  III.  BUILDING A SUBVERSION SERVER
>        ============================
> 
> 
> 


Thanks!

DJ


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: [PATCH] Update build instructions for Win32 platform.

Posted by Martin Tomes <li...@tomes.org>.
John Peacock wrote:
> Ben Reser wrote:
>> On Mon, Apr 26, 2004 at 11:01:08AM +0100, Martin Tomes wrote:
>>> I am going to submit two patches, one for INSTALL on 1.0.x and 
>>> another for the trunk as they are so different.
>> One is fine.  The files are identical.
> If I'm not mistaken, I think he was saying that the /steps/ are 
> different for trunk than for 1.0.x, so that is why he has to produce two 
> patches.

Correct!  Making myself clear is not my strong point:-)

-- 
Martin

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: [PATCH] Update build instructions for Win32 platform.

Posted by John Peacock <jp...@rowman.com>.
Ben Reser wrote:

> On Mon, Apr 26, 2004 at 11:01:08AM +0100, Martin Tomes wrote:
> 
>>I am going to submit two patches, one for INSTALL on 1.0.x and another for 
>>the trunk as they are so different.
> 
> 
> One is fine.  The files are identical.
> 

If I'm not mistaken, I think he was saying that the /steps/ are different for 
trunk than for 1.0.x, so that is why he has to produce two patches.

John

-- 
John Peacock
Director of Information Research and Technology
Rowman & Littlefield Publishing Group
4501 Forbes Boulevard
Suite H
Lanham, MD  20706
301-459-3366 x.5010
fax 301-429-5748

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: [PATCH] Update build instructions for Win32 platform.

Posted by Ben Reser <be...@reser.org>.
On Mon, Apr 26, 2004 at 11:01:08AM +0100, Martin Tomes wrote:
> I am going to submit two patches, one for INSTALL on 1.0.x and another for 
> the trunk as they are so different.

One is fine.  The files are identical.

-- 
Ben Reser <be...@reser.org>
http://ben.reser.org

"Conscience is the inner voice which warns us somebody may be looking."
- H.L. Mencken

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: [PATCH] Update build instructions for Win32 platform.

Posted by Martin Tomes <li...@tomes.org>.
Mark Phippard wrote:

Thanks for the comments, very helpful...

> 1)  When Python is installed it has to be added to the PATH.

Added that to instructions.

> 2)  I had problems building Apache relating to mod_ssl and mod_deflate. 

Error in instructions, I intended to not build them, although my latest INSTALL instructions do add 
zlib to apache and it works.

> 3)  I tried a lot of different versions of ZLIB, some with source, some 
> without, and never could get mod_deflate to build.

It appears to work with zlib 1.1.4.

> 4)  For mod_ssl, the make file needed some GNU utilities like bison, I 

Now not built, as you say it's not needed anyway.

> 5)  There is a newer version of OpenSSL.  Instructions should point to it, 

I now use 0.9.7d which should be OK.

> 6)  There are many newer versions of ZLIB.  I couldn't get any of them to 
> build with Apache, but worked fine with SVN.

I got both to build with 1.1.4

> 7)  If OpenSSL is to be used with mod_ssl it has to be unpacked into an 

Fixed the instructions.

> 8)  Your "xcopy" instructions for APR folders left off the "/S" switch. 

Fixed, thanks.

> 9)  Your instructions had the user create an SVN repository for no obvious 
> reason why.  This became a little confusing later when running the tests.

Mistake, now removed.

> 10)  Finally, your instructions for running the tests gives an invalid 
> URL.  It should just be http://localhost 
Fixed.

I am going to submit two patches, one for INSTALL on 1.0.x and another for the trunk as they are so 
different.

-- 
Martin Tomes
echo 'Martin x Tomes at controls x eurotherm x co x uk'\
  | sed -e 's/ x /\./g' -e 's/ at /@/'

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: [PATCH] Update build instructions for Win32 platform.

Posted by Mark Phippard <Ma...@softlanding.com>.
Martin,

Thanks for the instructions you posted yesterday.  They inspired me to 
give it a try.  I ultimately got it working but did have a few problems 
along the way.  Since you are submitting a patch for INSTALL, let me point 
them out to you.  These are all based on what you had on subversionary.org 
yesterday.

By the way, I am a total SVN newbie and this was the first time I ever 
attempted to build it myself.

I started with a virgin Win2K install using VMWare.

1)  When Python is installed it has to be added to the PATH.

2)  I had problems building Apache relating to mod_ssl and mod_deflate. 
Since neither of these are required for the purposes of why we are 
building Apache, I would recommend that your instructions do not place 
OpenSSL and ZLIB within the Apache srclib folder.  Actually, this also 
would solve problems later in your instructions where you are referring to 
those folders at a higher location in the directory tree.

3)  I tried a lot of different versions of ZLIB, some with source, some 
without, and never could get mod_deflate to build.

4)  For mod_ssl, the make file needed some GNU utilities like bison, I 
noticed the Apache instructions say it needs awk.  I was able to find and 
download these, but putting them in the PATH did not solve the problem.  I 
finally found some docs that explained that there is an executable PATH 
within VC++ that you have to specify for NMAKE to find them.  This is 
under Tools -> Options ...  Directories (Executables).  If the 
instructions were changed such that mod_ssl was not ging to be built then 
perhaps these would not be needed at all?  If they are needed, then this 
should be added to the instructions.  I think when VC++ is installed, it 
takes everything currently in your PATH and "primes" these settings 
internally, so that might be why some people do not run into it.

5)  There is a newer version of OpenSSL.  Instructions should point to it, 
or explain that you cannot use it for reason XYZ.

6)  There are many newer versions of ZLIB.  I couldn't get any of them to 
build with Apache, but worked fine with SVN.

7)  If OpenSSL is to be used with mod_ssl it has to be unpacked into an 
"openssl" folder, as your instructions state, but later you are using the 
fully versioned folder name (openssl-0.9.7c).  Again, if we just skip the 
mod_ssl stuff this becomes moot.

8)  Your "xcopy" instructions for APR folders left off the "/S" switch. 

9)  Your instructions had the user create an SVN repository for no obvious 
reason why.  This became a little confusing later when running the tests.

10)  Finally, your instructions for running the tests gives an invalid 
URL.  It should just be http://localhost 

Thanks a lot!

Mark