GNU bug report logs - #50666
28.0.50; Fix native compilation on Cygwin

Previous Next

Package: emacs;

Reported by: Ken Brown <kbrown <at> cornell.edu>

Date: Sat, 18 Sep 2021 20:52:02 UTC

Severity: normal

Tags: patch

Found in version 28.0.50

Done: Ken Brown <kbrown <at> cornell.edu>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Ken Brown <kbrown <at> cornell.edu>
To: 50666 <at> debbugs.gnu.org
Subject: bug#50666: 28.0.50; Fix native compilation on Cygwin
Date: Sat, 18 Sep 2021 16:46:42 -0400
Building --with-native-compilation on 32-bit Cygwin currently fails with
errors like the following:

child_info_fork::abort: address space needed by
'simple-fab5b0cf-aaf18a4e.eln' (0x5910000) is already occupied

This happens because shared libraries (usually DLLs, but also *.eln
files in this case) often need to be rebased in order for Cygwin's fork
implementation to work.  See

  https://cygwin.com/cygwin-ug-net/highlights.html#ov-hi-process-problems

for an explanation.  It's mostly an issue in the 32-bit case because of
the limited address space, but on rare occasions it can be a problem on
64-bit Cygwin also.

For shared libraries installed in standard places, Cygwin normally takes
care of the rebasing automatically.  But if libraries are created in the
course of a build and then used later in the build, an "ephemeral" rebase
might be necessary.  This is the case for the *.eln libraries produced
during the emacs build.

In a followup to this message, I'll submit a patch that does this
ephemeral rebase and fixes the build problem.

Note: The build will not actually be convenient to use on 32-bit Cygwin, because 
sooner or later the *.eln files in ~/.emacs.d/eln-cache will also need to be 
rebased.  I hope to address this in future patches.

Ken




This bug report was last modified 3 years and 295 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.