vi 或 vim 在 Cygwin 更新后无法启动



OS: Windows 10 Pro

天鹅座设置:2.889(64位(

vim: 8.0.1567-1

终端:薄荷 2.8.4

天鹅座:2.10.0-1

我在 2018 年 03 月 09 日更新了 cygwin 软件包,需要重新启动操作系统才能完成更新。但是有些服务正在运行,所以我当时没有重新启动。第二天,我重新启动了我的窗口,但发现 vi/vim 命令不再响应。即使我尝试输入vi,vim或vi -V,vim -v,vim文本.txt终端也只响应任何内容。

$ vi
$

我检查了 vi 和 vim 仍然存在。

$ ls -l `which vi vim`
-rwxr-xr-x 1 bobchang None 1014803 三月  5 13:30 /usr/bin/vi
-rwxr-xr-x 1 bobchang None 2645011 三月  5 13:30 /usr/bin/vim

我检查了设置.log vim 已被擦除并安装。

2018/03/09 13:31:12    0   erase                    gvim          8.0.1567-1
2018/03/09 13:31:12    1 install                    gvim          8.0.1567-1
2018/03/09 13:31:12    2   erase                    vim          8.0.1567-1
2018/03/09 13:31:12    3 install                    vim          8.0.1567-1
2018/03/09 13:31:12    4   erase                    vim-common          8.0.1567-1
2018/03/09 13:31:12    5 install                    vim-common          8.0.1567-1
2018/03/09 13:31:12    6   erase                    vim-doc          8.0.1567-1
2018/03/09 13:31:12    7 install                    vim-doc          8.0.1567-1
2018/03/09 13:31:12    8   erase                    vim-minimal          8.0.1567-1
2018/03/09 13:31:12    9 install                    vim-minimal          8.0.1567-1
2018/03/09 13:31:17 running: C:cygwin64binbash.exe --norc --noprofile "/etc/preremove/vim.sh"
2018/03/09 13:31:17 Uninstalling gvim
2018/03/09 13:31:17 Uninstalling vim
2018/03/09 13:31:17 Uninstalling vim-common
2018/03/09 13:31:18 Uninstalling vim-doc
2018/03/09 13:31:19 Uninstalling vim-minimal

我手动删除并安装了带有相关软件包的 vim,但无能为力。

有谁知道如何解决此问题或如何调试以找到解决方案?

乌普尔达特cygcheck vim的结果是

Found: C:cygwin64binvim.exe
Found: C:Program Files (x86)Vimvim74vim.exe
Found: C:cygwin64binvim.exe
C:cygwin64binvim.exe
  C:cygwin64bincygwin1.dll
    C:WINDOWSsystem32KERNEL32.dll
      C:WINDOWSsystem32ntdll.dll
      C:WINDOWSsystem32KERNELBASE.dll
        C:WINDOWSsystem32api-ms-win-eventing-provider-l1-1-0.dll
      C:WINDOWSsystem32api-ms-win-core-processthreads-l1-1-1.dll
      C:WINDOWSsystem32api-ms-win-core-synch-l1-2-0.dll
      C:WINDOWSsystem32api-ms-win-core-file-l1-2-0.dll
      C:WINDOWSsystem32api-ms-win-core-timezone-l1-1-0.dll
      C:WINDOWSsystem32api-ms-win-core-localization-l1-2-0.dll
      C:WINDOWSsystem32api-ms-win-core-file-l2-1-0.dll
      C:WINDOWSsystem32api-ms-win-core-xstate-l2-1-0.dll
  C:cygwin64bincygiconv-2.dll
  C:cygwin64bincygintl-8.dll
  C:cygwin64bincygncursesw-10.dll
  C:WINDOWSsystem32USER32.dll
    C:WINDOWSsystem32win32u.dll
    C:WINDOWSsystem32GDI32.dll

strace /usr/bin/vim的结果是The procedure entry point __memcpy_chk could not be located in the dynamic link library C:cygwin64binvim.exe.

$ strace /usr/bin/vim
--- Process 5056 created
--- Process 5056 loaded C:WindowsSystem32ntdll.dll at 00007ffed9350000
--- Process 5056 loaded C:WindowsSystem32kernel32.dll at 00007ffed8e10000
--- Process 5056 loaded C:WindowsSystem32KernelBase.dll at 00007ffed6510000
--- Process 5056 thread 10048 created
--- Process 5056 thread 2488 created
--- Process 5056 thread 212 created
--- Process 5056 loaded C:WindowsSystem32user32.dll at 00007ffed8bc0000
--- Process 5056 loaded C:cygwin64bincygiconv-2.dll at 00000003f4050000
--- Process 5056 loaded C:cygwin64bincygwin1.dll at 0000000180040000
--- Process 5056 loaded C:WindowsSystem32win32u.dll at 00007ffed59e0000
--- Process 5056 loaded C:WindowsSystem32gdi32.dll at 00007ffed8390000
--- Process 5056 loaded C:cygwin64bincygncursesw-10.dll at 00000003f3430000
--- Process 5056 loaded C:cygwin64bincygintl-8.dll at 00000003f3fa0000
--- Process 5056 loaded C:WindowsSystem32gdi32full.dll at 00007ffed5a50000
--- Process 5056 loaded C:WindowsSystem32msvcp_win.dll at 00007ffed6780000
--- Process 5056 loaded C:WindowsSystem32ucrtbase.dll at 00007ffed57d0000
--- Process 5056 thread 212 exited with status 0x0
--- Process 5056 thread 10048 exited with status 0x0
--- Process 5056 thread 2488 exited with status 0x0
--- Process 5056, exception c0000139 at 00007ffed9352b10
--- Process 5056 exited with status 0xc0000139

__memcpy_chk属于cygwin1.dll

它是在上一个版本
中添加的https://www.cygwin.com/ml/cygwin-announce/2018-02/msg00002.html

重新安装cygwin软件包,因为它似乎未正确升级。

最新更新