Cygwin: readline lib가 다른 위치에 로드됨

Cygwin: readline lib가 다른 위치에 로드됨

cygwin에서 내가 입력하는 거의 모든 unix 명령은 경고 메시지를 인쇄하고 시간이 좀 걸리며 결국 올바른 결과를 제공합니다.

-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

이 경고는 무엇을 의미합니까?

답변1

Windows는 각 프로세스의 동일한 주소에 각 동적 라이브러리를 로드합니다. fork이로 인해 상위 프로세스와 하위 프로세스에 서로 다른 버전의 DLL이 있는 경우(즉, 상위 프로세스가 시작된 시간과 하위 프로세스가 시작되는 시간 사이에 DLL을 업그레이드하는 경우) Cygwin 에뮬레이션과 바람직하지 않은 상호 작용이 발생할 수 있습니다. 라이브러리를 업그레이드한 후 모든 Cygwin 프로세스를 다시 시작하십시오.

답변2

이것싸이그윈 FAQ"리소스를 일시적으로 사용할 수 없습니다"라는 언급은 Windows가 프로세스 생성을 처리하는 방식으로 인해 나타날 수 있는 오류 메시지 중 하나입니다. 여기에 나열된 잠재적 솔루션은 다음과 같습니다.

  • 프로세스 다시 시작
  • 모든 애플리케이션 삭제Cygwin과 알려진 충돌
  • 지시에 따라 /usr/share/doc/rebase/README실행하세요.rebaseall

관련 정보