[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: Cooke, Mark <mark.cooke_at_siemens.com>
Date: Mon, 22 Jun 2015 11:45:34 +0000

Sorry I cannot help with the current issue but I wanted to add a comment about the content of INSTALL (below)...

> -----Original Message-----
> From: Stefan Hett [mailto:stefan_at_egosoft.com]
> Sent: 22 June 2015 11:46
> To: users_at_subversion.apache.org
> Subject: Re: building SVN trunk on Windows fails on python gen-make.py
>
> 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).

While I agree in principle, I need to build httpd and subversion to work with Trac (trac.edgewall.org) which is currently limited to python < 3.0 (I use 2.7 also). For this to work properly my understanding is that httpd and python (and svn) all need to use the same compiler libraries and Python 2.7 is built using Visual C++ 2008...

So the 2008 stuff is not completely irrelevant (I got it compiling and making the python bindings). I have some notes but they are not really fit for publication and are for VC2008 but I can share them if you think they would be useful.

~ Mark C

> > 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 13:46:10 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.