更新后的 Cygwin64 - bash.exe - 找不到入口点 "history_lines_read_from_file"

Cygwin64 after update - bash.exe - Entry Point Not Found "history_lines_read_from_file"

已解决:请参阅下面 matzeri 的回答

我运行 cygwin64 2.877 setup 更新安装,有一个新版本的bash 被列为升级。

安装失败,出现以下错误消息: The procedure entry point history_lines_read_from_file could not be located in the dynamic link library C:\cygwin64\bin\bash.exe

Post 安装 setup.log.full 显示这些错误:

Rebasing with list /var/cache/rebase/rebase_all, built from /var/cache/rebase/rebase_lst /var/cache/rebase/rebase_dyn /var/cache/rebase/rebase_user. 2017/03/02 22:45:16 running: C:\cygwin64\bin\dash.exe "/etc/postinstall/0p_texlive_prep.dash" 2017/03/02 22:45:16 running: C:\cygwin64\bin\dash.exe "/etc/postinstall/0p_update-info-dir.dash" 2017/03/02 22:45:18 running: C:\cygwin64\bin\bash.exe --norc --noprofile "/etc/postinstall/bash.sh" 2017/03/02 22:46:20 abnormal exit: exit code=-1073741511 2017/03/02 22:46:21 running: C:\cygwin64\bin\bash.exe --norc --noprofile "/etc/postinstall/bashdb.sh" 2017/03/02 22:46:23 abnormal exit: exit code=-1073741511 2017/03/02 22:46:23 running: C:\cygwin64\bin\bash.exe --norc --noprofile "/etc/postinstall/ca-certificates.sh" 2017/03/02 22:46:25 abnormal exit: exit code=-1073741511

mintty 快捷方式闪烁打开 window 并几乎立即关闭。

关于如何解决这个问题有什么想法吗?

在 Win cmd 提示符下以管理员身份在 运行 cygcheck 后更新: `微软 Windows [版本 10.0.14393] (c) 2016 年微软公司。保留所有权利。</p> <p>C:\WINDOWS\system32>cygcheck /usr/bin/bash.exe C:\cygwin64\bin\bash.exe C:\cygwin64\bin\cygwin1.dll C:\WINDOWS\system32\KERNEL32.dll C:\WINDOWS\system32\ntdll.dll C:\WINDOWS\system32\KERNELBASE.dll C:\WINDOWS\system32\api-ms-win-core-fibers-l2-1-1.dll C:\cygwin64\bin\cygiconv-2.dll C:\cygwin64\bin\cygintl-8.dll C:\cygwin64\bin\cygreadline7.dll C:\cygwin64\bin\cygncursesw-10.dll C:\WINDOWS\system32\USER32.dll C:\WINDOWS\system32\win32u.dll C:\WINDOWS\system32\GDI32.dll</p> <p>C:\WINDOWS\system32>`

history_lines_read_from_file 属于文件 cygreadline7.dll 属于包 libreadline7

 $ cygcheck -f /usr/bin/cygreadline7.dll
libreadline7-7.0.3-3

所以你需要重新安装libreadline7