delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2010/10/09/12:25:11

X-Recipient: archive-cygwin AT delorie DOT com
X-SWARE-Spam-Status: No, hits=3.4 required=5.0 tests=AWL,BAYES_50,RCVD_IN_DNSWL_NONE
X-Spam-Check-By: sourceware.org
X-TDCCM: v=1.1 cv=To7e+sImGjR/alWr/UE6MsteCUfqOYy6dXFM7t/Yz4k= c=1 sm=0 a=swhQfPqx_bMA:10 a=kj9zAlcOel0A:10 a=g5E0v2836JlJiYKsdgLjAQ==:17 a=yMhMjlubAAAA:8 a=Vt2AcnKqAAAA:8 a=w_pzkKWiAAAA:8 a=epTmVMiNAAAA:8 a=ThPHH1PQAAAA:8 a=Q907MNP2Gb1ZL28EUwUA:9 a=hK-LpWOUWLuHubrOxJkA:7 a=-4xG4XogSGNUAFxCg8zEK6HkjIcA:4 a=CjuIK1q_8ugA:10 a=susZIuYFjiYA:10 a=qnXHrrcMpwkA:10 a=_5nzDZlNq5QA:10 a=TRvmKqLbH9UA:10 a=Whpp2TcZFr0_cDl3:21 a=3eLyF98XqUbZsuSx:21 a=g5E0v2836JlJiYKsdgLjAQ==:117
X-TDCLU: MTIwMDEwMzgxMzI1
Date: Sat, 9 Oct 2010 18:24:40 +0200
From: Thorkil Naur <naur AT post11 DOT tele DOT dk>
To: cygwin AT cygwin DOT com
Subject: bash.exe: *** fatal error - couldn't dynamically determine load address for 'GetKeyboardLayout'
Message-ID: <20101009162432.GA2324@tn24>
MIME-Version: 1.0
User-Agent: Mutt/1.5.20 (2009-06-14)
X-IsSubscribed: yes
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com

Hello merry Cygwin'ers,

On a recently installed Cygwin (version 1.7.7-1 according to setup.exe),
the Cygwin bash shell fails to start. Details become visible when
starting bash.exe from an ordinary command prompt:

> C:\cygwin>bin\bash.exe --login -i
>       3 [main] bash 1928 C:\cygwin\bin\bash.exe: *** fatal error - couldn't dynamically determine load address for 'GetKeyboardLayout' (handle 0x7E410000), Win32 error 127
> Stack trace:
> Frame     Function  Args
> 002238B8  6102749B  (002238B8, 00000000, 00000000, 00223938)
> 00223BA8  6102749B  (61177B80, 00008000, 00000000, 61179977)
> 00224BD8  61004AFB  (610011A0, 611575DC, 7E410000, 61033DBC)
> End of stack trace
> 
> C:\cygwin>

Other commands work fine, for example:

> C:\cygwin>bin\ls.exe
> Cygwin.bat  Cygwin.ico  bin  cygdrive  dev  etc  home  lib  proc  tmp  usr  var
> 
> C:\cygwin>

The installed bash has version 3.2.51-24, again according to setup.exe.
This is on a Windows system that describes itself as:

> Microsoft Windows XP
> Professional
> Version 2002
> Service Pack 3

On http://msdn.microsoft.com/en-us/library/ms646296%28VS.85%29.aspx,
we find:

> GetKeyboardLayout Function
> 
> Retrieves the active input locale identifier (formerly called the keyboard layout) for the specified thread. If the idThread parameter is zero, the input locale identifier for the active thread is returned.
> Syntax
> 
> HKL WINAPI GetKeyboardLayout(
>   __in  DWORD idThread
> );
> ...
> Library
>         User32.lib

And, using an admittedly primitive method:

> C:\cygwin>bin\strings.exe /cygdrive/c/WINDOWS/system32/user32.dll | bin\grep.exe GetKeyboardLayout
> GetKeyboardLayout
> GetKeyboardLayoutList
> GetKeyboardLayoutNameA
> GetKeyboardLayoutNameW
> 
> C:\cygwin>

This indicates that GetKeyboardLayout seems to be available. The Windows
PATH includes C:\WINDOWS\system32.

I have earlier installed Cygwin and used it's bash.exe successfully on a
number of other Windows systems, both Windows XP and, more recently,
Windows 7. On one of the other Windows XP systems, I upgraded Cygwin and
bash to the same versions mentioned above and bash.exe still works. That
particular system describes itself as:

> Microsoft Windows XP
> Home edition
> Version 2002
> Service Pack 3

(so "Home edition" compared to "Professional").

Searching for similar messages, I found several cases, none of which
relates to the specific function GetKeyboardLayout: There is

> http://www.mail-archive.com/cygwin [ at ] cygwin.com/msg99373.html

which has

> >>>> 4 [main] -bash 3392 C:\cygwin\bin\bash.exe: *** fatal error - couldn't
> >>>> dynamically determine load address for 'WSAGetLastError' (handle
> >>>> 0xFFFFFFFF), Win32 error 126

And http://archives.postgresql.org/pgsql-cygwin/2005-03/msg00020.php has:

> Re: couldn't dynamically determine load address for 'NetApiBufferFree' (handle 0xFFFFFFFF), Win32 error 126

And http://cygwin.ru/ml/cygwin/2007-05/msg00219.html with:

> $ rlogin blah [ at ] blah
> 9617 [main] rlogin 5392 e:\cygwin\bin\rlogin.exe: *** fatal error - couldn't dynamically determine load address for 'rcmd' (handle 0x75E70000), Win32 error 127
> Hangup

In each of these cases, the problem seems to be that the mentioned
function is somehow unavailable. But the remedies mentioned does
not seem to apply to my case.

Any help to proceed in this matter will be greatly appreciated.

Thanks and best regards
Thorkil


--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019