Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 3893D200B27 for ; Wed, 22 Jun 2016 19:13:47 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 36E9F160A36; Wed, 22 Jun 2016 17:13:47 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 5A75D160A24 for ; Wed, 22 Jun 2016 19:13:46 +0200 (CEST) Received: (qmail 63736 invoked by uid 500); 22 Jun 2016 17:13:45 -0000 Mailing-List: contact users-help@subversion.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list users@subversion.apache.org Received: (qmail 63726 invoked by uid 99); 22 Jun 2016 17:13:45 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd1-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 22 Jun 2016 17:13:45 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id 9902EC0AFD for ; Wed, 22 Jun 2016 17:13:44 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -4.02 X-Spam-Level: X-Spam-Status: No, score=-4.02 tagged_above=-999 required=6.31 tests=[KAM_LAZY_DOMAIN_SECURITY=1, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01] autolearn=disabled Received: from mx1-lw-us.apache.org ([10.40.0.8]) by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024) with ESMTP id XkhjBGuFkyO9 for ; Wed, 22 Jun 2016 17:13:40 +0000 (UTC) Received: from david.siemens.de (david.siemens.de [192.35.17.14]) by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with ESMTPS id 329755F571 for ; Wed, 22 Jun 2016 17:13:40 +0000 (UTC) Received: from mail1.sbs.de (mail1.sbs.de [192.129.41.35]) by david.siemens.de (8.15.2/8.15.2) with ESMTPS id u5MHDWJw015203 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 22 Jun 2016 19:13:32 +0200 Received: from DEFTHW99ERJMSX.ww902.siemens.net (defthw99erjmsx.ww902.siemens.net [139.22.70.135]) by mail1.sbs.de (8.15.2/8.15.2) with ESMTPS id u5MHDVFJ001917 (version=TLSv1 cipher=AES256-SHA bits=256 verify=FAIL); Wed, 22 Jun 2016 19:13:31 +0200 Received: from DENBGAT9EROMSX.ww902.siemens.net (139.22.70.195) by DEFTHW99ERJMSX.ww902.siemens.net (139.22.70.135) with Microsoft SMTP Server (TLS) id 14.3.294.0; Wed, 22 Jun 2016 19:13:31 +0200 Received: from DEFTHW99EL4MSX.ww902.siemens.net ([169.254.5.210]) by DENBGAT9EROMSX.ww902.siemens.net ([139.22.70.195]) with mapi id 14.03.0294.000; Wed, 22 Jun 2016 19:13:30 +0200 From: "Cooke, Mark" To: "users@subversion.apache.org" CC: Stefan Hett , Pavel Lyalyakin Subject: RE: Compiling svn + httpd for windows python 2.x Thread-Topic: Compiling svn + httpd for windows python 2.x Thread-Index: AdHMcQBH1yFfMnsjS72EYCotRtNpy///8YkA///duXCAAC9iAP//r0nQgACNqID//8v60A== Date: Wed, 22 Jun 2016 17:13:30 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [139.22.70.43] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 archived-at: Wed, 22 Jun 2016 17:13:47 -0000 > -----Original Message----- > From: Stefan Hett [mailto:stefan@egosoft.com] > Sent: 22 June 2016 17:03 >=20 > On 6/22/2016 5:30 PM, Cooke, Mark wrote: > > > >> -----Original Message----- > >> From: Stefan Hett [mailto:stefan@egosoft.com] > >> Sent: 22 June 2016 13:25 > >> > >> On 6/22/2016 2:01 PM, Cooke, Mark wrote: > >>>> -----Original Message----- > >>>> From: Stefan Hett [mailto:stefan@egosoft.com] > >>>> Sent: 22 June 2016 12:38 > >>>> > >>>> Hi Mark, > >>>> > >>>>> Folks, > >>>>> > >>>>> We use subversion with Trac behind httpd on Windows Server. As Tra= c > >>>>> is written in "old" Python (2.x), I have had to resort to building > >>>>> everything from source. This is not simple and so I thought I woul= d > >>>>> publish my notes here in case it helps anyone else and in the hope > >>>>> that if I have made any mistakes, someone will be kind enough to > >>>>> point them out to me! > >>>>> > >>>>> ~ Mark C > >>>>> > >>>>> These are my notes for building Apache httpd and subversion for use > >>>>> with Trac [1]. All of the components need to be built using the sa= me > >>>>> compiler to avoid run-time issues and, since Trac currently relies = on > >>>>> Python 2.x, that means Visual Studio 2008. > >>>> Why does Python 2.x (aka: 2.7.11) imply having to use VS 2008? MaxSV= N > >>>> [1] is built using VS 2015 Update 1 (the upcoming builds will use VS > >>>> 2015 Update 2) in combination with Python 2.7.11 and I'm unaware of = any > >>>> issue related to that. > >>>> > >>>> [1] http://www.luke1410.de/typo3/index.php?id=3D97 > >>> I cannot remember specific references now but when I looked into this > >>> before it is because the official 2.x line is compiled using VC9. Wh= en > >>> memory is passed between applications relying on different version of > >>> the CRT then you can end up with hard to diagnose memory corruptions > >>> that eventually cause problems. > >> This is correct. If you are building a project linking in the CRT, you > >> should ensure that all DLLs and libraries you build with use the same > >> CRT. Mixing different CRT versions is unsupported and you will have > >> undefined behavior. The possibilities for memory corruptions is the mo= st > >> prominent effect one might observe, but there are other problems/issue= s > >> this will cause too. > >>> Digging a bit I found this thread [1] that highlights a similar CRT > >>> issue in python modules such as psycopg2 (which I use for PostGreSQL) > >>> that use the CRT internally... > >>> > >>> [1] https://groups.google.com/forum/#!topic/modwsgi/ATtKX6qWLXc > >> As far as I skimmed through the thread the problem here is not with > >> python being compiled using VC9, but rather the module the python scri= pt > >> tries to load (psycopg2, which according to the web seems to be some > >> postgre-sql-related library) was compiled with a different CRT than th= e > >> Apache binaries. That's a general issue, yes, and that's why I don't > >> distribute the svn-apache modules with MaxSVN, even though they are > >> built as part of the buildprocess (and utilized for testing). It's > >> imperative that the CRT for the Apache modules matches the ones used t= o > >> build Apache and that only the distributor of the specific Windows > >> Apache module can ensure. > > ...and that is my problem: Trac is running under py2.7 (via mod_wsgi fr= om > > httpd) and using psycopg2 to connect to a PostGreSQL backend. AFAIK, p= ython > > 2.7.x windows extensions should be built using VC++ 2008 to match the p= ython > > build, so it is best if I build httpd, mod_wsgi and svn using that comp= iler > > too (especially as local policy means I need to be able to apply the la= test > > e.g. OpenSSL updates as they come out). >=20 > Certainly that's working. But since you are recompiling psycopg2 > yourself, why don't you just recompile that then using VS 2015? Or are > there other python libs involved? I am not compiling python or any of the support libs that we use, I decided= to compile httpd and svn instead. I will have another go with VisualSVN again to see if it works for us now. > -- > Regards, > Stefan Hett