Mail Archives: cygwin/2010/10/09/12:25:11
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 -