Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Within cygwin, almost each unix command I type prints a warning message, takes time and eventually gives a correct result:

-bash-4.1$ ls
0 [main] bash 7468 child_info_fork::abort: cygreadline7.dll: Loaded to different address:
parent(0x320000) != child(0x3B0000)
-bash: fork: retry: Resource temporarily unavailable

What is the meaning of this warning?

share|improve this question
up vote 3 down vote accepted

Windows loads each dynamic library at the same address in every process. This interacts badly with Cygwin's emulation of fork when there are different versions of a DLL in the parent and child process (i.e. when you upgraded a DLL between the time the parent started and the time the child started). Restart all your Cygwin processes after upgrading a library.

share|improve this answer
I had a similar failure with cmake "cygkrb5-3.dll loaded to different address" (then died). For some reason restarting cygwin wasn't enough I had to reinstall cygwin and the problem went away. Odd. – rogerdpack Sep 2 '15 at 21:12

The Cygwin FAQ mentions "resource temporarily unavailable" as one of the error messages that can occur because of the way Windows handles process creation. The potential solutions it lists are:

  • Restart the process
  • Remove all applications known to conflict with Cygwin
  • Follow the instructions in /usr/share/doc/rebase/README to run rebaseall
share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.