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 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 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline 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: List-Subscribe: List-Archive: List-Post: List-Help: , 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