Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Date: Fri, 7 Dec 2001 08:58:07 -0500 From: Jason Tishler To: Michael Hudson , david_abrahams AT users DOT sourceforge DOT net Cc: Cygwin , Python-List Subject: Re: dll_list::load_after_fork() blues (was Re: [ python-Bugs-489709 ] Building Fails ...) Message-ID: <20011207085807.A1152@dothill.com> Mail-Followup-To: Michael Hudson , david_abrahams AT users DOT sourceforge DOT net, Cygwin , Python-List Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="Lk5/nsvc+X2NpcXl" Content-Disposition: inline In-Reply-To: <20011206124426.B1448@dothill.com> User-Agent: Mutt/1.3.18i --Lk5/nsvc+X2NpcXl Content-Type: text/plain; charset=us-ascii Content-Disposition: inline The ASSume principle applies once again... On Thu, Dec 06, 2001 at 12:44:26PM -0500, Jason Tishler wrote: > I have just reproduced this build problem with Python 2.2b2 too. However, > I don't believe that it is related to the particular Python version one > attempts to build. Actually, setup.py has been enhanced to check the validity of each module by importing it during the build problem. Hence, the probability of a DLL address clash during fork has increased significantly. The attached patch workarounds this problem. I intend to submit this patch (redone against CVS) to the Python patch collector ASAP so that Python 2.2 does not go out the door on 12/19 busted for Cygwin. If you have any objections or better solutions, please speak up sooner rather than later. Note that I still intend to fix the Cygwin Python fork problem, if possible. Hopefully, this workaround will be only temporary. Jason --Lk5/nsvc+X2NpcXl Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="setup.py.diff" --- setup.py.orig Fri Dec 7 08:21:56 2001 +++ setup.py Fri Dec 7 08:31:21 2001 @@ -159,6 +159,11 @@ if 'Carbon' in ext.extra_link_args: self.announce('WARNING: skipping import check for Carbon-based "%s"' % ext.name) return + # Workaround for Cygwin: Cygwin currently has fork issues when many + # modules have been imported + if self.get_platform() == 'cygwin': + self.announce('WARNING: skipping import check for Cygwin-based "%s"' % ext.name) + return try: __import__(ext.name) except ImportError: --Lk5/nsvc+X2NpcXl Content-Type: text/plain; charset=us-ascii -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/ --Lk5/nsvc+X2NpcXl--