On Wed, Apr 22, 2015 at 6:13 PM, Bert Huijben <bert_at_qqmail.nl> wrote:
>
>
>> -----Original Message-----
>> From: Stefan Hett [mailto:stefan_at_egosoft.com]
>> Sent: woensdag 22 april 2015 15:59
>> To: 'subversion'
>> Subject: building SVN trunk on Windows fails on python gen-make.py
>>
>> Hi,
>>
>> I just tried to build
>> https://svn.apache.org/repos/asf/subversion/branches/svn-mergeinfo-
>> normalizer
>> on Windows following the INSTALL file documentation up to the point
>> where the make file is being generated.
>>
>> Using this call: python gen-make.py -t vcproj --with-zlib=..\zlib
>> --with-apr=..\apr --with-apr-util=..\apr-util --vsnet-version=2010
>> I'm now getting the following error:
>>
>> Traceback (most recent call last):
>> File "gen-make.py", line 325, in <module> main(conf, gentype,
>> skip_depends=skip, other_options=rest.list)
>> File "gen-make.py", line 62, in main generator =
>> gen_module.Generator(fname, verfname, other_options)
>> File "build\generator\gen_vcnet_vcproj.py", line 36, in __init__
>> 'vcnet-vcproj')
>> File "build\generator\gen_win.py", line 83, in __init__
>> self.find_libraries(True)
>> File "build\generator\gen_win_dependencies.py", line 286, in
>> find_libraries self._find_apr()
>> File "build\generator\gen_win_dependencies.py", line 395, in
>> _find_apr bin_files = os.listdir(dll_dir)
>> FileNotFoundError: [WinError 3] The system cannot find the path
>> specified: '..\\apr\\bin'
>>
>> Looking at the apr-directory I downloaded/extracted, there's no
>> apr/bin-directory.
>> I downloaded the following APR-source package (1.5.1):
>> http://mirror.serversupportforum.de/apache//apr/apr-1.5.1-win32-src.zip
>>
>> Did I get the wrong one? Or did I miss some step?
>
> Subversion expects that you already build apr before using it as a source of binaries to link against. It is not going to build apr for you.
>
> Building APR would have created this bin directory. (A patch to produce a nicer error message would be welcome :))
>
>
> There are other scripts that may help you building Subversion and all dependencies. I maintain one such script as part of SharpSvn (Repository: https://ctf.open.collab.net/svn/repos/sharpsvn/trunk/imports ; username guest; no password). This script uses NAnt, and is used to produce the publicly available binaries for SharpSvn and SlikSvn.
>
> Somewhere in the Subversion repository there is a perl script that should also be able to help with building on Windows, but I don't have experience with that script.
>
Indeed, that script is tools/dev/build-svn-deps-win.pl. But it's a bit
outdated now. I recently used bits and pieces of it to get myself a
new working build environment for svn on Windows. In general our tools
and documentation for building svn on Windows are quite outdated and
could really use some love. For instance, INSTALL still contains a lot
of old irrelevant information, it should primarily focus on current
tools that people install these days (e.g. focusing on VS 2012, 2013
and 2015).
With my last build-setup attempt, I kept a short log of what I did
(based on things from build-svn-deps-win.pl, and further trial and
error). Perhaps this is useful:
[[[
download awk95.exe and rename it to awk.exe and put somewhere in PATH
(as documented in INSTALL)
download and install:
- CMake
- SCons
- Python
- Perl
Install Visual Studio (I used 2013).
Download latest (or recent enough stable) sources of:
- zlib
- openssl
- sqlite
- serf
- httpd
- apr
- apr-util
- apr-iconv
- pcre
Extract these in a "deps" directory (I usually name the individual
dirs with the version number, so I have C:\svn\deps\httpd-2.4.12,
C:\svn\deps\zlib-1.2.8, ...).
Except: put apr, apr-util, apr-iconv and pcre as subdirectories
(without version number in the name) inside $HTTPD_SOURCE\srclib.
Then start building. Do all the following from inside a Visual Studio
Command Prompt:
zlib:
For Debug build:
set CC_OPTS=/MDd /Gm /ZI /Od /GZ /D_DEBUG
set COMMON_CC_OPTS=/nologo /W3 /DWIN32 /D_WINDOWS
For Release build:
set CC_OPTS=/MD /02 /Zi
set COMMON_CC_OPTS=/nologo /W3 /DWIN32 /D_WINDOWS
Somehow, you need to make both a static build (for svn itself) and a
dynamic build (for serf):
Static:
nmake /nologo -f win32/Makefile.msc STATICLIB=zlibstat.lib all
And for serf:
nmake /nologo -f win32/Makefile.msc all
unset CC_OPTS
unset COMMON_CC_OPTS
PCRE:
(replace RelWithDebInfo with Debug in the line below to make a debug build)
cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo
-DBUILD_SHARED_LIBS:BOOL=ON
-DCMAKE_INSTALL_PREFIX:PATH=C:\svn\deps\install
-DPCRE_NO_RECURSE:BOOL=ON .
nmake
nmake test
nmake install
openssl:
(replace VC-WIN32 with debug-VC-WIN32 to make a debug build)
perl Configure no-asm --prefix=C:\svn\deps\install VC-WIN32
call ms\do_ms
nmake -f ms\ntdll.mak
nmake -f ms\ntdll.mak test
nmake -f ms\ntdll.mak install
httpd (+ apr, apr-util, apr-iconv):
perl srclib\apr\build\lineends.pl
perl srclib\apr\build\cvtdsp.pl -2005
Strip cases of "/YuXXXX" en "/YcXXXX" from
srclib/apr-iconv/build/modules.mk.win
Insert "<PropertyGroup><GenerateManifest>false</GenerateManifest></PropertyGroup>"
in support/win32/ApacheMonitor.vcxproj
Insert "<PropertyGroup><TargetName>libapr-1</TargetName></PropertyGroup>"
in srclib/apr/libapr.vcxproj
Insert "<PropertyGroup><TargetName>apr_ldap-1</TargetName></PropertyGroup>"
in srclib/aprutil/ldap/apr_ldap.vcxproj
Insert "<PropertyGroup><TargetName>libapriconv-1</TargetName></PropertyGroup>"
in srclib/apr-iconv/libapriconv.vcxproj
Insert "<PropertyGroup><TargetName>libaprutil-1</TargetName></PropertyGroup>"
in srclib/aprutil/libaprutil.vcxproj
Applied fix from http://marc.info/?l=apr-dev&m=138386228311375&w=2
(see also https://www.apachelounge.com/viewtopic.php?t=6174) --
apparently otherwise there is a problem building httpd 2.4.10+ on
Windows 64-bit.
For a debug build:
nmake /f Makefile.win installd INSTDIR=C:\Apache24
For a release build:
nmake /f Makefile.win installr INSTDIR=C:\Apache24
(for some reason, the build sometimes fails ... rerunning it usually
succeeds, don't know why)
serf:
scons APR=..\httpd-2.4.12\srclib\apr
APU=..\httpd-2.4.12\srclib\apr-util OPENSSL=..\openssl-1.0.2
ZLIB=..\zlib-1.2.8
]]]
HTH,
--
Johan
Received on 2015-04-22 19:46:44 CEST