Compiling ZLIB for svn 1.9.3 on Windows 7 using MSVC 2008

2015-12-30 Thread Cooke, Mark
Folks,

I was having issues compiling httpd and svn for use with Trac (via the python 
2.7 bindings).  I have compiled httpd 2.4.18 (with apr 1.5.1, apr-util 1.5.4, 
apr-iconv 1.2.1, openssl 1.0.2e, pcre 1.3.8 and mod_wsgi 4.4.21) and am now 
trying to compile svn.

I noted the comments about zlibstat and ZLIB_WINAPI [1][2], so I edited:
- zconf.h (added #define ZLIB_WINAPI)
- bld_ml32.bat (added the /safeseh switch to both lines)
...and ran: 
- vcbuild /rebuild contrib\vstudio\vc9\zlibvc.sln "Release|Win32"

This seems to compile OK so I copied the zlibstat.lib up to the zlib root.

[1] http://svn.apache.org/repos/asf/subversion/trunk/INSTALL (section E4 ZLib)
[2] http://www.tannerhelland.com/5076/compile-zlib-winapi-wapi-stdcall/

Next I built SERF 1.3.8:

> scons.py APR=\svn\httpd\srclib\apr APU=\svn\httpd\srclib\apr-util 
> OPENSSL=\svn\httpd\srclib\openssl ZLIB=\svn\zlib

...which reports success so I unpacked sqlite-amalgamation-3090200 and called 
gen-make:

gen-make.py -t vcproj --vsnet-version=2008 --with-httpd=D:\svn\httpd 
--with-openssl=d:\svn\httpd\srclib\openssl --with-serf=d:\svn\serf 
--with-sqlite=d:\svn\sqlite --with-swig=c:\programs\swig --with-zlib=d:\svn\zlib

...and tried to build using subversion_vcnet.sln which resulted in lots of 
errors such as "error LNK2001: unresolved external symbol _inflate" for a 
number of functions that all look like they come from zlib (plus some expected 
errors due to not having Perl etc.)


In the end I got it running by _removing_ all the ZLIB_WINAPI defines in the 
Visual Studio project files and _not_ defining ZLIB_WINAPI in the main config 
file: this is the opposite of the advice in [1]!

Does this sound correct?  If so I think the INSTALL file needs updating.

~ Mark C



RE: Compiling ZLIB for svn 1.9.3 on Windows 7 using MSVC 2008

2015-12-30 Thread Cooke, Mark
[Updates below]

> -Original Message-
> From: Cooke, Mark [mailto:mark.co...@siemens.com]
> Sent: 30 December 2015 15:56
> 
> Folks,
> 
> I was having issues compiling httpd and svn for use with Trac (via the python
> 2.7 bindings).  I have compiled httpd 2.4.18 (with apr 1.5.1, apr-util 1.5.4,
> apr-iconv 1.2.1, openssl 1.0.2e, pcre 1.3.8 and mod_wsgi 4.4.21) and am now
> trying to compile svn.
> 
> I noted the comments about zlibstat and ZLIB_WINAPI [1][2], so I edited:
> - zconf.h (added #define ZLIB_WINAPI)
> - bld_ml32.bat (added the /safeseh switch to both lines)
> ...and ran:
> - vcbuild /rebuild contrib\vstudio\vc9\zlibvc.sln "Release|Win32"
> 
> This seems to compile OK so I copied the zlibstat.lib up to the zlib root.
> 
> [1] http://svn.apache.org/repos/asf/subversion/trunk/INSTALL (section E4
> ZLib)
> [2] http://www.tannerhelland.com/5076/compile-zlib-winapi-wapi-stdcall/
> 
> Next I built SERF 1.3.8:
> 
> > scons.py APR=\svn\httpd\srclib\apr APU=\svn\httpd\srclib\apr-util
> OPENSSL=\svn\httpd\srclib\openssl ZLIB=\svn\zlib
> 
> ...which reports success so I unpacked sqlite-amalgamation-3090200 and called
> gen-make:
> 
> gen-make.py -t vcproj --vsnet-version=2008 --with-httpd=D:\svn\httpd --with-
> openssl=d:\svn\httpd\srclib\openssl --with-serf=d:\svn\serf --with-
> sqlite=d:\svn\sqlite --with-swig=c:\programs\swig --with-zlib=d:\svn\zlib
> 
> ...and tried to build using subversion_vcnet.sln which resulted in lots of
> errors such as "error LNK2001: unresolved external symbol _inflate" for a
> number of functions that all look like they come from zlib (plus some
> expected errors due to not having Perl etc.)
> 
> 
> In the end I got it running by _removing_ all the ZLIB_WINAPI defines in the
> Visual Studio project files and _not_ defining ZLIB_WINAPI in the main config
> file: this is the opposite of the advice in [1]!
> 
> Does this sound correct?  If so I think the INSTALL file needs updating.

I get one test failure but it looks bad:-

START: checksum-test.exe
PASS:  checksum-test 1: checksum parse
PASS:  checksum-test 2: checksum emptiness
PASS:  checksum-test 3: zero checksum matching
svn_tests: E26: Decompressed data doesn't match expected size or crc with 
blocksize 17: Found crc32=0x3a74e3ee, size=241883.
Verify your ZLib installation, as this should never happen
FAIL:  checksum-test 4: zlib expansion test (zlib regression)
PASS:  checksum-test 5: zero checksum cross-type matching
PASS:  checksum-test 6: checksum (de-)serialization
END: checksum-test.exe

...so it looks like my "fix" may be wrong?  Any suggestions?

I'm off for tonight but I will try a clean rebuild of ZLib/serf/svn tomorrow 
morning if nothing else is suggested...

Many thanks,

~ Mark C



Re: Compiling ZLIB for svn 1.9.3 on Windows 7 using MSVC 2008

2015-12-30 Thread Ivan Zhakov
On 30 December 2015 at 19:06, Cooke, Mark  wrote:
> [Updates below]
>
>> -Original Message-
>> From: Cooke, Mark [mailto:mark.co...@siemens.com]
>> Sent: 30 December 2015 15:56
>>
>> Folks,
>>
>> I was having issues compiling httpd and svn for use with Trac (via the python
>> 2.7 bindings).  I have compiled httpd 2.4.18 (with apr 1.5.1, apr-util 1.5.4,
>> apr-iconv 1.2.1, openssl 1.0.2e, pcre 1.3.8 and mod_wsgi 4.4.21) and am now
>> trying to compile svn.
>>
>> I noted the comments about zlibstat and ZLIB_WINAPI [1][2], so I edited:
>> - zconf.h (added #define ZLIB_WINAPI)
>> - bld_ml32.bat (added the /safeseh switch to both lines)
>> ...and ran:
>> - vcbuild /rebuild contrib\vstudio\vc9\zlibvc.sln "Release|Win32"
>>
>> This seems to compile OK so I copied the zlibstat.lib up to the zlib root.
>>
>> [1] http://svn.apache.org/repos/asf/subversion/trunk/INSTALL (section E4
>> ZLib)
>> [2] http://www.tannerhelland.com/5076/compile-zlib-winapi-wapi-stdcall/
>>
>> Next I built SERF 1.3.8:
>>
>> > scons.py APR=\svn\httpd\srclib\apr APU=\svn\httpd\srclib\apr-util
>> OPENSSL=\svn\httpd\srclib\openssl ZLIB=\svn\zlib
>>
>> ...which reports success so I unpacked sqlite-amalgamation-3090200 and called
>> gen-make:
>>
>> gen-make.py -t vcproj --vsnet-version=2008 --with-httpd=D:\svn\httpd --with-
>> openssl=d:\svn\httpd\srclib\openssl --with-serf=d:\svn\serf --with-
>> sqlite=d:\svn\sqlite --with-swig=c:\programs\swig --with-zlib=d:\svn\zlib
>>
>> ...and tried to build using subversion_vcnet.sln which resulted in lots of
>> errors such as "error LNK2001: unresolved external symbol _inflate" for a
>> number of functions that all look like they come from zlib (plus some
>> expected errors due to not having Perl etc.)
>>
>>
>> In the end I got it running by _removing_ all the ZLIB_WINAPI defines in the
>> Visual Studio project files and _not_ defining ZLIB_WINAPI in the main config
>> file: this is the opposite of the advice in [1]!
>>
>> Does this sound correct?  If so I think the INSTALL file needs updating.
>
> I get one test failure but it looks bad:-
>
> START: checksum-test.exe
> PASS:  checksum-test 1: checksum parse
> PASS:  checksum-test 2: checksum emptiness
> PASS:  checksum-test 3: zero checksum matching
> svn_tests: E26: Decompressed data doesn't match expected size or crc with 
> blocksize 17: Found crc32=0x3a74e3ee, size=241883.
> Verify your ZLib installation, as this should never happen
> FAIL:  checksum-test 4: zlib expansion test (zlib regression)
Zlib has known bug in assembly optimized code. Just disable assembly
optimized code in zlib and everything should be fine.


-- 
Ivan Zhakov