[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Building under Cygwin
From: |
David Chisnall |
Subject: |
Re: Building under Cygwin |
Date: |
Sat, 10 Aug 2013 15:09:46 +0100 |
On 10 Aug 2013, at 14:59, Fred Kiefer <fredkiefer@gmx.de> wrote:
> The call to /bin/rebaseall belongs somewhere into the target.make file
> of GNUstep make. Anybody with more insight should place it there.
On Win16 and Win32 (but not Win64), DLLs are not position-independent code and
are expected to be located in the same part of the address space in every
program that they are linked into. The DLLs have all of their relocations
applied the first time they are loaded and sometimes this generates conflicts
the second time it's loaded. This quickly becomes a mess. As I recall, the
fork() implementation in Cygwin often has problems on the exec if it needs to
relocate a DLL. The solution to this is the rebaseall utility, which searches
all applications, finds the DLLs that they use, and reapplies the relocations
to make them work.
The correct time to run this command is just after you've installed a new
program, or a new version of an existing DLL.
David
Re: Building under Cygwin, Riccardo Mottola, 2013/08/09