[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: building SVN trunk on Windows fails on python gen-make.py

From: Stefan Hett <stefan_at_egosoft.com>
Date: Mon, 22 Jun 2015 12:45:46 +0200

Sorry for the late response. Had to shift priorities the last month
here, before I could get back to this issue.

Thanks for the additional information on ways to build SVN. I quickly
skimmed through the scripts/steps and might use them later when I can't
get the current steps to run...

After build APR myself, it got passed the previous error. However I'm
now stuck with another one and can't make-up what's wrong now... Any
hint (couldn't find any reference on google or in the mail archive):
swig not found; skipping SWIG file generation...
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 65, in main generator.compute_hdr_deps()
   File "build\generator\gen_base.py", line 212, in compute_hdr_deps
for include_file in include_deps.query(native_path(source.filename)):
   File "build\generator\gen_base.py", line 1167, in query c_includes,
swig_includes = self.query_swig(fname)
   File "build\generator\gen_base.py", line 1150, in query_swig hdrs =
self._scan_for_includes(fname)
   File "build\generator\gen_base.py", line 1203, in
_scan_for_includes for line in fileinput.input(fname):
   File "E:\Python34\lib\fileinput.py", line 263, in __next__ line =
self.readline()
   File "E:\Python34\lib\fileinput.py", line 363, in readline
self._buffer = self._file.readlines(self._bufsize)
   File "E:\Python34\lib\encodings\cp1252.py", line 23, in decode
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
UnicodeDecodeError: 'charmap' codec can't decode byte 0x81 in position
2116: character maps to <undefined>

Regards,
Stefan

> 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,
Received on 2015-06-22 12:46:12 CEST

This is an archived mail posted to the Subversion Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.