RE: Windows build
-Original Message- From: Nathan Hartman Sent: Tuesday, March 15, 2022 4:21 PM To: Daniel Sahlberg Cc: Subversion Development Subject: Re: Windows build On Tue, Mar 15, 2022 at 11:10 AM Daniel Sahlberg wrote: > > Hi, > > I'm once again restarting my efforts on a solid Windows build environment. > I've been checking the scripts in build/win32 and believe these might be a > reasonable starting point. I still have a set of files to build Subversion and most dependencies as part of the SharpSvn build, which used to drive a few Windows buildbots as well. (I think they are still offline after the recent buildbot master upgrade). The scripts also allow building Subversion and its dependencies on GitHub actions. (The SlikSvn Subversion binaries are built on that environment). https://github.com/AmpScm/SharpSvn/ is the new canonical url, after moving away from open.collab.net. (dependency scripts are all in the imports subdirectory) I just upgraded the scripts there to build on Visual Studio 2022 (see r1899028 for the changes on the Subversion side) as that is now the default build environment on GitHub's 'windows-latest' actions. Bert
Re: Windows build
I have shared this before, but hopefully it’s helpful. I found documentation incredibly confusing. This is what I use myself. It does need some minor updating for VS 2022, newer JDK, etc but it’s functional. https://gist.github.com/ahwm/47dca1ae4290094a539d5dcc30338fb9 Based on the work here: https://github.com/Jan-E/svn-windows From: Nathan Hartman Sent: Tuesday, March 15, 2022 09:21 To: Daniel Sahlberg Cc: Subversion Development Subject: Re: Windows build On Tue, Mar 15, 2022 at 11:10 AM Daniel Sahlberg wrote: > > Hi, > > I'm once again restarting my efforts on a solid Windows build environment. > I've been checking the scripts in build/win32 and believe these might be a > reasonable starting point. > > Does anyone have recent (or not so recent...) notes on what you did to set it > up? > > If you feel the notes are not in shape to share publically, send them offlist > and I can edit them. > > Thanks, > Daniel Sahlberg You'll probably want to start with this thread: "Building SVN (dependencies) on Windows" started April 20, 2020: https://lists.apache.org/thread/qf1tfohrwjrjk4qm1j1l8z11hfthlcq3 That's a collection of Johan's notes on the subject. The thread seems to be discontiguous in the archives. There's more discussion that follows, though it is less relevant: https://lists.apache.org/thread/qdvl8hdb19fnq75qfx5wmxm5b1ylkdzd The first message above is the most important one. Around that time, I wanted to setup a Windows build and test environment also. Other things got in the way but I'd still like to do it and have more than one person around who can build and test on Windows!! There are also some notes in INSTALL: https://svn.apache.org/viewvc/subversion/trunk/INSTALL?view=markup Though some of the information there is dated... Cheers, Nathan
Re: Windows build
Daniel Sahlberg wrote on Tue, Mar 15, 2022 at 16:09:51 +0100: > Hi, > > I'm once again restarting my efforts on a solid Windows build environment. > I've been checking the scripts in build/win32 and believe these might be a > reasonable starting point. > > Does anyone have recent (or not so recent...) notes on what you did to set > it up? tools/dev/windows-build/ tools/dev/build-svn-deps-win.pl https://svn.apache.org/repos/infra/infrastructure/buildbot/aegis/buildmaster/master1/projects/subversion.conf?p=1078449 (peg revision because the directory was deleted in the peg revision; I don't know the new home, if any) Cheers, Daniel > If you feel the notes are not in shape to share publically, send them > offlist and I can edit them. > > Thanks, > Daniel Sahlberg
Re: Windows build
On Tue, Mar 15, 2022 at 11:10 AM Daniel Sahlberg wrote: > > Hi, > > I'm once again restarting my efforts on a solid Windows build environment. > I've been checking the scripts in build/win32 and believe these might be a > reasonable starting point. > > Does anyone have recent (or not so recent...) notes on what you did to set it > up? > > If you feel the notes are not in shape to share publically, send them offlist > and I can edit them. > > Thanks, > Daniel Sahlberg You'll probably want to start with this thread: "Building SVN (dependencies) on Windows" started April 20, 2020: https://lists.apache.org/thread/qf1tfohrwjrjk4qm1j1l8z11hfthlcq3 That's a collection of Johan's notes on the subject. The thread seems to be discontiguous in the archives. There's more discussion that follows, though it is less relevant: https://lists.apache.org/thread/qdvl8hdb19fnq75qfx5wmxm5b1ylkdzd The first message above is the most important one. Around that time, I wanted to setup a Windows build and test environment also. Other things got in the way but I'd still like to do it and have more than one person around who can build and test on Windows!! There are also some notes in INSTALL: https://svn.apache.org/viewvc/subversion/trunk/INSTALL?view=markup Though some of the information there is dated... Cheers, Nathan
Windows build
Hi, I'm once again restarting my efforts on a solid Windows build environment. I've been checking the scripts in build/win32 and believe these might be a reasonable starting point. Does anyone have recent (or not so recent...) notes on what you did to set it up? If you feel the notes are not in shape to share publically, send them offlist and I can edit them. Thanks, Daniel Sahlberg
Re: Windows Build
On Sat, Feb 27, 2021 at 8:31 AM Daniel Shahaf wrote: > Alan Fry wrote on Fri, Feb 26, 2021 at 11:19:27 -0500: > > "Visual Studio". I'm brand new to open source development. And since > I've > > lived in a MS world at work, I made the automatic "Windows = Visual > > Studio". I'd like to ask up-front for any advice. Is the expectation > for > > build(s) to be vendor neutral and/or would it be helpful if the build was > > specific for VS and maybe GNU (assuming there is a windows version)? > > Apache projects are required to be vendor-neutral since The ASF is > a 501(c)3 charity. > > That doesn't rule out having a VS-specific build process. Rather, it > means that if someone shows up with a patch adding a ${competitor_of_VS} > build process, that patch should be considered on its merits; it can't > just be waved off with "we're a VS project". > Ok, good to know. Given this information, I'm likely going to do a VS specific build process first (since it's what I'm most familiar with).
Re: Windows Build
Alan Fry wrote on Fri, Feb 26, 2021 at 11:19:27 -0500: > "Visual Studio". I'm brand new to open source development. And since I've > lived in a MS world at work, I made the automatic "Windows = Visual > Studio". I'd like to ask up-front for any advice. Is the expectation for > build(s) to be vendor neutral and/or would it be helpful if the build was > specific for VS and maybe GNU (assuming there is a windows version)? Apache projects are required to be vendor-neutral since The ASF is a 501(c)3 charity. That doesn't rule out having a VS-specific build process. Rather, it means that if someone shows up with a patch adding a ${competitor_of_VS} build process, that patch should be considered on its merits; it can't just be waved off with "we're a VS project". Cheers, Daniel > "nmake vs. cmake". I read some threads that talked about moving to cmake? > Is this something that would be desirable? Anyone have any comments about > this? > On Wed, Feb 24, 2021 at 10:27 AM Adam Humpherys > wrote: > > > I'm pretty sure I've shared this previously, but wanted to bring it up > > again - https://gist.github.com/ahwm/47dca1ae4290094a539d5dcc30338fb9 > > > > This mimics my build environment. I've not tried TortoiseSVN's builds so > > I'm not sure how they compare. The binaries shipped with TSVN don't have > > the modules and that's primarily what I've looked for so I haven't explored > > there too much. > > > > I also haven't had the chance to update it to use SVN 1.14.1 either. > > > > -- > > Adam Humpherys > > TheScripters > > "Bringing the World to You" > > Contact: a...@thescripters.com > > > > > > > > On Wed, Feb 24, 2021 at 7:14 AM Alan Fry wrote: > > > >> This is great information, thank you Daniel. > >> > >> I'm traveling for work right now and will be back on the 8th of March. > >> Then I can dig into the details of a windows build. I'll mention again > >> that I'm a windows developer, so this should be significantly faster, and > >> require less help :). > >> > >> You had mentioned before that TSVN uses NAnt? Is there some feature that > >> you like? I've never used it and don't know much about it. > >> > >> Building ground up from source is a technique I've used over the years > >> and has it's benefits. These days external components are generally nuget > >> packages and our build process(s) pull each build (this is for an internal > >> product used at the company I work for). I don't know in the open-source > >> world which option is best, build everything from source, or take > >> "official" libraries for dependencies. Any insight would be great on this, > >> I can do either. > >> > >> > >> > >> > >> > >> On Wed, Feb 17, 2021 at 6:25 PM Daniel Sahlberg < > >> daniel.l.sahlb...@gmail.com> wrote: > >> > >>> Den ons 17 feb. 2021 kl 17:31 skrev Nathan Hartman < > >>> hartman.nat...@gmail.com>: > >>> > > >>> > On Wed, Feb 17, 2021 at 11:12 AM Alan Fry wrote: > >>> > > For all that helped w/ the Linux build, thank you, I have a set of > >>> > > repeatable build instructions for Subversion on linux. If there is > >>> > > value, I'd be happy to post those. I verified those instructions > >>> > > last night, building from ground up a VM that builds and > >>> > > successfully runs 'make check'. > >>> > > >>> > Yes, please do! It will likely help others. Also perhaps others will > >>> > chime in and offer suggestions on easier ways to do some things. > >>> > > >>> > > I'd like to do the same with Windows. Several have sent me links > >>> > > for instructions, however I'd like to ask if there is a recent, > >>> > > relatively agreed upon set of instructions, before I start. > >>> > > Otherwise, I'll just pick one and give it a try. > >>> > > >>> > The thread "Building SVN (dependencies) on Windows" to our dev@ list > >>> > on 20 Apr 2020 has a collection of useful information. That can be > >>> > found at any of these links: > >>> > > >>> > https://svn.haxx.se/dev/archive-2020-04/0090.shtml > >>> > > >>> > > >>> https://mail-archives.apache.org/mod_mbox/subversion-dev/202004.mbox/%3cCAB84uBW0RTUkNj30zXFLOtT3=xbhxdarvlnuotnmbg-xqq6...@
Re: Windows Build
On Wed, Feb 24, 2021 at 5:41 PM Daniel Sahlberg wrote: > Den ons 24 feb. 2021 kl 15:14 skrev Alan Fry : > >> This is great information, thank you Daniel. >> >> I'm traveling for work right now and will be back on the 8th of March. >> Then I can dig into the details of a windows build. I'll mention again >> that I'm a windows developer, so this should be significantly faster, and >> require less help :). >> >> You had mentioned before that TSVN uses NAnt? Is there some feature that >> you like? I've never used it and don't know much about it. >> > > It uses some quite clever XML based "makefiles", but the project seems > fairly dead. I havn't touched the build scripts, only built it on a few > different computers and it is a very straight forward process, building all > dependencies from source. (Including building Subversion both as DLL files > and as command line executables). > > Building ground up from source is a technique I've used over the years and >> has it's benefits. These days external components are generally nuget >> packages and our build process(s) pull each build (this is for an internal >> product used at the company I work for). I don't know in the open-source >> world which option is best, build everything from source, or take >> "official" libraries for dependencies. Any insight would be great on this, >> I can do either. >> > > If we would have to build all dependencies from source, then it might be > beneficial to look at what they are using and see if something could be > re-used. I'm guessing that TSVN is maintaining their build scripts by hand > which would be good to avoid. > I'll take a look at it. > > Someone mentioned CMake (and I think they also talked about using it on > Linux) and any work done on Windows might even be groundwork for a new > crossplatform build system :-) > > I know that Cmake is now supported in Visual studio. But that's a vendor app. Would a cmake cross platform build be a good target?
Re: Windows Build
Thanks Adam, I am actually going to start with this particular script (yes, you had shared it before). This might be a good time to ask some Windows Specific build questions: "Visual Studio". I'm brand new to open source development. And since I've lived in a MS world at work, I made the automatic "Windows = Visual Studio". I'd like to ask up-front for any advice. Is the expectation for build(s) to be vendor neutral and/or would it be helpful if the build was specific for VS and maybe GNU (assuming there is a windows version)? "nmake vs. cmake". I read some threads that talked about moving to cmake? Is this something that would be desirable? Anyone have any comments about this? On Wed, Feb 24, 2021 at 10:27 AM Adam Humpherys wrote: > I'm pretty sure I've shared this previously, but wanted to bring it up > again - https://gist.github.com/ahwm/47dca1ae4290094a539d5dcc30338fb9 > > This mimics my build environment. I've not tried TortoiseSVN's builds so > I'm not sure how they compare. The binaries shipped with TSVN don't have > the modules and that's primarily what I've looked for so I haven't explored > there too much. > > I also haven't had the chance to update it to use SVN 1.14.1 either. > > -- > Adam Humpherys > TheScripters > "Bringing the World to You" > Contact: a...@thescripters.com > > > > On Wed, Feb 24, 2021 at 7:14 AM Alan Fry wrote: > >> This is great information, thank you Daniel. >> >> I'm traveling for work right now and will be back on the 8th of March. >> Then I can dig into the details of a windows build. I'll mention again >> that I'm a windows developer, so this should be significantly faster, and >> require less help :). >> >> You had mentioned before that TSVN uses NAnt? Is there some feature that >> you like? I've never used it and don't know much about it. >> >> Building ground up from source is a technique I've used over the years >> and has it's benefits. These days external components are generally nuget >> packages and our build process(s) pull each build (this is for an internal >> product used at the company I work for). I don't know in the open-source >> world which option is best, build everything from source, or take >> "official" libraries for dependencies. Any insight would be great on this, >> I can do either. >> >> >> >> >> >> On Wed, Feb 17, 2021 at 6:25 PM Daniel Sahlberg < >> daniel.l.sahlb...@gmail.com> wrote: >> >>> Den ons 17 feb. 2021 kl 17:31 skrev Nathan Hartman < >>> hartman.nat...@gmail.com>: >>> > >>> > On Wed, Feb 17, 2021 at 11:12 AM Alan Fry wrote: >>> > > For all that helped w/ the Linux build, thank you, I have a set of >>> > > repeatable build instructions for Subversion on linux. If there is >>> > > value, I'd be happy to post those. I verified those instructions >>> > > last night, building from ground up a VM that builds and >>> > > successfully runs 'make check'. >>> > >>> > Yes, please do! It will likely help others. Also perhaps others will >>> > chime in and offer suggestions on easier ways to do some things. >>> > >>> > > I'd like to do the same with Windows. Several have sent me links >>> > > for instructions, however I'd like to ask if there is a recent, >>> > > relatively agreed upon set of instructions, before I start. >>> > > Otherwise, I'll just pick one and give it a try. >>> > >>> > The thread "Building SVN (dependencies) on Windows" to our dev@ list >>> > on 20 Apr 2020 has a collection of useful information. That can be >>> > found at any of these links: >>> > >>> > https://svn.haxx.se/dev/archive-2020-04/0090.shtml >>> > >>> > >>> https://mail-archives.apache.org/mod_mbox/subversion-dev/202004.mbox/%3cCAB84uBW0RTUkNj30zXFLOtT3=xbhxdarvlnuotnmbg-xqq6...@mail.gmail.com%3e >>> > >>> > >>> https://lists.apache.org/thread.html/r59a30aabaab7bf69effa909b331eaa177418325280ea25859e8fa294%40%3Cdev.subversion.apache.org%3E >>> >>> In addition to this excellent thread it might be interesting to take a >>> look at TortoiseSVN's build process [1]. >>> >>> As far as I understand it, all dependencies are build from source. >>> Dependencies sit in [2], some (such as OpenSSL) are simply copied into >>> the repository (I'm guessing from release tarballs, sometimes with >>> local patches on top) and some (such as Subversion and APR) are >>> svn:externals. >>> >>> TSVN uses NAnt [3] with a homegrown build script. >>> >>> I'm out of time to dig around at building on Win myself but I'm happy >>> to test out any instructions. >>> >>> Kind regards, >>> Daniel Sahlberg >>> >>> [1] https://svn.osdn.net/svnroot/tortoisesvn/trunk/build.txt >>> [2] https://svn.osdn.net/svnroot/tortoisesvn/trunk/ext >>> [3] http://nant.sourceforge.net/ >>> >>
Re: Windows Build
Den ons 24 feb. 2021 kl 15:14 skrev Alan Fry : > This is great information, thank you Daniel. > > I'm traveling for work right now and will be back on the 8th of March. > Then I can dig into the details of a windows build. I'll mention again > that I'm a windows developer, so this should be significantly faster, and > require less help :). > > You had mentioned before that TSVN uses NAnt? Is there some feature that > you like? I've never used it and don't know much about it. > It uses some quite clever XML based "makefiles", but the project seems fairly dead. I havn't touched the build scripts, only built it on a few different computers and it is a very straight forward process, building all dependencies from source. (Including building Subversion both as DLL files and as command line executables). Building ground up from source is a technique I've used over the years and > has it's benefits. These days external components are generally nuget > packages and our build process(s) pull each build (this is for an internal > product used at the company I work for). I don't know in the open-source > world which option is best, build everything from source, or take > "official" libraries for dependencies. Any insight would be great on this, > I can do either. > If we would have to build all dependencies from source, then it might be beneficial to look at what they are using and see if something could be re-used. I'm guessing that TSVN is maintaining their build scripts by hand which would be good to avoid. Someone mentioned CMake (and I think they also talked about using it on Linux) and any work done on Windows might even be groundwork for a new crossplatform build system :-) Kind regards, Daniel Sahlberg
Re: Windows Build
I'm pretty sure I've shared this previously, but wanted to bring it up again - https://gist.github.com/ahwm/47dca1ae4290094a539d5dcc30338fb9 This mimics my build environment. I've not tried TortoiseSVN's builds so I'm not sure how they compare. The binaries shipped with TSVN don't have the modules and that's primarily what I've looked for so I haven't explored there too much. I also haven't had the chance to update it to use SVN 1.14.1 either. -- Adam Humpherys TheScripters "Bringing the World to You" Contact: a...@thescripters.com On Wed, Feb 24, 2021 at 7:14 AM Alan Fry wrote: > This is great information, thank you Daniel. > > I'm traveling for work right now and will be back on the 8th of March. > Then I can dig into the details of a windows build. I'll mention again > that I'm a windows developer, so this should be significantly faster, and > require less help :). > > You had mentioned before that TSVN uses NAnt? Is there some feature that > you like? I've never used it and don't know much about it. > > Building ground up from source is a technique I've used over the years and > has it's benefits. These days external components are generally nuget > packages and our build process(s) pull each build (this is for an internal > product used at the company I work for). I don't know in the open-source > world which option is best, build everything from source, or take > "official" libraries for dependencies. Any insight would be great on this, > I can do either. > > > > > > On Wed, Feb 17, 2021 at 6:25 PM Daniel Sahlberg < > daniel.l.sahlb...@gmail.com> wrote: > >> Den ons 17 feb. 2021 kl 17:31 skrev Nathan Hartman < >> hartman.nat...@gmail.com>: >> > >> > On Wed, Feb 17, 2021 at 11:12 AM Alan Fry wrote: >> > > For all that helped w/ the Linux build, thank you, I have a set of >> > > repeatable build instructions for Subversion on linux. If there is >> > > value, I'd be happy to post those. I verified those instructions >> > > last night, building from ground up a VM that builds and >> > > successfully runs 'make check'. >> > >> > Yes, please do! It will likely help others. Also perhaps others will >> > chime in and offer suggestions on easier ways to do some things. >> > >> > > I'd like to do the same with Windows. Several have sent me links >> > > for instructions, however I'd like to ask if there is a recent, >> > > relatively agreed upon set of instructions, before I start. >> > > Otherwise, I'll just pick one and give it a try. >> > >> > The thread "Building SVN (dependencies) on Windows" to our dev@ list >> > on 20 Apr 2020 has a collection of useful information. That can be >> > found at any of these links: >> > >> > https://svn.haxx.se/dev/archive-2020-04/0090.shtml >> > >> > >> https://mail-archives.apache.org/mod_mbox/subversion-dev/202004.mbox/%3cCAB84uBW0RTUkNj30zXFLOtT3=xbhxdarvlnuotnmbg-xqq6...@mail.gmail.com%3e >> > >> > >> https://lists.apache.org/thread.html/r59a30aabaab7bf69effa909b331eaa177418325280ea25859e8fa294%40%3Cdev.subversion.apache.org%3E >> >> In addition to this excellent thread it might be interesting to take a >> look at TortoiseSVN's build process [1]. >> >> As far as I understand it, all dependencies are build from source. >> Dependencies sit in [2], some (such as OpenSSL) are simply copied into >> the repository (I'm guessing from release tarballs, sometimes with >> local patches on top) and some (such as Subversion and APR) are >> svn:externals. >> >> TSVN uses NAnt [3] with a homegrown build script. >> >> I'm out of time to dig around at building on Win myself but I'm happy >> to test out any instructions. >> >> Kind regards, >> Daniel Sahlberg >> >> [1] https://svn.osdn.net/svnroot/tortoisesvn/trunk/build.txt >> [2] https://svn.osdn.net/svnroot/tortoisesvn/trunk/ext >> [3] http://nant.sourceforge.net/ >> >
Re: Windows Build
This is great information, thank you Daniel. I'm traveling for work right now and will be back on the 8th of March. Then I can dig into the details of a windows build. I'll mention again that I'm a windows developer, so this should be significantly faster, and require less help :). You had mentioned before that TSVN uses NAnt? Is there some feature that you like? I've never used it and don't know much about it. Building ground up from source is a technique I've used over the years and has it's benefits. These days external components are generally nuget packages and our build process(s) pull each build (this is for an internal product used at the company I work for). I don't know in the open-source world which option is best, build everything from source, or take "official" libraries for dependencies. Any insight would be great on this, I can do either. On Wed, Feb 17, 2021 at 6:25 PM Daniel Sahlberg wrote: > Den ons 17 feb. 2021 kl 17:31 skrev Nathan Hartman < > hartman.nat...@gmail.com>: > > > > On Wed, Feb 17, 2021 at 11:12 AM Alan Fry wrote: > > > For all that helped w/ the Linux build, thank you, I have a set of > > > repeatable build instructions for Subversion on linux. If there is > > > value, I'd be happy to post those. I verified those instructions > > > last night, building from ground up a VM that builds and > > > successfully runs 'make check'. > > > > Yes, please do! It will likely help others. Also perhaps others will > > chime in and offer suggestions on easier ways to do some things. > > > > > I'd like to do the same with Windows. Several have sent me links > > > for instructions, however I'd like to ask if there is a recent, > > > relatively agreed upon set of instructions, before I start. > > > Otherwise, I'll just pick one and give it a try. > > > > The thread "Building SVN (dependencies) on Windows" to our dev@ list > > on 20 Apr 2020 has a collection of useful information. That can be > > found at any of these links: > > > > https://svn.haxx.se/dev/archive-2020-04/0090.shtml > > > > > https://mail-archives.apache.org/mod_mbox/subversion-dev/202004.mbox/%3cCAB84uBW0RTUkNj30zXFLOtT3=xbhxdarvlnuotnmbg-xqq6...@mail.gmail.com%3e > > > > > https://lists.apache.org/thread.html/r59a30aabaab7bf69effa909b331eaa177418325280ea25859e8fa294%40%3Cdev.subversion.apache.org%3E > > In addition to this excellent thread it might be interesting to take a > look at TortoiseSVN's build process [1]. > > As far as I understand it, all dependencies are build from source. > Dependencies sit in [2], some (such as OpenSSL) are simply copied into > the repository (I'm guessing from release tarballs, sometimes with > local patches on top) and some (such as Subversion and APR) are > svn:externals. > > TSVN uses NAnt [3] with a homegrown build script. > > I'm out of time to dig around at building on Win myself but I'm happy > to test out any instructions. > > Kind regards, > Daniel Sahlberg > > [1] https://svn.osdn.net/svnroot/tortoisesvn/trunk/build.txt > [2] https://svn.osdn.net/svnroot/tortoisesvn/trunk/ext > [3] http://nant.sourceforge.net/ >
Re: Windows Build
Agreed, as soon as I saw the embedded year, I thought "why" to myself. The goal is to get something in Windows to work next, then circle back and begin to look at how to document the creation of a build environment. At this point, as long as we get a repeatable documented process we should be good. On Fri, Feb 19, 2021 at 11:27 AM Daniel Shahaf wrote: > Alan Fry wrote on Fri, 19 Feb 2021 16:13 +00:00: > > Setup SQLLite: > > > > # cd ~/src > > # wget https://www.sqlite.org/2021/sqlite-amalgamation-3340100.zip > > > > unzip the zip file. > > Rename the unzipped directory to "sqlite-amalgamation" > > and move it to subversion-1.14.1 > > It should have been possible to replace these steps by > «SQLITE_VERSION=3.34.1 ./get-deps.sh sqlite», but it turns out > get-deps.sh doesn't make the "year" part of the URL configurable. > > Cheers, > > Daniel > (who wonders why the SQLite folks put the release year in the URL) > >
Re: Windows Build
Alan Fry wrote on Fri, 19 Feb 2021 16:13 +00:00: > Setup SQLLite: > > # cd ~/src > # wget https://www.sqlite.org/2021/sqlite-amalgamation-3340100.zip > > unzip the zip file. > Rename the unzipped directory to "sqlite-amalgamation" > and move it to subversion-1.14.1 It should have been possible to replace these steps by «SQLITE_VERSION=3.34.1 ./get-deps.sh sqlite», but it turns out get-deps.sh doesn't make the "year" part of the URL configurable. Cheers, Daniel (who wonders why the SQLite folks put the release year in the URL)
Re: Windows Build
Try #2, this time with entire set of instructions: - To generate a virtual machine that builds SVN Download iso: ubuntu-20.04.2-desktop-amd64.iso Create a new virtual machine in Virtualbox Name: SVN Build OS: Linux / Ubuntu 64bit 4096MB of ram virtual hard disk VDI (Virtualbox Disk image) Dymanic allocated Max 200g Select your VM and click settings: System tab: Deselect floppy Set to 4 processors Display Tab: Set video memory to 128k Start Select ubuntu-20.04.2-desktop-amd64.iso at boot At install complete, let the system reboot When it comes back up, install guest additions : $ sudo add-apt-repository multiverse $ sudo apt install virtualbox-guest-dkms virtualbox-guest-x11 restart machine Your VM machine is now setup. Log in as the user you have setup. Now to build Subversion Pull source code: # cd ~; mkdir src; cd src # wget http://ftp.cixug.es/apache/subversion/subversion-1.14.1.tar.gz # tar xvzf subversion-* # cd subversion-1.14.1 Install some prereqs: sudo apt-get install build-essential git libtool libtool-bin unzip sudo apt-get install libapr1 libapr1-dev sudo apt-get install libaprutil1-dev sudo apt install zlib1g sudo apt install zlib1g-dev Setup SQLLite: # cd ~/src # wget https://www.sqlite.org/2021/sqlite-amalgamation-3340100.zip unzip the zip file. Rename the unzipped directory to "sqlite-amalgamation" and move it to subversion-1.14.1 --- The tests didn't work, 3 failed, but this "fixed" them: This is a workaround I had to do for python, however it's probably not correct: Problem scenario: /usr/bin/env: ‘python’: No such file or directory # whereis python3 Then we create a symlink to it: # sudo ln -s /usr/bin/python3 /usr/bin/python --- # ./configure --with-lz4=internal --with-utf8proc=internal # make # make check # sudo make install # svn (if you get: svn: error while loading shared libraries: libsvn_ra_svn-1.so.0: cannot open shared object file: No such file or directory) fixed forcing ldconfig: # sudo ldconfig # svn --version --quiet 1.14.1 (You should have a completed, functioning SVN server.. however missing some optional capabilities at this point) On Fri, Feb 19, 2021 at 2:20 AM Thomas Singer wrote: > Hi Alan, > > This reads for me just like setting up Ubuntu 20.04 in Virtualbox, but > is not related to Subversion. Did you miss some Subversion-relevant > steps at the end? > > BR > Tom > > > On 2021-02-18 19:47, Alan Fry wrote: > > On Wed, Feb 17, 2021 at 11:31 AM Nathan Hartman < > hartman.nat...@gmail.com> > > wrote: > > > >> On Wed, Feb 17, 2021 at 11:12 AM Alan Fry wrote: > >>> For all that helped w/ the Linux build, thank you, I have a set of > >>> repeatable build instructions for Subversion on linux. If there is > >>> value, I'd be happy to post those. I verified those instructions > >>> last night, building from ground up a VM that builds and > >>> successfully runs 'make check'. > >> > >> Yes, please do! It will likely help others. Also perhaps others will > >> chime in and offer suggestions on easier ways to do some things. > >> > > > > Sure. For anyone who would like them, they are below. Note that I have > > not formatted them, so maybe soon I'll write up a nice html/markdown for > > them. > > > > start > > > > To generate a virtual machine that builds SVN > > Download iso: ubuntu-20.04.2-desktop-amd64.iso > > > > > > > > Create a new virtual machine in Virtualbox > > Name: SVN Build > > OS: Linux / Ubuntu 64bit > > 4096MB of ram > > virtual hard disk > > VDI (Virtualbox Disk image) > > Dymanic allocated > > Max 200g > > > > Select your VM and click settings: > > > > System tab: > > Deselect floppy > > Set to 4 processors > > > > Display Tab: > > Set video memory to 128k > > > > Start > > Select ubuntu-20.04.2-desktop-amd64.iso at boot > > > > > > > > At install complete, let the system reboot > > > > When it comes back up, install guest additions : > > > > $ sudo add-apt-repository multiverse > > $ sudo apt install virtualbox-guest-dkms virtualbox-guest-x11 > > > > restart machine > > > > Your VM machine is now setup. Log in as the user you have setup. > > >
Re: Windows Build
Daniel Sahlberg in gmane.comp.version-control.subversion.devel (Thu, 18 Feb 2021 00:25:06 +0100): >In addition to this excellent thread it might be interesting to take a >look at TortoiseSVN's build process [1]. > >As far as I understand it, all dependencies are build from source. >Dependencies sit in [2], some (such as OpenSSL) are simply copied into >the repository (I'm guessing from release tarballs, sometimes with >local patches on top) and some (such as Subversion and APR) are >svn:externals. > >TSVN uses NAnt [3] with a homegrown build script. > >[1] https://svn.osdn.net/svnroot/tortoisesvn/trunk/build.txt >[2] https://svn.osdn.net/svnroot/tortoisesvn/trunk/ext >[3] http://nant.sourceforge.net/ I am building Subversion against some existing dependencies like OpenSSL, Apache on AppVeyor. Build script here: https://github.com/Jan-E/svn-windows Sample build logs: https://ci.appveyor.com/project/Jan-E/svn-windows/builds/37712846/job/al50so06ak3y6v2h?fullLog=true The resulting binaries are in the artifacts of each job: https://ci.appveyor.com/project/Jan-E/svn-windows/builds/37712846/job/al50so06ak3y6v2h/artifacts -- Jan
Re: Windows Build
Hi Alan, This reads for me just like setting up Ubuntu 20.04 in Virtualbox, but is not related to Subversion. Did you miss some Subversion-relevant steps at the end? BR Tom On 2021-02-18 19:47, Alan Fry wrote: On Wed, Feb 17, 2021 at 11:31 AM Nathan Hartman wrote: On Wed, Feb 17, 2021 at 11:12 AM Alan Fry wrote: For all that helped w/ the Linux build, thank you, I have a set of repeatable build instructions for Subversion on linux. If there is value, I'd be happy to post those. I verified those instructions last night, building from ground up a VM that builds and successfully runs 'make check'. Yes, please do! It will likely help others. Also perhaps others will chime in and offer suggestions on easier ways to do some things. Sure. For anyone who would like them, they are below. Note that I have not formatted them, so maybe soon I'll write up a nice html/markdown for them. start To generate a virtual machine that builds SVN Download iso: ubuntu-20.04.2-desktop-amd64.iso Create a new virtual machine in Virtualbox Name: SVN Build OS: Linux / Ubuntu 64bit 4096MB of ram virtual hard disk VDI (Virtualbox Disk image) Dymanic allocated Max 200g Select your VM and click settings: System tab: Deselect floppy Set to 4 processors Display Tab: Set video memory to 128k Start Select ubuntu-20.04.2-desktop-amd64.iso at boot At install complete, let the system reboot When it comes back up, install guest additions : $ sudo add-apt-repository multiverse $ sudo apt install virtualbox-guest-dkms virtualbox-guest-x11 restart machine Your VM machine is now setup. Log in as the user you have setup.
Re: Windows Build
On Wed, Feb 17, 2021 at 11:31 AM Nathan Hartman wrote: > On Wed, Feb 17, 2021 at 11:12 AM Alan Fry wrote: > > For all that helped w/ the Linux build, thank you, I have a set of > > repeatable build instructions for Subversion on linux. If there is > > value, I'd be happy to post those. I verified those instructions > > last night, building from ground up a VM that builds and > > successfully runs 'make check'. > > Yes, please do! It will likely help others. Also perhaps others will > chime in and offer suggestions on easier ways to do some things. > Sure. For anyone who would like them, they are below. Note that I have not formatted them, so maybe soon I'll write up a nice html/markdown for them. start To generate a virtual machine that builds SVN Download iso: ubuntu-20.04.2-desktop-amd64.iso Create a new virtual machine in Virtualbox Name: SVN Build OS: Linux / Ubuntu 64bit 4096MB of ram virtual hard disk VDI (Virtualbox Disk image) Dymanic allocated Max 200g Select your VM and click settings: System tab: Deselect floppy Set to 4 processors Display Tab: Set video memory to 128k Start Select ubuntu-20.04.2-desktop-amd64.iso at boot At install complete, let the system reboot When it comes back up, install guest additions : $ sudo add-apt-repository multiverse $ sudo apt install virtualbox-guest-dkms virtualbox-guest-x11 restart machine Your VM machine is now setup. Log in as the user you have setup.
Re: Windows Build
Den ons 17 feb. 2021 kl 17:31 skrev Nathan Hartman : > > On Wed, Feb 17, 2021 at 11:12 AM Alan Fry wrote: > > For all that helped w/ the Linux build, thank you, I have a set of > > repeatable build instructions for Subversion on linux. If there is > > value, I'd be happy to post those. I verified those instructions > > last night, building from ground up a VM that builds and > > successfully runs 'make check'. > > Yes, please do! It will likely help others. Also perhaps others will > chime in and offer suggestions on easier ways to do some things. > > > I'd like to do the same with Windows. Several have sent me links > > for instructions, however I'd like to ask if there is a recent, > > relatively agreed upon set of instructions, before I start. > > Otherwise, I'll just pick one and give it a try. > > The thread "Building SVN (dependencies) on Windows" to our dev@ list > on 20 Apr 2020 has a collection of useful information. That can be > found at any of these links: > > https://svn.haxx.se/dev/archive-2020-04/0090.shtml > > https://mail-archives.apache.org/mod_mbox/subversion-dev/202004.mbox/%3cCAB84uBW0RTUkNj30zXFLOtT3=xbhxdarvlnuotnmbg-xqq6...@mail.gmail.com%3e > > https://lists.apache.org/thread.html/r59a30aabaab7bf69effa909b331eaa177418325280ea25859e8fa294%40%3Cdev.subversion.apache.org%3E In addition to this excellent thread it might be interesting to take a look at TortoiseSVN's build process [1]. As far as I understand it, all dependencies are build from source. Dependencies sit in [2], some (such as OpenSSL) are simply copied into the repository (I'm guessing from release tarballs, sometimes with local patches on top) and some (such as Subversion and APR) are svn:externals. TSVN uses NAnt [3] with a homegrown build script. I'm out of time to dig around at building on Win myself but I'm happy to test out any instructions. Kind regards, Daniel Sahlberg [1] https://svn.osdn.net/svnroot/tortoisesvn/trunk/build.txt [2] https://svn.osdn.net/svnroot/tortoisesvn/trunk/ext [3] http://nant.sourceforge.net/
Re: Windows Build
On Wed, Feb 17, 2021 at 11:12 AM Alan Fry wrote: > For all that helped w/ the Linux build, thank you, I have a set of > repeatable build instructions for Subversion on linux. If there is > value, I'd be happy to post those. I verified those instructions > last night, building from ground up a VM that builds and > successfully runs 'make check'. Yes, please do! It will likely help others. Also perhaps others will chime in and offer suggestions on easier ways to do some things. > I'd like to do the same with Windows. Several have sent me links > for instructions, however I'd like to ask if there is a recent, > relatively agreed upon set of instructions, before I start. > Otherwise, I'll just pick one and give it a try. The thread "Building SVN (dependencies) on Windows" to our dev@ list on 20 Apr 2020 has a collection of useful information. That can be found at any of these links: https://svn.haxx.se/dev/archive-2020-04/0090.shtml https://mail-archives.apache.org/mod_mbox/subversion-dev/202004.mbox/%3cCAB84uBW0RTUkNj30zXFLOtT3=xbhxdarvlnuotnmbg-xqq6...@mail.gmail.com%3e https://lists.apache.org/thread.html/r59a30aabaab7bf69effa909b331eaa177418325280ea25859e8fa294%40%3Cdev.subversion.apache.org%3E Feel free to ask as many questions as you need to. Nathan P.S., At any time, if you'd like to help improve the documentation that we have on the website or in files that ship with Subversion, feel free to send patches!
Windows Build
For all that helped w/ the Linux build, thank you, I have a set of repeatable build instructions for Subversion on linux. If there is value, I'd be happy to post those. I verified those instructions last night, building from ground up a VM that builds and successfully runs 'make check'. I'd like to do the same with Windows. Several have sent me links for instructions, however I'd like to ask if there is a recent, relatively agreed upon set of instructions, before I start. Otherwise, I'll just pick one and give it a try.
Re: Windows build error introduced in revision 1850611
Hi, I happened to find this issue myself today, short before your message was moderated through. I applied a fix to build.conf in r1851462, which should fix the problem. (It is currently being tested by our buildbot). Thanks, Bert On Wed, Jan 16, 2019 at 5:04 PM Alexander Miloslavskiy < alexandr.miloslavs...@gmail.com> wrote: > Hello, > > I'm not subscribed, please CC me in answers. > > For reference, build error text: > svndumpfilter.obj : error LNK2001: unresolved external symbol > svn_relpath__make_internal > [...\build\win32\vcnet-vcproj\svndumpfilter.vcxproj] > > In revision 1850611 function was moved to new header > svn_dirent_uri_private.h which wasn't properly added to 'build.conf'. > This causes the generated 'libsvn_subr.def' file to not export the > function, which in turns causes 'unresolved external symbol'. > > Please fix this by adding 'private\svn_dirent_uri_private.h' near line > 370 in 'build.conf'. > > Thanks! >
Windows build error introduced in revision 1850611
Hello, I'm not subscribed, please CC me in answers. For reference, build error text: svndumpfilter.obj : error LNK2001: unresolved external symbol svn_relpath__make_internal [...\build\win32\vcnet-vcproj\svndumpfilter.vcxproj] In revision 1850611 function was moved to new header svn_dirent_uri_private.h which wasn't properly added to 'build.conf'. This causes the generated 'libsvn_subr.def' file to not export the function, which in turns causes 'unresolved external symbol'. Please fix this by adding 'private\svn_dirent_uri_private.h' near line 370 in 'build.conf'. Thanks!
svnauth ssl cert support -- please check windows build
Here's a rough patch that makes svnauth show SSL certs as a list of fields, rather than a long base64 string. I'm adding a dependency on OpenSSL for certificate parsing. I hope this is fine. If OpenSSL is not available svnauth falls back to printing the base64 encoded form of the certificate. Since I'm tweaking the build system, it would be nice if someone could check whether this breaks the Windows build, or the build on other *nix platforms. And if it does, help me with fixing my patch. Thanks! Index: Makefile.in === --- Makefile.in (revision 1501587) +++ Makefile.in (working copy) @@ -48,6 +48,7 @@ SVN_GPG_AGENT_LIBS = @SVN_GPG_AGENT_LIBS@ SVN_GNOME_KEYRING_LIBS = @SVN_GNOME_KEYRING_LIBS@ SVN_KWALLET_LIBS = @SVN_KWALLET_LIBS@ SVN_MAGIC_LIBS = @SVN_MAGIC_LIBS@ +SVN_OPENSSL_LIBS = @SVN_OPENSSL_LIBS@ SVN_SASL_LIBS = @SVN_SASL_LIBS@ SVN_SERF_LIBS = @SVN_SERF_LIBS@ SVN_SQLITE_LIBS = @SVN_SQLITE_LIBS@ @@ -123,7 +124,7 @@ LT_CXX_LIBADD = @LT_CXX_LIBADD@ INCLUDES = -I$(top_srcdir)/subversion/include -I$(top_builddir)/subversion \ @SVN_APR_INCLUDES@ @SVN_APRUTIL_INCLUDES@ @SVN_APR_MEMCACHE_INCLUDES@ \ @SVN_DB_INCLUDES@ @SVN_GNOME_KEYRING_INCLUDES@ \ - @SVN_KWALLET_INCLUDES@ @SVN_MAGIC_INCLUDES@ \ + @SVN_KWALLET_INCLUDES@ @SVN_MAGIC_INCLUDES@ @SVN_OPENSSL_INCLUDES@ \ @SVN_SASL_INCLUDES@ @SVN_SERF_INCLUDES@ @SVN_SQLITE_INCLUDES@ \ @SVN_XML_INCLUDES@ @SVN_ZLIB_INCLUDES@ Index: aclocal.m4 === --- aclocal.m4 (revision 1501587) +++ aclocal.m4 (working copy) @@ -39,6 +39,7 @@ sinclude(build/ac-macros/berkeley-db.m4) sinclude(build/ac-macros/compiler.m4) sinclude(build/ac-macros/ctypesgen.m4) sinclude(build/ac-macros/java.m4) +sinclude(build/ac-macros/openssl.m4) sinclude(build/ac-macros/sasl.m4) sinclude(build/ac-macros/serf.m4) sinclude(build/ac-macros/sqlite.m4) Index: build/ac-macros/openssl.m4 === --- build/ac-macros/openssl.m4 (revision 0) +++ build/ac-macros/openssl.m4 (working copy) @@ -0,0 +1,106 @@ +dnl === +dnl Licensed to the Apache Software Foundation (ASF) under one +dnl or more contributor license agreements. See the NOTICE file +dnl distributed with this work for additional information +dnl regarding copyright ownership. The ASF licenses this file +dnl to you under the Apache License, Version 2.0 (the +dnl License); you may not use this file except in compliance +dnl with the License. You may obtain a copy of the License at +dnl +dnl http://www.apache.org/licenses/LICENSE-2.0 +dnl +dnl Unless required by applicable law or agreed to in writing, +dnl software distributed under the License is distributed on an +dnl AS IS BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +dnl KIND, either express or implied. See the License for the +dnl specific language governing permissions and limitations +dnl under the License. +dnl === +dnl +dnl SVN_LIB_OPENSSL +dnl +dnl Check configure options and assign variables related to +dnl the OpenSSL library. +dnl +dnl If we find the library, set the shell variable +dnl `svn_lib_openssl' to `yes'. Otherwise, set `svn_lib_openssl' +dnl to `no'. + +AC_DEFUN(SVN_LIB_OPENSSL, +[ + AC_ARG_WITH(openssl, [AS_HELP_STRING([--with-openssl=PATH], + [Compile with OpenSSL in PATH])], + [ +with_openssl=$withval +required=yes + ], + [ +with_openssl=yes +required=no + ]) + + AC_MSG_CHECKING([whether to look for OpenSSL]) + + if test ${with_openssl} = no; then +AC_MSG_RESULT([no]) +svn_lib_openssl=no + else +AC_MSG_RESULT([yes]) +saved_LDFLAGS=$LDFLAGS +saved_CPPFLAGS=$CPPFLAGS + +if test $with_openssl = yes; then + AC_MSG_NOTICE([Looking in default locations]) + AC_CHECK_HEADER(openssl/ssl.h, + [AC_CHECK_LIB(crypto, d2i_X509, + [AC_CHECK_LIB(ssl, SSL_library_init, + svn_lib_openssl=yes, + svn_lib_openssl=no, + -lcrypto)], + svn_lib_openssl=no)], + svn_lib_openssl=no) + if test $svn_lib_openssl = no; then +with_openssl=/usr/local + fi +else + svn_lib_openssl=no +fi + +if test $svn_lib_openssl = no; then + SVN_OPENSSL_INCLUDES=-I${with_openssl}/include + CPPFLAGS=$CPPFLAGS $SVN_OPENSSL_INCLUDES + LDFLAGS=$LDFLAGS `SVN_REMOVE_STANDARD_LIB_DIRS(-L${with_openssl}/lib)` + + AC_CHECK_HEADER(openssl/ssl.h, + [AC_CHECK_LIB(crypto, d2i_X509, + [AC_CHECK_LIB(ssl, SSL_library_init, + svn_lib_openssl=yes, + svn_lib_openssl=no, + -lcrypto
Re: svnauth ssl cert support -- please check windows build
On Wed, Jul 10, 2013 at 5:33 AM, Stefan Sperling s...@elego.de wrote: Here's a rough patch that makes svnauth show SSL certs as a list of fields, rather than a long base64 string. I'm adding a dependency on OpenSSL for certificate parsing. I hope this is fine. If OpenSSL is not available svnauth falls back to printing the base64 encoded form of the certificate. Since I'm tweaking the build system, it would be nice if someone could check whether this breaks the Windows build, or the build on other *nix platforms. And if it does, help me with fixing my patch. Add direct OpenSSL dependency to svnauth doesn't seem right idea for me. At least because serf may use other SSL libraries in future. Why not use serf_ssl_load_cert_file()? -- Ivan Zhakov CTO | VisualSVN | http://www.visualsvn.com
Re: Making the Windows Build Easier
On Mon, May 6, 2013 at 4:47 PM, Mark Phippard markp...@gmail.com wrote: I have Update 2 installed. http://www.microsoft.com/en-us/download/details.aspx?id=38188 I've installed update 2, still get a completely finished build. Can you look to see that there is a line like this in all the vcxproj files under modules\proxy\balancers: PropertyGroupTrackFileAccessfalse/TrackFileAccess/PropertyGroup The scripting that adds that bit is not really the greatest. Perhaps it's failing for you for some reason. One possibility here is a different version of Perl. I'm using Perl 5.16.3.1603 from: http://www.activestate.com/activeperl/downloads If the above doesn't help, can you try the attached script (adjusting paths). I know it's ugly it's basically just a find2perl script that I threw together to find failed builds while I was using this. Just run it while the cd is the trunk and it should point out which bits of the build have Build FAILED in them. You can then look at those logs and you should get a more detailed error. You very well may only find what you've already found. The other comment I have is I did this on Windows 8 x64 (though I only built 32-bit binaries). I'm not sure what version of Windows you're using, but this might be another possible source of issues.
Re: Making the Windows Build Easier
On Tue, May 7, 2013 at 2:06 AM, Ben Reser b...@reser.org wrote: On Mon, May 6, 2013 at 4:47 PM, Mark Phippard markp...@gmail.com wrote: I have Update 2 installed. http://www.microsoft.com/en-us/download/details.aspx?id=38188 I've installed update 2, still get a completely finished build. I started over fresh overnight and got the same problem. Can you look to see that there is a line like this in all the vcxproj files under modules\proxy\balancers: PropertyGroupTrackFileAccessfalse/TrackFileAccess/PropertyGroup Yes, next to last line right before the closing Project tag. The scripting that adds that bit is not really the greatest. Perhaps it's failing for you for some reason. One possibility here is a different version of Perl. I'm using Perl 5.16.3.1603 from: http://www.activestate.com/activeperl/downloads I am also using ActiveState. 5.12.2 in my case. If the above doesn't help, can you try the attached script (adjusting paths). I know it's ugly it's basically just a find2perl script that I threw together to find failed builds while I was using this. Just run it while the cd is the trunk and it should point out which bits of the build have Build FAILED in them. You can then look at those logs and you should get a more detailed error. You very well may only find what you've already found. There were no attachments. The other comment I have is I did this on Windows 8 x64 (though I only built 32-bit binaries). I'm not sure what version of Windows you're using, but this might be another possible source of issues. Windows 7 x64, doing a 32-bit build. -- Thanks Mark Phippard http://markphip.blogspot.com/
Re: Making the Windows Build Easier
On Tue, May 7, 2013 at 6:14 AM, Mark Phippard markp...@gmail.com wrote: On Tue, May 7, 2013 at 2:06 AM, Ben Reser b...@reser.org wrote: Can you look to see that there is a line like this in all the vcxproj files under modules\proxy\balancers: PropertyGroupTrackFileAccessfalse/TrackFileAccess/PropertyGroup Yes, next to last line right before the closing Project tag. Now I'm wondering if it isn't recognizing this property setting. Can you check your path to make sure you don't have some other tools on the path? If you run devenv from the terminal you were running this in does it start Visual Studio 2012 or some previous version? The scripting that adds that bit is not really the greatest. Perhaps it's failing for you for some reason. One possibility here is a different version of Perl. I'm using Perl 5.16.3.1603 from: http://www.activestate.com/activeperl/downloads I am also using ActiveState. 5.12.2 in my case. Yeah well if the lines are there it shouldn't be an issue. If the above doesn't help, can you try the attached script (adjusting paths). I know it's ugly it's basically just a find2perl script that I threw together to find failed builds while I was using this. Just run it while the cd is the trunk and it should point out which bits of the build have Build FAILED in them. You can then look at those logs and you should get a more detailed error. You very well may only find what you've already found. There were no attachments. Oops. Attached this time. The other comment I have is I did this on Windows 8 x64 (though I only built 32-bit binaries). I'm not sure what version of Windows you're using, but this might be another possible source of issues. Windows 7 x64, doing a 32-bit build. Okay I'll try it on Windows 7 x64 if I get a chance to later today. failed-build.pl Description: Binary data
Re: Making the Windows Build Easier
On Tue, May 7, 2013 at 12:46 PM, Ben Reser b...@reser.org wrote: On Tue, May 7, 2013 at 6:14 AM, Mark Phippard markp...@gmail.com wrote: On Tue, May 7, 2013 at 2:06 AM, Ben Reser b...@reser.org wrote: Can you look to see that there is a line like this in all the vcxproj files under modules\proxy\balancers: PropertyGroupTrackFileAccessfalse/TrackFileAccess/PropertyGroup Yes, next to last line right before the closing Project tag. Now I'm wondering if it isn't recognizing this property setting. Can you check your path to make sure you don't have some other tools on the path? If you run devenv from the terminal you were running this in does it start Visual Studio 2012 or some previous version? I am using the VS 2012 command prompt and it opens VS 2012. The scripting that adds that bit is not really the greatest. Perhaps it's failing for you for some reason. One possibility here is a different version of Perl. I'm using Perl 5.16.3.1603 from: http://www.activestate.com/activeperl/downloads I am also using ActiveState. 5.12.2 in my case. Yeah well if the lines are there it shouldn't be an issue. If the above doesn't help, can you try the attached script (adjusting paths). I know it's ugly it's basically just a find2perl script that I threw together to find failed builds while I was using this. Just run it while the cd is the trunk and it should point out which bits of the build have Build FAILED in them. You can then look at those logs and you should get a more detailed error. You very well may only find what you've already found. There were no attachments. Oops. Attached this time. The other comment I have is I did this on Windows 8 x64 (though I only built 32-bit binaries). I'm not sure what version of Windows you're using, but this might be another possible source of issues. Windows 7 x64, doing a 32-bit build. Okay I'll try it on Windows 7 x64 if I get a chance to later today. I am attaching the log file it found. I also searched the httxt2dbm.vcxproj file, which seems to be the relevant file, and it does NOT seem to have that property you set about TrackFiles. I note this project file is in the support folder. Does your script touch those projects too? -- Thanks Mark Phippard http://markphip.blogspot.com/ httxt2dbm.log Description: Binary data httxt2dbm.vcxproj Description: Binary data
Re: Making the Windows Build Easier
On Tue, May 7, 2013 at 10:43 AM, Mark Phippard markp...@gmail.com wrote: I am attaching the log file it found. I also searched the httxt2dbm.vcxproj file, which seems to be the relevant file, and it does NOT seem to have that property you set about TrackFiles. I note this project file is in the support folder. Does your script touch those projects too? I think we're dealing with a race condition that's just not happening on my setup. I noticed that the modules that failed for me were somewhat random. So I guess due to differences in systems I'm just not seeing the failures in the support tree. I've added the support tree to the tree of files that I turn off tracking of file accesses in the projects in the latest commit. Can you give that a try? Thanks for your patience in dealing with this.
Re: Making the Windows Build Easier
On Tue, May 7, 2013 at 2:47 PM, Ben Reser b...@reser.org wrote: On Tue, May 7, 2013 at 10:43 AM, Mark Phippard markp...@gmail.com wrote: I am attaching the log file it found. I also searched the httxt2dbm.vcxproj file, which seems to be the relevant file, and it does NOT seem to have that property you set about TrackFiles. I note this project file is in the support folder. Does your script touch those projects too? I think we're dealing with a race condition that's just not happening on my setup. I noticed that the modules that failed for me were somewhat random. So I guess due to differences in systems I'm just not seeing the failures in the support tree. I've added the support tree to the tree of files that I turn off tracking of file accesses in the projects in the latest commit. Can you give that a try? Thanks for your patience in dealing with this. Yes, started it over from scratch as I was not sure if just re-running would be the right thing to do. In general, what is the process in the future when there are new versions of components. Should I be able to just update the version number and re-run the script or should I always start from scratch? -- Thanks Mark Phippard http://markphip.blogspot.com/
Re: Making the Windows Build Easier
On Tue, May 7, 2013 at 2:50 PM, Mark Phippard markp...@gmail.com wrote: On Tue, May 7, 2013 at 2:47 PM, Ben Reser b...@reser.org wrote: On Tue, May 7, 2013 at 10:43 AM, Mark Phippard markp...@gmail.com wrote: I am attaching the log file it found. I also searched the httxt2dbm.vcxproj file, which seems to be the relevant file, and it does NOT seem to have that property you set about TrackFiles. I note this project file is in the support folder. Does your script touch those projects too? I think we're dealing with a race condition that's just not happening on my setup. I noticed that the modules that failed for me were somewhat random. So I guess due to differences in systems I'm just not seeing the failures in the support tree. I've added the support tree to the tree of files that I turn off tracking of file accesses in the projects in the latest commit. Can you give that a try? Thanks for your patience in dealing with this. Yes, started it over from scratch as I was not sure if just re-running would be the right thing to do. In general, what is the process in the future when there are new versions of components. Should I be able to just update the version number and re-run the script or should I always start from scratch? Looks like that latest commit solved it! Thanks. Now on to the next steps where I actually build SVN to use the dependencies. -- Thanks Mark Phippard http://markphip.blogspot.com/
Re: Making the Windows Build Easier
On Sat, Apr 13, 2013 at 8:46 PM, Ben Reser b...@reser.org wrote: gen-make.py -t vcproj --vsnet-version=2012 --with-berkeley-db=c:\Users\breser\svn-trunk-deps Is this right? Specifying the root folder? I think it is because you have a lib and include in it. However, it tells me that BDB is not found and the fs will not be built when I run this. Everything else seems OK. -- Thanks Mark Phippard http://markphip.blogspot.com/
Re: Making the Windows Build Easier
On Tue, May 7, 2013 at 11:50 AM, Mark Phippard markp...@gmail.com wrote: Yes, started it over from scratch as I was not sure if just re-running would be the right thing to do. In general, what is the process in the future when there are new versions of components. Should I be able to just update the version number and re-run the script or should I always start from scratch? For now probably best to start from scratch. However, I should be able to make it able to deal with that.
Re: Making the Windows Build Easier
On Tue, May 7, 2013 at 12:38 PM, Mark Phippard markp...@gmail.com wrote: Is this right? Specifying the root folder? I think it is because you have a lib and include in it. However, it tells me that BDB is not found and the fs will not be built when I run this. Everything else seems OK. It is but it looks like the windows build generator only knows about berkeley db versions up to 4.8. See _find_bdb() in build/generators/gen_win.py. Adding 53 to that list of version numbers should fix it. I'm testing it right now.
Re: Making the Windows Build Easier
On Sat, Apr 13, 2013 at 8:46 PM, Ben Reser b...@reser.org wrote: The result is the build-svn-deps-win.pl script that I've commited in r1467714. This script is far from perfect. It still needs some work on it, but it's probably about 90% of the way there to turning setting up a Windows development environment into about an hour effort from a couple day slog that you have no hope of being able to reproduce. Giving this a try with 1.8.x RC1 a) Pick a location to do the build and make a directory to build the deps, in my case I put it in C:\Users\breser\svn-trunk-deps. Download the script at http://svn.apache.org/repos/asf/subversion/trunk/tools/dev/build-svn-deps-win.pl and put it in this directory. Open the script in a text editor and make sure you install the few dependencies you'll need (Perl, Python, 7-Zip and CMake). Python actually may not be needed for this but it's needed for the Subversion build itself. If presented the option to add the commands to your path accept it (Python and Perl will do this by default, CMake you have to explicitly decide to do this). 7-zip doesn't have one so make a note of where you installed it for later. Once you have the dependencies downloaded open the VS2012 x86 Native Tools Command Prompt (usually found in the Visual Studio Tools group). cd to your directory and run build-svn-deps-win.pl. If 7z.exe is not in C:\Program Files\7-Zip\7z.exe you can override this by passing SEVEN_ZIP=C:\Path\To\7z.exe to the script. The script will then download and build the dependencies for you. For me on my VM setup it takes about 45 minutes for this to run. I used this option. Ran into two quick problems that were easy to solve: 1) Script got a 404 when downloading zlib 1.2.7. I recall seeing messages about 1.2.8 on the list here so I changed the version in the script and that solved that problem. 2) Got an error about invalid command line option when it tried to use 7-zip to unpack the tarballs. Turned out I had an old version installed. I installed the latest and that resolved it. I like that the script can be re-run. The script then started chugging along and building. It looks like it failed at the end of building httpd. Not really sure why or what is wrong: == Build: 7 succeeded, 0 failed, 0 up-to-date, 0 skipped == == Build: 118 succeeded, 1 failed, 0 up-to-date, 0 skipped == NMAKE : fatal error U1077: 'C:\Program Files (x86)\Microsoft Visual Studio 11.0 \Common7\IDE\devenv.COM' : return code '0x1' Stop. NMAKE : fatal error U1077: 'C:\Program Files (x86)\Microsoft Visual Studio 11.0 \VC\BIN\nmake.exe' : return code '0x2' Stop. Failed building/installing httpd/apr/apu/api (exit code: 512) at build-svn-deps- win.pl line 245. Any ideas? I searched the output for what Failed and do not see anything referenced. Searching for all instanced of Error. It might be this: C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.CppCommon.ta rgets(347,5): error MSB6003: The specified task executable CL.exe could not be run. The process cannot access the file 'C:\SVN\deps-1.8.x\build\httpd\modules\ proxy\balancers\Release\cl.write.1.tlog' because it is being used by another pro cess. -- Thanks Mark Phippard http://markphip.blogspot.com/
Re: Making the Windows Build Easier
On Mon, May 6, 2013 at 3:40 PM, Mark Phippard markp...@gmail.com wrote: I like that the script can be re-run. Yes, I tried to make it smart enough to avoid redoing work that was already done. The script then started chugging along and building. It looks like it failed at the end of building httpd. Not really sure why or what is wrong: == Build: 7 succeeded, 0 failed, 0 up-to-date, 0 skipped == == Build: 118 succeeded, 1 failed, 0 up-to-date, 0 skipped == NMAKE : fatal error U1077: 'C:\Program Files (x86)\Microsoft Visual Studio 11.0 \Common7\IDE\devenv.COM' : return code '0x1' Stop. NMAKE : fatal error U1077: 'C:\Program Files (x86)\Microsoft Visual Studio 11.0 \VC\BIN\nmake.exe' : return code '0x2' Stop. Failed building/installing httpd/apr/apu/api (exit code: 512) at build-svn-deps- win.pl line 245. Any ideas? I searched the output for what Failed and do not see anything referenced. Searching for all instanced of Error. It might be this: C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.CppCommon.ta rgets(347,5): error MSB6003: The specified task executable CL.exe could not be run. The process cannot access the file 'C:\SVN\deps-1.8.x\build\httpd\modules\ proxy\balancers\Release\cl.write.1.tlog' because it is being used by another pro cess. The above error is a bug in the httpd build process related to newer versions of Visual Studio. Since everything shares the same intermediate directories concurrent builds start blowing up over this log file. The correct fix for this is to use different intermediate build directories for each module. This is a major change to the httpd build system so I didn't do it. Rather I applied a workaround by setting a flag that tells Visual Studio not to use the files that create the problem. Let me see if I can reproduce this on my end. What's the exact version of Visual Studio 2012 that you're using? I'm on 11.0.50727.1. I haven't bothered to apply the updates to it.
Re: Making the Windows Build Easier
I have Update 2 installed. http://www.microsoft.com/en-us/download/details.aspx?id=38188 Sent from my iPad On May 6, 2013, at 7:29 PM, Ben Reser b...@reser.org wrote: On Mon, May 6, 2013 at 3:40 PM, Mark Phippard markp...@gmail.com wrote: I like that the script can be re-run. Yes, I tried to make it smart enough to avoid redoing work that was already done. The script then started chugging along and building. It looks like it failed at the end of building httpd. Not really sure why or what is wrong: == Build: 7 succeeded, 0 failed, 0 up-to-date, 0 skipped == == Build: 118 succeeded, 1 failed, 0 up-to-date, 0 skipped == NMAKE : fatal error U1077: 'C:\Program Files (x86)\Microsoft Visual Studio 11.0 \Common7\IDE\devenv.COM' : return code '0x1' Stop. NMAKE : fatal error U1077: 'C:\Program Files (x86)\Microsoft Visual Studio 11.0 \VC\BIN\nmake.exe' : return code '0x2' Stop. Failed building/installing httpd/apr/apu/api (exit code: 512) at build-svn-deps- win.pl line 245. Any ideas? I searched the output for what Failed and do not see anything referenced. Searching for all instanced of Error. It might be this: C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.CppCommon.ta rgets(347,5): error MSB6003: The specified task executable CL.exe could not be run. The process cannot access the file 'C:\SVN\deps-1.8.x\build\httpd\modules\ proxy\balancers\Release\cl.write.1.tlog' because it is being used by another pro cess. The above error is a bug in the httpd build process related to newer versions of Visual Studio. Since everything shares the same intermediate directories concurrent builds start blowing up over this log file. The correct fix for this is to use different intermediate build directories for each module. This is a major change to the httpd build system so I didn't do it. Rather I applied a workaround by setting a flag that tells Visual Studio not to use the files that create the problem. Let me see if I can reproduce this on my end. What's the exact version of Visual Studio 2012 that you're using? I'm on 11.0.50727.1. I haven't bothered to apply the updates to it.
AW: Making the Windows Build Easier
Hi, Berts SharpSVN build also includes a way to pull all the dependencies, using msbuild. However, it does not work with the express editions yet, AFAICS, so your script clearly has at least one advantage. :-) Will it work using the VS 2010 command prompt? Best regards Markus Schaber CODESYS® a trademark of 3S-Smart Software Solutions GmbH Inspiring Automation Solutions 3S-Smart Software Solutions GmbH Dipl.-Inf. Markus Schaber | Product Development Core Technology Memminger Str. 151 | 87439 Kempten | Germany Tel. +49-831-54031-979 | Fax +49-831-54031-50 E-Mail: m.scha...@codesys.com | Web: http://www.codesys.com | CODESYS store: http://store.codesys.com CODESYS forum: http://forum.codesys.com Managing Directors: Dipl.Inf. Dieter Hess, Dipl.Inf. Manfred Werner | Trade register: Kempten HRB 6186 | Tax ID No.: DE 167014915 -Ursprüngliche Nachricht- Von: Ben Reser [mailto:b...@reser.org] Gesendet: Sonntag, 14. April 2013 02:46 An: Subversion Development Betreff: Making the Windows Build Easier As we've discussed previously a big part of the problem in getting the Windows build working has been getting the dependencies built. Everyone I've talked to manages to get this done, then has no idea how to duplicate what they've done. This past week I wanted to use some static analysis tools that were only available on Windows. So I set out to build Subversion on Windows. I spent about 2 days fighting with it, taking notes the whole way so I could try and reproduce it. On the 3rd day I realized that taking notes wasn't going to work and that by the time I finished I'd have some instructions that left some important detail out or didn't explain it fully. So I started writing a script to automate this annoying process. The result is the build-svn-deps-win.pl script that I've commited in r1467714. This script is far from perfect. It still needs some work on it, but it's probably about 90% of the way there to turning setting up a Windows development environment into about an hour effort from a couple day slog that you have no hope of being able to reproduce. A lot of credit goes to pburba for his blog post here: http://blogs.collab.net/subversion/building-subversion-on-windows-a- walk-through Without it I would have spent even more time doing this than I did. So with all that said, here are some details. It downloads the following things: bdb zlib pcre httpd apr apr-util apr-iconv sqlite-amalgamation serf It builds all of the above expect for sqlite and serf which get built as part of the Subversion build itself (zlib could be built there as well but I built it so that mod_deflate would work in httpd). The script is built to use an entirely modern tool chain and dependencies. Everything is the current released version. That means httpd-2.4.4, Visual Studio 2012, etc... It does not build or deal with neon, though that could be trivially added. Unfortunately, it does not work with Visual Studio 2012 Windows Desktop Express due to the lack of devenv.(com|exe). However, the script is written to produce a the binaries in a way that they can be packaged. There's still some work to do here in making the package as minimal as possible (some of it possibly in our build system). At current the script only builds a Win32 Release build. But I expect to change that in the near future. So without further ado, here are some instructions: 1) Get the dependencies. If you have a full version of Visual Studio (not an Express version) you can follow a) or b) depending on your preference. For Visual Studio Express you have to follow b). a) Pick a location to do the build and make a directory to build the deps, in my case I put it in C:\Users\breser\svn-trunk-deps. Download the script at http://svn.apache.org/repos/asf/subversion/trunk/tools/dev/build-svn- deps-win.pl and put it in this directory. Open the script in a text editor and make sure you install the few dependencies you'll need (Perl, Python, 7-Zip and CMake). Python actually may not be needed for this but it's needed for the Subversion build itself. If presented the option to add the commands to your path accept it (Python and Perl will do this by default, CMake you have to explicitly decide to do this). 7-zip doesn't have one so make a note of where you installed it for later. Once you have the dependencies downloaded open the VS2012 x86 Native Tools Command Prompt (usually found in the Visual Studio Tools group). cd to your directory and run build-svn-deps-win.pl. If 7z.exe is not in C:\Program Files\7-Zip\7z.exe you can override this by passing SEVEN_ZIP=C:\Path\To\7z.exe to the script. The script will then download and build the dependencies for you. For me on my VM setup it takes about 45 minutes for this to run. b) Download http://ben.reser.org/svn-windows-deps/svn-trunk-deps-win32- release-20130413.7z and extract it. You can
Re: Making the Windows Build Easier
On 14 April 2013 02:46, Ben Reser b...@reser.org wrote: Unfortunately, it does not work with Visual Studio 2012 Windows Desktop Express due to the lack of devenv.(com|exe). However, the script is written to produce a the binaries in a way that they can be packaged. There's still some work to do here in making the package as minimal as possible (some of it possibly in our build system). I'm not sure, but maybe it is worth to take a look at https://github.com/winlibs/apache how it is done.
Re: Making the Windows Build Easier
On 14.04.2013 02:46, Ben Reser wrote: As we've discussed previously a big part of the problem in getting the Windows build working has been getting the dependencies built. Everyone I've talked to manages to get this done, then has no idea how to duplicate what they've done. This past week I wanted to use some static analysis tools that were only available on Windows. So I set out to build Subversion on Windows. I spent about 2 days fighting with it, taking notes the whole way so I could try and reproduce it. On the 3rd day I realized that taking notes wasn't going to work and that by the time I finished I'd have some instructions that left some important detail out or didn't explain it fully. So I started writing a script to automate this annoying process. The result is the build-svn-deps-win.pl script that I've commited in r1467714. Have you seen: https://github.com/brainy/subversion-windeps I haven't had time to expand on that but I certainly intend to make time during 1.9 development. It'll mean making considerable changes to our Windows build generator (mainly removing a bunch of assumptions), but that's all for the better. -- Brane -- Brane -- Branko Čibej Director of Subversion | WANdisco | www.wandisco.com
Re: Making the Windows Build Easier
On Sun, Apr 14, 2013 at 10:24 AM, Branko Čibej br...@wandisco.com wrote: Have you seen: https://github.com/brainy/subversion-windeps No I had not. I'd known that you'd done some work but didn't realize you'd gotten so far. I'm not sure which approach is better. I see that you've given yourself standard Unix tools. I went with Perl since I could get away without having them. I was also trying to keep the required dependencies to use it down to a minimum. Both of us appear to want to be able to look for things in bin, include and lib dirs, which the build system doesn't really want to do at current. I haven't had time to expand on that but I certainly intend to make time during 1.9 development. It'll mean making considerable changes to our Windows build generator (mainly removing a bunch of assumptions), but that's all for the better. Yup, part of the reason my packaged up output is so big is I'm shipping a lot of crap I don't want to because of the assumptions of the build system.
Re: Making the Windows Build Easier
On Sun, Apr 14, 2013 at 1:48 PM, Ben Reser b...@reser.org wrote: On Sun, Apr 14, 2013 at 10:24 AM, Branko Čibej br...@wandisco.com wrote: Have you seen: https://github.com/brainy/subversion-windeps No I had not. I'd known that you'd done some work but didn't realize you'd gotten so far. I'm not sure which approach is better. I see that you've given yourself standard Unix tools. I went with Perl since I could get away without having them. I was also trying to keep the required dependencies to use it down to a minimum. I am not sure where he keeps it, but Bert has an msbuild script that does everything as well. I believe the only thing you needed to have installed was a recent Windows SDK and it used the compiler from that. I do not recall how he handled different bindings, but I recall the script could even build Python from source so you did not need any of it installed. For SVN Edge we used his script as a starting point and then modified it so that we could use pre-built zips of things we do not want to rebuild every time like Perl/Python: https://ctf.open.collab.net/integration/viewvc/viewvc.cgi/trunk/svn-server/windows/?root=svnedgesystem=exsy1005 I know we are using VS 2008 and not the SDK. I do not recall if that is because we ran into an issue where we needed it or not. I think these scripts are useful for people doing packaging, but I am not sure how good they are if you want to hack on Subversion using Visual Studio where you want to use the debugger and have incremental rebuilds etc. I think those are the kinds of docs that would be needed. TortoiseSVN build also uses a lot of the same concepts: https://code.google.com/p/tortoisesvn/source/browse/trunk/build.txt -- Thanks Mark Phippard http://markphip.blogspot.com/
Re: Making the Windows Build Easier
On 14.04.2013 20:18, Mark Phippard wrote: On Sun, Apr 14, 2013 at 1:48 PM, Ben Reser b...@reser.org wrote: On Sun, Apr 14, 2013 at 10:24 AM, Branko Čibej br...@wandisco.com wrote: Have you seen: https://github.com/brainy/subversion-windeps No I had not. I'd known that you'd done some work but didn't realize you'd gotten so far. I'm not sure which approach is better. I see that you've given yourself standard Unix tools. I went with Perl since I could get away without having them. I was also trying to keep the required dependencies to use it down to a minimum. I am not sure where he keeps it, but Bert has an msbuild script that does everything as well. I believe the only thing you needed to have installed was a recent Windows SDK and it used the compiler from that. I do not recall how he handled different bindings, but I recall the script could even build Python from source so you did not need any of it installed. I've seen the MSBuild script, but I found it way too complicated to support in our code base. A matter of taste, I suppose. -- Brane -- Branko Čibej Director of Subversion | WANdisco | www.wandisco.com
Making the Windows Build Easier
As we've discussed previously a big part of the problem in getting the Windows build working has been getting the dependencies built. Everyone I've talked to manages to get this done, then has no idea how to duplicate what they've done. This past week I wanted to use some static analysis tools that were only available on Windows. So I set out to build Subversion on Windows. I spent about 2 days fighting with it, taking notes the whole way so I could try and reproduce it. On the 3rd day I realized that taking notes wasn't going to work and that by the time I finished I'd have some instructions that left some important detail out or didn't explain it fully. So I started writing a script to automate this annoying process. The result is the build-svn-deps-win.pl script that I've commited in r1467714. This script is far from perfect. It still needs some work on it, but it's probably about 90% of the way there to turning setting up a Windows development environment into about an hour effort from a couple day slog that you have no hope of being able to reproduce. A lot of credit goes to pburba for his blog post here: http://blogs.collab.net/subversion/building-subversion-on-windows-a-walk-through Without it I would have spent even more time doing this than I did. So with all that said, here are some details. It downloads the following things: bdb zlib pcre httpd apr apr-util apr-iconv sqlite-amalgamation serf It builds all of the above expect for sqlite and serf which get built as part of the Subversion build itself (zlib could be built there as well but I built it so that mod_deflate would work in httpd). The script is built to use an entirely modern tool chain and dependencies. Everything is the current released version. That means httpd-2.4.4, Visual Studio 2012, etc... It does not build or deal with neon, though that could be trivially added. Unfortunately, it does not work with Visual Studio 2012 Windows Desktop Express due to the lack of devenv.(com|exe). However, the script is written to produce a the binaries in a way that they can be packaged. There's still some work to do here in making the package as minimal as possible (some of it possibly in our build system). At current the script only builds a Win32 Release build. But I expect to change that in the near future. So without further ado, here are some instructions: 1) Get the dependencies. If you have a full version of Visual Studio (not an Express version) you can follow a) or b) depending on your preference. For Visual Studio Express you have to follow b). a) Pick a location to do the build and make a directory to build the deps, in my case I put it in C:\Users\breser\svn-trunk-deps. Download the script at http://svn.apache.org/repos/asf/subversion/trunk/tools/dev/build-svn-deps-win.pl and put it in this directory. Open the script in a text editor and make sure you install the few dependencies you'll need (Perl, Python, 7-Zip and CMake). Python actually may not be needed for this but it's needed for the Subversion build itself. If presented the option to add the commands to your path accept it (Python and Perl will do this by default, CMake you have to explicitly decide to do this). 7-zip doesn't have one so make a note of where you installed it for later. Once you have the dependencies downloaded open the VS2012 x86 Native Tools Command Prompt (usually found in the Visual Studio Tools group). cd to your directory and run build-svn-deps-win.pl. If 7z.exe is not in C:\Program Files\7-Zip\7z.exe you can override this by passing SEVEN_ZIP=C:\Path\To\7z.exe to the script. The script will then download and build the dependencies for you. For me on my VM setup it takes about 45 minutes for this to run. b) Download http://ben.reser.org/svn-windows-deps/svn-trunk-deps-win32-release-20130413.7z and extract it. You can rename the folder but it should be named svn-trunk-deps. In my case I put it in C:\Users\breser\svn-trunk-deps. The file is 116MB and it's compressed with 7-zip (sorry but it was less than half the size using 7-zip over normal zip). You'll need at least Python which you can find a URL to at the top of the build-svn-deps-win.pl script in the svn-trunk-deps. You may need Perl but I'm not sure, I had it on my setup since I was originally trying to do step a with Express. You won't need CMake for sure though. There is a GPG signature of the file for the appropriately cautious: http://ben.reser.org/svn-windows-deps/svn-trunk-deps-win32-release-20130413.7z.asc 2) Get Subversion's source. At this point I haven't tested this with anything other than trunk, so you'll need a Subversion client to do a checkout. 3) Configure Subversion. In the VS2012 Command Prompt cd into the Subversion source you checked out and run the following (adjusting the paths so that C:\Users\breser\svn-trunk-deps is wherever you put the dependencies: gen-make.py -t vcproj --vsnet-version=2012 --with-berkeley-db=c:\Users\breser
Re: Making the Windows Build Easier
On Sat, Apr 13, 2013 at 5:46 PM, Ben Reser b...@reser.org wrote: The result is the build-svn-deps-win.pl script that I've commited in r1467714. This script is far from perfect. It still needs some work on it, but it's probably about 90% of the way there to turning setting up a Windows development environment into about an hour effort from a couple day slog that you have no hope of being able to reproduce. For what it's worth I forgot to mention that the script and the instructions are only for trunk/1.8.0. At first it looked like it would work since the Subversion build was just unhappy about neon (which I gave it) and then it didn't know about 2012 in gen-make.py so I told it 2010 and converted the project. But when you try to build it, it ends up with a ton of errors about not being able to open source files. Maybe we should back port the 2012 generator to 1.7.x.
Re: Windows build still requires apr-util?
Hi, On 13 March 2013 18:51, kmra...@rockwellcollins.com wrote: Doesn't Apache officially only support vc6 builds for httpd on Windows? The ASF supports no binaries at all. Indeed Bill used to compile httpd with VC6, but the plans are to go to newer compiler. You may have noticed that there weren't any windows binaries with the last releases. How ever Gregg Smith made the build files for 1.5.1 see http://mail-archives.apache.org/mod_mbox/apr-dev/201303.mbox/%3C513C5A5F.7010605%40gknw.net%3E Cheers Mario
Re: Windows build still requires apr-util?
On 13 March 2013 19:15, Bert Huijben b...@qqmail.nl wrote: -Original Message- From: Sergei Antonov [mailto:sap...@gmail.com] Sent: woensdag 13 maart 2013 18:47 To: dev@subversion.apache.org Subject: Re: Windows build still requires apr-util? Gentle reminder: VS 2010 doesn't compile the latest revision. Please, add #include time.h into subversion\libsvn_subr\win32_crashrpt.c and commit. I think that is somehow dependant on other settings as it just compiles for me with 2010 (and 2012 and 2008). Do you compile this file at all? Can you explain what makes your environment different You do not have SVN_USE_WIN32_CRASHHANDLER? You use different revision? (mine is 1456399) Open VS 2010 .sln, navigate to 'win32_crashrpt.c' in project 'libsvn_subr', choose Build-Compile. What do you see? I see this: 1-- Build started: Project: libsvn_subr (Libraries\libsvn_subr), Configuration: Debug Win32 -- 1Build started 14.03.2013 13:26:47. 1ClCompile: 1 win32_crashrpt.c 1..\..\..\subversion\libsvn_subr\win32_crashrpt.c(706): error C4013: 'time' undefined; assuming extern returning int 1..\..\..\subversion\libsvn_subr\win32_crashrpt.c(707): error C4013: 'strftime' undefined; assuming extern returning int 1..\..\..\subversion\libsvn_subr\win32_crashrpt.c(707): error C4013: 'localtime' undefined; assuming extern returning int 1 1Build FAILED. 1 1Time Elapsed 00:00:00.96 == Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped == , because just adding includes everywhere is not the way to fix these things Every translation unit with a call to localtime/time/strftime must include time.h. So it IS a way to fix these things.
RE: Windows build still requires apr-util?
-Original Message- From: Sergei Antonov [mailto:sap...@gmail.com] Sent: donderdag 14 maart 2013 13:33 To: dev@subversion.apache.org Subject: Re: Windows build still requires apr-util? On 13 March 2013 19:15, Bert Huijben b...@qqmail.nl wrote: -Original Message- From: Sergei Antonov [mailto:sap...@gmail.com] Sent: woensdag 13 maart 2013 18:47 To: dev@subversion.apache.org Subject: Re: Windows build still requires apr-util? Gentle reminder: VS 2010 doesn't compile the latest revision. Please, add #include time.h into subversion\libsvn_subr\win32_crashrpt.c and commit. I think that is somehow dependant on other settings as it just compiles for me with 2010 (and 2012 and 2008). Do you compile this file at all? Can you explain what makes your environment different You do not have SVN_USE_WIN32_CRASHHANDLER? You use different revision? (mine is 1456399) Open VS 2010 .sln, navigate to 'win32_crashrpt.c' in project 'libsvn_subr', choose Build-Compile. What do you see? I see this: 1-- Build started: Project: libsvn_subr (Libraries\libsvn_subr), Configuration: Debug Win32 -- 1Build started 14.03.2013 13:26:47. 1ClCompile: 1 win32_crashrpt.c 1..\..\..\subversion\libsvn_subr\win32_crashrpt.c(706): error C4013: 'time' undefined; assuming extern returning int 1..\..\..\subversion\libsvn_subr\win32_crashrpt.c(707): error C4013: 'strftime' undefined; assuming extern returning int 1..\..\..\subversion\libsvn_subr\win32_crashrpt.c(707): error C4013: 'localtime' undefined; assuming extern returning int 1 1Build FAILED. 1 1Time Elapsed 00:00:00.96 == Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped == , because just adding includes everywhere is not the way to fix these things Every translation unit with a call to localtime/time/strftime must include time.h. So it IS a way to fix these things. My apr.h includes time.h. apr.hw defines APR_HAVE_TIME and the generated apr.h then includes time.h for me. Why should we include this file manually? Bert
RE: Windows build still requires apr-util?
-Original Message- From: Sergei Antonov [mailto:sap...@gmail.com] Sent: donderdag 14 maart 2013 14:13 To: Bert Huijben Subject: Re: Windows build still requires apr-util? On 14 March 2013 13:44, Bert Huijben b...@qqmail.nl wrote: -Original Message- From: Sergei Antonov [mailto:sap...@gmail.com] Sent: donderdag 14 maart 2013 13:31 To: Bert Huijben Subject: Re: Windows build still requires apr-util? On 13 March 2013 19:15, Bert Huijben b...@qqmail.nl wrote: -Original Message- From: Sergei Antonov [mailto:sap...@gmail.com] Sent: woensdag 13 maart 2013 18:47 To: dev@subversion.apache.org Subject: Re: Windows build still requires apr-util? Gentle reminder: VS 2010 doesn't compile the latest revision. Please, add #include time.h into subversion\libsvn_subr\win32_crashrpt.c and commit. I think that is somehow dependant on other settings as it just compiles for me with 2010 (and 2012 and 2008). Do not compile this file at all? Can you explain what makes your environment different You do not have SVN_USE_WIN32_CRASHHANDLER? You use different revision? (mine is 1456399) Open VS 2010 .sln, navigate to 'win32_crashrpt.c' in project 'libsvn_subr', choose Build-Compile. What do you see? I see this: I use the crash handler. (Standard settings) and I usually build Subversion trunk multiple times per day with different Visual Studio versions. The file hasn't changed in this respect for years. time.h is included by apr.h for me. My apr.h is attached. Can you compare it with yours? I don't see why we would have to duplicate the include here in my environment. Is time.h from apr.h guaranteed? Yes, in apr 0.9.X and 1.x it is always included on Windows, see apr.hw from the apr project. Their compatibility rules are the same as ours. We don't declare apr 2.X support in Subversion, so I would guess that is untested. But I would guess it is still included there. (And unless it was an actual decision to remove it, I would call it a bug if it is no longer included) But APR is supported on another mailinglist, than this one. Bert
Re: Windows build still requires apr-util?
On 14 March 2013 15:00, Bert Huijben b...@qqmail.nl wrote: -Original Message- From: Sergei Antonov [mailto:sap...@gmail.com] Sent: donderdag 14 maart 2013 14:13 To: Bert Huijben Subject: Re: Windows build still requires apr-util? On 14 March 2013 13:44, Bert Huijben b...@qqmail.nl wrote: -Original Message- From: Sergei Antonov [mailto:sap...@gmail.com] Sent: donderdag 14 maart 2013 13:31 To: Bert Huijben Subject: Re: Windows build still requires apr-util? On 13 March 2013 19:15, Bert Huijben b...@qqmail.nl wrote: -Original Message- From: Sergei Antonov [mailto:sap...@gmail.com] Sent: woensdag 13 maart 2013 18:47 To: dev@subversion.apache.org Subject: Re: Windows build still requires apr-util? Gentle reminder: VS 2010 doesn't compile the latest revision. Please, add #include time.h into subversion\libsvn_subr\win32_crashrpt.c and commit. I think that is somehow dependant on other settings as it just compiles for me with 2010 (and 2012 and 2008). Do not compile this file at all? Can you explain what makes your environment different You do not have SVN_USE_WIN32_CRASHHANDLER? You use different revision? (mine is 1456399) Open VS 2010 .sln, navigate to 'win32_crashrpt.c' in project 'libsvn_subr', choose Build-Compile. What do you see? I see this: I use the crash handler. (Standard settings) and I usually build Subversion trunk multiple times per day with different Visual Studio versions. The file hasn't changed in this respect for years. time.h is included by apr.h for me. My apr.h is attached. Can you compare it with yours? I don't see why we would have to duplicate the include here in my environment. Is time.h from apr.h guaranteed? Yes Hard to believe. I don't know about apr specifically, but usually library headers (like apr.h) are means to deliver library's (i.e. APR's) functions/types/constants and not means to deliver system headers. And when they do, it is just a side effect. We don't declare apr 2.X support in Subversion, so I would guess that is untested. Didn't know about not supporting 2.X in subversion. Thanks for telling. It is not mentioned in 'INSTALL'. But I would guess it is still included there. I used apr 2.0. No time.h there, see the apr.h I sent you.
RE: Windows build still requires apr-util?
-Original Message- From: Sergei Antonov [mailto:sap...@gmail.com] Sent: donderdag 14 maart 2013 16:02 To: dev@subversion.apache.org Subject: Re: Windows build still requires apr-util? On 14 March 2013 15:00, Bert Huijben b...@qqmail.nl wrote: -Original Message- From: Sergei Antonov [mailto:sap...@gmail.com] Sent: donderdag 14 maart 2013 14:13 To: Bert Huijben Subject: Re: Windows build still requires apr-util? On 14 March 2013 13:44, Bert Huijben b...@qqmail.nl wrote: -Original Message- From: Sergei Antonov [mailto:sap...@gmail.com] Sent: donderdag 14 maart 2013 13:31 To: Bert Huijben Subject: Re: Windows build still requires apr-util? On 13 March 2013 19:15, Bert Huijben b...@qqmail.nl wrote: -Original Message- From: Sergei Antonov [mailto:sap...@gmail.com] Sent: woensdag 13 maart 2013 18:47 To: dev@subversion.apache.org Subject: Re: Windows build still requires apr-util? Gentle reminder: VS 2010 doesn't compile the latest revision. Please, add #include time.h into subversion\libsvn_subr\win32_crashrpt.c and commit. I think that is somehow dependant on other settings as it just compiles for me with 2010 (and 2012 and 2008). Do not compile this file at all? Can you explain what makes your environment different You do not have SVN_USE_WIN32_CRASHHANDLER? You use different revision? (mine is 1456399) Open VS 2010 .sln, navigate to 'win32_crashrpt.c' in project 'libsvn_subr', choose Build-Compile. What do you see? I see this: I use the crash handler. (Standard settings) and I usually build Subversion trunk multiple times per day with different Visual Studio versions. The file hasn't changed in this respect for years. time.h is included by apr.h for me. My apr.h is attached. Can you compare it with yours? I don't see why we would have to duplicate the include here in my environment. Is time.h from apr.h guaranteed? Yes Hard to believe. I don't know about apr specifically, but usually library headers (like apr.h) are means to deliver library's (i.e. APR's) functions/types/constants and not means to deliver system headers. And when they do, it is just a side effect. We don't declare apr 2.X support in Subversion, so I would guess that is untested. Didn't know about not supporting 2.X in subversion. Thanks for telling. It is not mentioned in 'INSTALL'. From the details section of INSTALL 1. Apache Portable Runtime 0.9.7 or 1.X.X (REQUIRED) Whenever you want to build any part of Subversion, you need the Apache Portable Runtime (APR) and the APR Utility (APR-util) libraries. Also note that there are no released apr 2.x versions on http://apr.apache.org/, the recommended version there is still 1.4.6. In the current state we haven't started adding 2.X compatibility, as officially it doesn't exist yet. (Anything can change until the first released 2.X. There are no compatibly promises between major versions) Bert
Re: Windows build still requires apr-util?
On 14 March 2013 16:09, Bert Huijben b...@qqmail.nl wrote: -Original Message- From: Sergei Antonov [mailto:sap...@gmail.com] Sent: donderdag 14 maart 2013 16:02 To: dev@subversion.apache.org Subject: Re: Windows build still requires apr-util? On 14 March 2013 15:00, Bert Huijben b...@qqmail.nl wrote: -Original Message- From: Sergei Antonov [mailto:sap...@gmail.com] Sent: donderdag 14 maart 2013 14:13 To: Bert Huijben Subject: Re: Windows build still requires apr-util? On 14 March 2013 13:44, Bert Huijben b...@qqmail.nl wrote: -Original Message- From: Sergei Antonov [mailto:sap...@gmail.com] Sent: donderdag 14 maart 2013 13:31 To: Bert Huijben Subject: Re: Windows build still requires apr-util? On 13 March 2013 19:15, Bert Huijben b...@qqmail.nl wrote: -Original Message- From: Sergei Antonov [mailto:sap...@gmail.com] Sent: woensdag 13 maart 2013 18:47 To: dev@subversion.apache.org Subject: Re: Windows build still requires apr-util? Gentle reminder: VS 2010 doesn't compile the latest revision. Please, add #include time.h into subversion\libsvn_subr\win32_crashrpt.c and commit. I think that is somehow dependant on other settings as it just compiles for me with 2010 (and 2012 and 2008). Do not compile this file at all? Can you explain what makes your environment different You do not have SVN_USE_WIN32_CRASHHANDLER? You use different revision? (mine is 1456399) Open VS 2010 .sln, navigate to 'win32_crashrpt.c' in project 'libsvn_subr', choose Build-Compile. What do you see? I see this: I use the crash handler. (Standard settings) and I usually build Subversion trunk multiple times per day with different Visual Studio versions. The file hasn't changed in this respect for years. time.h is included by apr.h for me. My apr.h is attached. Can you compare it with yours? I don't see why we would have to duplicate the include here in my environment. Is time.h from apr.h guaranteed? Yes Hard to believe. I don't know about apr specifically, but usually library headers (like apr.h) are means to deliver library's (i.e. APR's) functions/types/constants and not means to deliver system headers. And when they do, it is just a side effect. We don't declare apr 2.X support in Subversion, so I would guess that is untested. Didn't know about not supporting 2.X in subversion. Thanks for telling. It is not mentioned in 'INSTALL'. From the details section of INSTALL 1. Apache Portable Runtime 0.9.7 or 1.X.X (REQUIRED) Whenever you want to build any part of Subversion, you need the Apache Portable Runtime (APR) and the APR Utility (APR-util) libraries. I compiled for Windows, so I went straight to E. Building the Latest Source under Windows of INSTALL, and read there: * Apache apr, apr-util, and optionally apr-iconv libraries, version 0.9.12 or later. Included in both the Subversion dependencies ZIP file or later - no upper limit. Also note that there are no released apr 2.x versions on http://apr.apache.org/, the recommended version there is still 1.4.6. Good. I've switched to 1.4.6.
Re: Windows build still requires apr-util?
On Thu, Mar 14, 2013 at 8:09 AM, Bert Huijben b...@qqmail.nl wrote: In the current state we haven't started adding 2.X compatibility, as officially it doesn't exist yet. (Anything can change until the first released 2.X. There are no compatibly promises between major versions) Unix build works with APR 2.x (mostly thanks to Philip). I've been using it off and on that way whenever I wanted to debug the full stack (apr/httpd/subversion). I haven't noticed any issues. At least for me I don't have time.h being included by apr.h in either APR 2.x or 1.x: $ egrep -i time.h /usr/include/apr-1.0/apr.h #define APR_HAVE_SYS_TIME_H 1 #define APR_HAVE_TIME_H 1 $ egrep -i time.h /home/breser/httpd-trunk-root/include/apr-2/apr.h #define APR_HAVE_SYS_TIME_H 1 #define APR_HAVE_TIME_H 1 It was removed from apr.hw in r892162 with the message futher win32 synchronization However, as Bert has already pointed out this is probably something that should be directed towards the APR dev list.
RE: Windows build still requires apr-util?
-Original Message- From: Sergei Antonov [mailto:sap...@gmail.com] Sent: zondag 10 maart 2013 16:39 To: dev@subversion.apache.org Subject: Re: Windows build still requires apr-util? Well, I took apr-util-1.5.1-win32-src.zip and dsw/dsp were generated. Then I opened .dsw in VS 2010, did a conversion, and tried to build. Nothing except zlib compiles, with a lot of Cannot open include file: 'svn_private_config.h' errors. Did I miss some step that generates this file? I can confirm that the build with Visual C++ 6.0 scripts is broken on trunk since r1371633, but I currently don't have access to that version of Visual C++ to fix it. Bert
Re: Windows build still requires apr-util?
On 13.03.2013 13:08, Bert Huijben wrote: -Original Message- From: Sergei Antonov [mailto:sap...@gmail.com] Sent: zondag 10 maart 2013 16:39 To: dev@subversion.apache.org Subject: Re: Windows build still requires apr-util? Well, I took apr-util-1.5.1-win32-src.zip and dsw/dsp were generated. Then I opened .dsw in VS 2010, did a conversion, and tried to build. Nothing except zlib compiles, with a lot of Cannot open include file: 'svn_private_config.h' errors. Did I miss some step that generates this file? I can confirm that the build with Visual C++ 6.0 scripts is broken on trunk since r1371633, but I currently don't have access to that version of Visual C++ to fix it. Nor should you even try to, IMO. There comes a time when it ceases to make any sense to support an old compiler that's been EOL-d a while ago, especially since free versions of newer compilers are available. I would support removing the .dsp generator completely. -- Brane -- Branko Čibej Director of Subversion | WANdisco | www.wandisco.com
Re: Windows build still requires apr-util?
On Wed, Mar 13, 2013 at 6:59 AM, Branko Čibej br...@wandisco.com wrote: Nor should you even try to, IMO. There comes a time when it ceases to make any sense to support an old compiler that's been EOL-d a while ago, especially since free versions of newer compilers are available. I would support removing the .dsp generator completely. +1, it's old and broke and better to not exist. If it's there someone is likely to try to use it.
RE: Windows build still requires apr-util?
-Original Message- From: Ben Reser [mailto:b...@reser.org] Sent: woensdag 13 maart 2013 18:14 To: Branko Čibej Cc: dev@subversion.apache.org Subject: Re: Windows build still requires apr-util? On Wed, Mar 13, 2013 at 6:59 AM, Branko Čibej br...@wandisco.com wrote: Nor should you even try to, IMO. There comes a time when it ceases to make any sense to support an old compiler that's been EOL-d a while ago, especially since free versions of newer compilers are available. I would support removing the .dsp generator completely. +1, it's old and broke and better to not exist. If it's there someone is likely to try to use it. If we remove this support, I would recommend also removing the VS 2002 (aka .Net) and 2003 support. Those versions are mostly unused these days while 6.0 still has a group of supporters that doesn't want to upgrade to anything newer. If our NMake support still works (I never used it), I would recommend that users of these old versions of Visual Studio use that, if they want to build subversion using those tools. Bert
Re: Windows build still requires apr-util?
Gentle reminder: VS 2010 doesn't compile the latest revision. Please, add #include time.h into subversion\libsvn_subr\win32_crashrpt.c and commit.
Re: Windows build still requires apr-util?
Nor should you even try to, IMO. There comes a time when it ceases to make any sense to support an old compiler that's been EOL-d a while ago, especially since free versions of newer compilers are available. I would support removing the .dsp generator completely. +1, it's old and broke and better to not exist. If it's there someone is likely to try to use it. Doesn't Apache officially only support vc6 builds for httpd on Windows? I know some unofficial builds (and I use an x64 version compiled with vs2008) are available, but removing vc6 support would be premature if Apache isn't widely available when built with newer compilers... Kevin R.
Re: Windows build still requires apr-util?
On Wed, Mar 13, 2013 at 1:51 PM, kmra...@rockwellcollins.com wrote: Nor should you even try to, IMO. There comes a time when it ceases to make any sense to support an old compiler that's been EOL-d a while ago, especially since free versions of newer compilers are available. I would support removing the .dsp generator completely. +1, it's old and broke and better to not exist. If it's there someone is likely to try to use it. Doesn't Apache officially only support vc6 builds for httpd on Windows? I know some unofficial builds (and I use an x64 version compiled with vs2008) are available, but removing vc6 support would be premature if Apache isn't widely available when built with newer compilers... Kevin R. The HTTP server project stopped providing Windows binaries or even a Windows-specific source zip file a few releases ago. The documentation for building mentions VC 6.0, but it also mentions later versions and I believe the build process supports other versions. We build it using VS 2010. Apache Lounge binaries are all done with newer versions as well. -- Thanks Mark Phippard http://markphip.blogspot.com/
RE: Windows build still requires apr-util?
-Original Message- From: Sergei Antonov [mailto:sap...@gmail.com] Sent: woensdag 13 maart 2013 18:47 To: dev@subversion.apache.org Subject: Re: Windows build still requires apr-util? Gentle reminder: VS 2010 doesn't compile the latest revision. Please, add #include time.h into subversion\libsvn_subr\win32_crashrpt.c and commit. I think that is somehow dependant on other settings as it just compiles for me with 2010 (and 2012 and 2008). Can you explain what makes your environment different, because just adding includes everywhere is not the way to fix these things? Bert
Re: Windows build still requires apr-util?
I've been using VC6 to test the ruby bindings as I haven't yet succeeded in building with mingw. It needs this patch: [[[ Index: build/generator/gen_win.py === --- build/generator/gen_win.py (revision 1454760) +++ build/generator/gen_win.py (working copy) @@ -401,7 +401,6 @@ install_targets = [x for x in install_targets if not (isinstance(x, gen_base.TargetJava) or isinstance(x, gen_base.TargetJavaHeaders) - or isinstance(x, gen_base.TargetSWIGProject) or x.name == '__JAVAHL__' or x.name == '__JAVAHL_TESTS__' or x.name == 'libsvnjavahl')] Index: subversion/include/svn_types.h === --- subversion/include/svn_types.h (revision 1454760) +++ subversion/include/svn_types.h (working copy) @@ -29,6 +29,7 @@ /* ### this should go away, but it causes too much breakage right now */ #include stdlib.h +#include limits.h /* for ULONG_MAX */ #include apr.h /* for apr_size_t, apr_int64_t, ... */ #include apr_errno.h /* for apr_status_t */ Index: subversion/libsvn_subr/sysinfo.c === --- subversion/libsvn_subr/sysinfo.c(revision 1454760) +++ subversion/libsvn_subr/sysinfo.c(working copy) @@ -28,8 +28,14 @@ #define PSAPI_VERSION 1 #include windows.h #include psapi.h +#if defined(_MSC_VER) +#if _MSC_VER 1200 #include Ws2tcpip.h #endif +#else +#include Ws2tcpip.h +#endif +#endif #define APR_WANT_STRFUNC #include apr_want.h Index: subversion/libsvn_subr/cache-membuffer.c === --- subversion/libsvn_subr/cache-membuffer.c(revision 1454760) +++ subversion/libsvn_subr/cache-membuffer.c(working copy) @@ -116,11 +116,11 @@ /* By default, don't create cache segments smaller than this value unless * the total cache size itself is smaller. */ -#define DEFAULT_MIN_SEGMENT_SIZE 0x200ull +#define DEFAULT_MIN_SEGMENT_SIZE 0x200ui64 /* The minimum segment size we will allow for multi-segmented caches */ -#define MIN_SEGMENT_SIZE 0x1ull +#define MIN_SEGMENT_SIZE 0x1ui64 /* The maximum number of segments allowed. Larger numbers reduce the size * of each segment, in turn reducing the max size of a cachable item. @@ -133,7 +133,7 @@ /* As of today, APR won't allocate chunks of 4GB or more. So, limit the * segment size to slightly below that. */ -#define MAX_SEGMENT_SIZE 0xull +#define MAX_SEGMENT_SIZE 0xui64 /* We don't mark the initialization status for every group but initialize * a number of groups at once. That will allow for a very small init flags ]]] Though honestly, I haven't much interest in it once I can get a mingw going -- Joe On Wed, Mar 13, 2013 at 10:14 AM, Ben Reser b...@reser.org wrote: On Wed, Mar 13, 2013 at 6:59 AM, Branko Čibej br...@wandisco.com wrote: Nor should you even try to, IMO. There comes a time when it ceases to make any sense to support an old compiler that's been EOL-d a while ago, especially since free versions of newer compilers are available. I would support removing the .dsp generator completely. +1, it's old and broke and better to not exist. If it's there someone is likely to try to use it.
Re: Windows build still requires apr-util?
Well, I took apr-util-1.5.1-win32-src.zip and dsw/dsp were generated. Then I opened .dsw in VS 2010, did a conversion, and tried to build. Nothing except zlib compiles, with a lot of Cannot open include file: 'svn_private_config.h' errors. Did I miss some step that generates this file? Why do you create Visual Studio 6.0 projects and upgrade these while Subversion can just create VC 2002, 2003, 2005, 2008, 2010 and 2012 projects for you? Didn't think 2010 was supported, because this piece of --help output only tells about 6.0 and 2002: -t TYPE use the TYPE generator; can be one of: dsp MSVC 6.x project files make Makefiles for POSIX systems vcprojVC.Net project files OK, I did -t vcproj --vsnet-version=2010 and svn_private_config.h problem is gone. Still cannot build the executable. The first errors in the log are: 4..\..\..\subversion\libsvn_subr\win32_crashrpt.c(706): error C4013: 'time' undefined; assuming extern returning int 4..\..\..\subversion\libsvn_subr\win32_crashrpt.c(707): error C4013: 'strftime' undefined; assuming extern returning int 4..\..\..\subversion\libsvn_subr\win32_crashrpt.c(707): error C4013: 'localtime' undefined; assuming extern returning int time.h!
Windows build still requires apr-util?
Hi! Here is what I get trying to build a Win32 Subversion from the trunk: === D:\src\subversionpython.exe gen-make.py -t dsp BDB not found, BDB fs will not be built Could not detect Ruby version, assuming 1.8. Ruby bindings will be linked with msvcrt-ruby18.lib Could not detect perl version. Perl bindings will be linked with perl56.lib Could not find installed SWIG, assuming version 1.3.25 Found apr 2.0.0 ERROR: 'apr-util\include\apu_version.h' not found. Use '--with-apr-util' option to configure APR-Util location. === Now that APR-util_has_been_merged_to_APR_trunk what am I supposed to provide???
RE: Windows build still requires apr-util?
Yes, you need apr-util for apr 0.x and 1.x. In 2.x apr-util might/will be integrated in Apr,so you still need it but don't have to install it separately. In the past you also needed apr-iconv, but that is no longer required (depending on your settings) Bert From: Sergei Antonov Sent: 10-3-2013 15:44 To: dev@subversion.apache.org Subject: Windows build still requires apr-util? Hi! Here is what I get trying to build a Win32 Subversion from the trunk: === D:\src\subversionpython.exe gen-make.py -t dsp BDB not found, BDB fs will not be built Could not detect Ruby version, assuming 1.8. Ruby bindings will be linked with msvcrt-ruby18.lib Could not detect perl version. Perl bindings will be linked with perl56.lib Could not find installed SWIG, assuming version 1.3.25 Found apr 2.0.0 ERROR: 'apr-util\include\apu_version.h' not found. Use '--with-apr-util' option to configure APR-Util location. === Now that APR-util_has_been_merged_to_APR_trunk what am I supposed to provide???
Re: Windows build still requires apr-util?
Well, I took apr-util-1.5.1-win32-src.zip and dsw/dsp were generated. Then I opened .dsw in VS 2010, did a conversion, and tried to build. Nothing except zlib compiles, with a lot of Cannot open include file: 'svn_private_config.h' errors. Did I miss some step that generates this file? On 10 March 2013 15:56, Bert Huijben b...@qqmail.nl wrote: Yes, you need apr-util for apr 0.x and 1.x. In 2.x apr-util might/will be integrated in Apr,so you still need it but don't have to install it separately. In the past you also needed apr-iconv, but that is no longer required (depending on your settings) Bert From: Sergei Antonov Sent: 10-3-2013 15:44 To: dev@subversion.apache.org Subject: Windows build still requires apr-util? Hi! Here is what I get trying to build a Win32 Subversion from the trunk: === D:\src\subversionpython.exe gen-make.py -t dsp BDB not found, BDB fs will not be built Could not detect Ruby version, assuming 1.8. Ruby bindings will be linked with msvcrt-ruby18.lib Could not detect perl version. Perl bindings will be linked with perl56.lib Could not find installed SWIG, assuming version 1.3.25 Found apr 2.0.0 ERROR: 'apr-util\include\apu_version.h' not found. Use '--with-apr-util' option to configure APR-Util location. === Now that APR-util_has_been_merged_to_APR_trunk what am I supposed to provide???
RE: Windows build still requires apr-util?
-Original Message- From: Sergei Antonov [mailto:sap...@gmail.com] Sent: zondag 10 maart 2013 16:39 To: dev@subversion.apache.org Subject: Re: Windows build still requires apr-util? Well, I took apr-util-1.5.1-win32-src.zip and dsw/dsp were generated. Then I opened .dsw in VS 2010, did a conversion, and tried to build. Nothing except zlib compiles, with a lot of Cannot open include file: 'svn_private_config.h' errors. Did I miss some step that generates this file? Why do you create Visual Studio 6.0 projects and upgrade these while Subversion can just create VC 2002, 2003, 2005, 2008, 2010 and 2012 projects for you? I don't think any Subversion developers tests the Visual Studio 6.0 (read: 1998) projects during regular development. That compiler version is 15 years old. The project should create the file during build using a python script (trunk) or from svn_private_config.hw (-1.7.x) during the svn_config project, but as I said I don't think it is really tested for that old versions of Visual Studio. (Patches welcome as some httpd versions still use that old Visual C++) Bert
Re: svn commit: r1339262 - in /subversion/trunk: ./ build/generator/ build/win32/ notes/ subversion/svnmucc/ subversion/tests/cmdline/svntest/ tools/client-side/svnmucc/ tools/dev/windows-build/
cmpil...@apache.org wrote on Wed, May 16, 2012 at 16:44:47 -: Author: cmpilato Date: Wed May 16 16:44:47 2012 New Revision: 1339262 URL: http://svn.apache.org/viewvc?rev=1339262view=rev Log: Finish issue #3308 (Promote 'svnmucc' tool (or functionality) into a fully supported binary). This change was made using semi-manual invocations of 'svn diff' and 'svn patch' from danielsh's ^/subversion/branches/svnmucc/ branch (to account for changes made to svnmucc.c since the branch was cut). Thanks!
Re: svn commit: r1339262 - in /subversion/trunk: ./ build/generator/ build/win32/ notes/ subversion/svnmucc/ subversion/tests/cmdline/svntest/ tools/client-side/svnmucc/ tools/dev/windows-build/
On 05/16/2012 12:57 PM, Daniel Shahaf wrote: cmpil...@apache.org wrote on Wed, May 16, 2012 at 16:44:47 -: Author: cmpilato Date: Wed May 16 16:44:47 2012 New Revision: 1339262 URL: http://svn.apache.org/viewvc?rev=1339262view=rev Log: Finish issue #3308 (Promote 'svnmucc' tool (or functionality) into a fully supported binary). This change was made using semi-manual invocations of 'svn diff' and 'svn patch' from danielsh's ^/subversion/branches/svnmucc/ branch (to account for changes made to svnmucc.c since the branch was cut). Thanks! You did all the hard work -- thank you! -- C. Michael Pilato cmpil...@collab.net CollabNet www.collab.net Enterprise Cloud Development signature.asc Description: OpenPGP digital signature
Windows build bot failures
Hi all, Both SlikSVN build machines have a stuck fs_test.exe. It happened after one of my commits but I don't think it is related (maybe I'm wrong ...) Could somebody give those servers a little nudge? -- Stefan^2.
Re: Windows build, nonexistent functions
On 29.05.2011 04:31, Greg Stein wrote: On May 28, 2011 1:39 PM, Stefan Küng tortoise...@gmail.com mailto:tortoise...@gmail.com wrote: On 28.05.2011 19:33, Daniel Shahaf wrote: Fair enough. However, we don't have a practice of keeping declarations without corresponding definitions. If that is indeed the case (as opposed to definitions which are conditional on preprocessor macros that the declaration isn't conditional upon), IMO go ahead and drop the declarations. I did a grep search for those functions, and the only files they showed up were the headers, no other files contained those function names. So it's not because of preprocessor conditionals. I'll wait until tomorrow. If there are no objections until then, I'll commit a change which removes those. For the conflict_skel functions, please wrap them in #if 0, rather then deleting them. We are going to use them for 1.8. The other two... as you wish. An #if 0 won't help with extractor.py at all. It will still extract the functions. If the functions are needed in 1.8, can't we just add them once they're really needed? Stefan -- ___ oo // \\ De Chelonian Mobile (_,\/ \_/ \ TortoiseSVN \ \_/_\_/The coolest Interface to (Sub)Version Control /_/ \_\ http://tortoisesvn.net
Re: Windows build, nonexistent functions
On 29.05.2011 09:54, Greg Stein wrote: On May 29, 2011 2:55 AM, Stefan Küng tortoise...@gmail.com mailto:tortoise...@gmail.com wrote: On 29.05.2011 04:31, Greg Stein wrote: On May 28, 2011 1:39 PM, Stefan Küng tortoise...@gmail.com mailto:tortoise...@gmail.com mailto:tortoise...@gmail.com mailto:tortoise...@gmail.com wrote: ... I did a grep search for those functions, and the only files they showed up were the headers, no other files contained those function names. So it's not because of preprocessor conditionals. I'll wait until tomorrow. If there are no objections until then, I'll commit a change which removes those. For the conflict_skel functions, please wrap them in #if 0, rather then deleting them. We are going to use them for 1.8. The other two... as you wish. An #if 0 won't help with extractor.py at all. It will still extract the functions. Eep. Good point. If the functions are needed in 1.8, can't we just add them once they're really needed? Sure. My concern was just getting them back when needed. I guess we can just rely on 'svn log' and track down the right revision. I've adjusted the TSVN build to remove those functions from the extractor.py output. So it's not a big deal for me. But I'm still wondering whether the Windows build for the svn client works. Can anyone here try it? If it works, those functions could stay there so you don't have to track them down again once you need them. Stefan -- ___ oo // \\ De Chelonian Mobile (_,\/ \_/ \ TortoiseSVN \ \_/_\_/The coolest Interface to (Sub)Version Control /_/ \_\ http://tortoisesvn.net
Re: Windows build, nonexistent functions
Stefan Küng wrote on Sun, May 29, 2011 at 10:03:01 +0200: But I'm still wondering whether the Windows build for the svn client works. Can anyone here try it? The build works every day for N windows-based devs and 2 windows buildbots. If you're going to ask Does the Windows build work, I suggest that you consider asking a more specific/focused question instead. If it works, those functions could stay there so you don't have to track them down again once you need them.
RE: Windows build, nonexistent functions
-Original Message- From: Stefan Küng [mailto:tortoise...@gmail.com] Sent: zondag 29 mei 2011 10:03 To: Greg Stein Cc: Subversion Development; Daniel Shahaf Subject: Re: Windows build, nonexistent functions On 29.05.2011 09:54, Greg Stein wrote: On May 29, 2011 2:55 AM, Stefan Küng tortoise...@gmail.com mailto:tortoise...@gmail.com wrote: On 29.05.2011 04:31, Greg Stein wrote: On May 28, 2011 1:39 PM, Stefan Küng tortoise...@gmail.com mailto:tortoise...@gmail.com mailto:tortoise...@gmail.com mailto:tortoise...@gmail.com wrote: ... I did a grep search for those functions, and the only files they showed up were the headers, no other files contained those function names. So it's not because of preprocessor conditionals. I'll wait until tomorrow. If there are no objections until then, I'll commit a change which removes those. For the conflict_skel functions, please wrap them in #if 0, rather then deleting them. We are going to use them for 1.8. The other two... as you wish. An #if 0 won't help with extractor.py at all. It will still extract the functions. Eep. Good point. If the functions are needed in 1.8, can't we just add them once they're really needed? Sure. My concern was just getting them back when needed. I guess we can just rely on 'svn log' and track down the right revision. I've adjusted the TSVN build to remove those functions from the extractor.py output. So it's not a big deal for me. But I'm still wondering whether the Windows build for the svn client works. Can anyone here try it? If it works, those functions could stay there so you don't have to track them down again once you need them. We only call extractor.py on the header files referenced in 'msvc-export =' lines of build.conf. All the functions referenced in this mail thread are library private on a normal Windows build. The Windows-RA buildbot uses a shared library build, so its build would have been broken for more than a year, if this would have been a problem. Are you seeing this problem in a custom build? ;) Beer
Windows build, nonexistent functions
Hi, While trying to change the svn build with the scripts I use in TSVN I discovered that there are several functions mentioned in header files that don't exist anywhere else, i.e. the functions are not implemented in any c files. They only exist in the headers. I haven't tried this, but my guess is that with this the official svn build for Windows can't work: the extractor.py script extracts these functions, puts them in the *.def file. And then the linker will complain with an LNK2001 error because there simply isn't a function to export. But of course I could be wrong since nobody else noticed this before. The functions which don't have an implementation: svn_ra_neon__abort_commit svn_ra_serf__get_youngest_rev svn_wc__conflict_skel_add_obstruction svn_wc__conflict_skel_add_reject_conflict svn_wc__conflict_skel_add_text_conflict svn_wc__conflict_skel_add_tree_conflict svn_wc__conflict_skel_set_op_merge svn_wc__conflict_skel_set_op_patch svn_wc__conflict_skel_set_op_switch svn_wc__conflict_skel_set_op_update Anyway, even if the build succeeds, I think having such functions mentioned in the header but not implemented is not good. Stefan -- ___ oo // \\ De Chelonian Mobile (_,\/ \_/ \ TortoiseSVN \ \_/_\_/The coolest Interface to (Sub)Version Control /_/ \_\ http://tortoisesvn.net
Re: Windows build, nonexistent functions
On 28.05.2011 19:33, Daniel Shahaf wrote: Stefan Küng wrote on Sat, May 28, 2011 at 19:05:34 +0200: On 28.05.2011 19:03, Daniel Shahaf wrote: Stefan Küng wrote on Sat, May 28, 2011 at 15:43:58 +0200: I think having such functions mentioned in the header but not implemented is not good. Why are you telling us that? You have commit access. I don't want to break something. Maybe those will get implemented soon? Fair enough. However, we don't have a practice of keeping declarations without corresponding definitions. If that is indeed the case (as opposed to definitions which are conditional on preprocessor macros that the declaration isn't conditional upon), IMO go ahead and drop the declarations. I did a grep search for those functions, and the only files they showed up were the headers, no other files contained those function names. So it's not because of preprocessor conditionals. I'll wait until tomorrow. If there are no objections until then, I'll commit a change which removes those. Stefan -- ___ oo // \\ De Chelonian Mobile (_,\/ \_/ \ TortoiseSVN \ \_/_\_/The coolest Interface to (Sub)Version Control /_/ \_\ http://tortoisesvn.net
Re: Windows build, nonexistent functions
On May 28, 2011 1:39 PM, Stefan Küng tortoise...@gmail.com wrote: On 28.05.2011 19:33, Daniel Shahaf wrote: Fair enough. However, we don't have a practice of keeping declarations without corresponding definitions. If that is indeed the case (as opposed to definitions which are conditional on preprocessor macros that the declaration isn't conditional upon), IMO go ahead and drop the declarations. I did a grep search for those functions, and the only files they showed up were the headers, no other files contained those function names. So it's not because of preprocessor conditionals. I'll wait until tomorrow. If there are no objections until then, I'll commit a change which removes those. For the conflict_skel functions, please wrap them in #if 0, rather then deleting them. We are going to use them for 1.8. The other two... as you wish. Thanks, -g
Re: [patch] Fix windows build
On Sat, Mar 20, 2010 at 05:52:46PM -0700, Joe Swatosh wrote: [[[ Follow on to r924760 which removed svn_diff_private.h. Remove svn_diff_private.h as a source of exported functions in the windows build. ]]] +1 to commit (and sorry for breaking the windows build) Stefan Index: build.conf === --- build.conf (revision 925708) +++ build.conf (working copy) @@ -224,7 +224,7 @@ path = subversion/libsvn_diff libs = libsvn_subr apriconv apr install = lib -msvc-export = svn_diff.h private/svn_diff_private.h +msvc-export = svn_diff.h # The repository filesystem library [libsvn_fs]
Re: [patch] Fix windows build
On Sat, Mar 20, 2010 at 6:03 PM, Stefan Sperling s...@elego.de wrote: On Sat, Mar 20, 2010 at 05:52:46PM -0700, Joe Swatosh wrote: [[[ Follow on to r924760 which removed svn_diff_private.h. Remove svn_diff_private.h as a source of exported functions in the windows build. ]]] +1 to commit (and sorry for breaking the windows build) Stefan No worries. It happens. r925713 Thanks, -- Joe