msys2 / MSYS2-packages

Package scripts for MSYS2.
https://packages.msys2.org
BSD 3-Clause "New" or "Revised" License
1.28k stars 483 forks source link

msys2 environment is totally broken #412

Open askondro opened 8 years ago

askondro commented 8 years ago

Since some days (last update I think) the msys2 environment is totally broken.

When I open the console, for example msys64.bat:

askon@DESKTOP-BT8UGJK MINGW64 /usr/bin $ which pacman /usr/bin/pacman

askon@DESKTOP-BT8UGJK MINGW64 /usr/bin $ cd /usr/bin/

askon@DESKTOP-BT8UGJK MINGW64 /usr/bin $ ls -l

askon@DESKTOP-BT8UGJK MINGW64 /usr/bin $

pacman -Syu fails with:

askon@DESKTOP-BT8UGJK MSYS /usr/bin $ pacman -Syu error: GPGME error: Invalid crypto engine error: GPGME error: Invalid crypto engine error: GPGME error: Invalid crypto engine :: Synchronising package databases... mingw32 228.1 KiB 292K/s 00:01 [#############################################] 100% mingw32.sig 96.0 B 93.8K/s 00:00 [#############################################] 100% error: GPGME error: Invalid crypto engine error: failed to update mingw32 (invalid or corrupted database (PGP signature)) mingw64 227.1 KiB 331K/s 00:01 [#############################################] 100% mingw64.sig 96.0 B 0.00B/s 00:00 [#############################################] 100% error: GPGME error: Invalid crypto engine error: failed to update mingw64 (invalid or corrupted database (PGP signature)) msys 128.4 KiB 533K/s 00:00 [#############################################] 100% msys.sig 96.0 B 0.00B/s 00:00 [#############################################] 100% error: GPGME error: Invalid crypto engine error: failed to update msys (invalid or corrupted database (PGP signature)) error: failed to synchronise any databases error: failed to init transaction (invalid or corrupted database (PGP signature))

pacman.zip

DavidEGrayson commented 8 years ago

Maybe you can solve it by reading the nice write-up by @Elieux in issue https://github.com/Alexpux/MSYS2-packages/issues/393.

askondro commented 8 years ago

I've tried that. Deleting /etc/pacman.d/gnupg

but pacman-key --init returns nothing:

askon@DESKTOP-BT8UGJK MINGW64 /etc/pacman.d $ pacman-key --init

askon@DESKTOP-BT8UGJK MINGW64 /etc/pacman.d $

and what I find really strange is that I can't list files with "ls -l"..

mingwandroid commented 8 years ago

Does pacman -Qqe work?

askondro commented 8 years ago

seems so:

$ pacman -Qqe warning: Public keyring not found; have you run 'pacman-key --init'? GPGME 2015-12-28 20:00:32 <0x0968> gpgme_debug: level=9 GPGME 2015-12-28 20:00:32 <0x0968> gpgme_check_version: call: 0=0x0, req_version=(null), VERSION=1.6.0 GPGME 2015-12-28 20:00:32 <0x0968> gpgme_check_version_internal: call: 0=0x0, req_version=(null), offset_sig_validity=60 GPGME 2015-12-28 20:00:32 <0x0968> gpgme_set_locale: enter: ctx=0x0, category=2, value=en_GB.UTF-8 GPGME 2015-12-28 20:00:32 <0x0968> gpgme_set_locale: leave GPGME 2015-12-28 20:00:32 <0x0968> gpgme_set_locale: enter: ctx=0x0, category=6, value=en_GB.UTF-8 GPGME 2015-12-28 20:00:32 <0x0968> gpgme_set_locale: leave GPGME 2015-12-28 20:00:32 <0x0968> gpgme-walk_path: 'gpgconf' not found in '/usr/bin:/bin:/usr/sbin:/usr/local/bin' GPGME 2015-12-28 20:00:32 <0x0968> gpgme-dinfo: gpgconf='[null]' GPGME 2015-12-28 20:00:32 <0x0968> gpgme-dinfo: gpg='/usr/bin/gpg' GPGME 2015-12-28 20:00:32 <0x0968> _gpgme_io_pipe: enter: filedes=0xffffb550, inherit_idx=1 (GPGME uses it for reading) GPGME 2015-12-28 20:00:32 <0x0968> _gpgme_io_pipe: leave: read=0x5, write=0x6 GPGME 2015-12-28 20:00:32 <0x0968> _gpgme_io_spawn: enter: path=0x600052500, path=/usr/bin/gpg GPGME 2015-12-28 20:00:32 <0x0968> _gpgme_io_spawn: check: path=0x600052500, argv[ 0] = /usr/bin/gpg GPGME 2015-12-28 20:00:32 <0x0968> _gpgme_io_spawn: check: path=0x600052500, argv[ 1] = --version GPGME 2015-12-28 20:00:32 <0x0968> _gpgme_io_spawn: check: path=0x600052500, fd[0] = 0x6 -> 0x1 GPGME 2015-12-28 20:00:32 <0x0968> _gpgme_io_spawn: check: path=0x600052500, waiting for child process pid=11064 GPGME 2015-12-28 20:00:32 <0x205c> gpgme:max_fds: call: 0=0x0, max fds=3200 (RLIMIT_NOFILE) GPGME 2015-12-28 20:00:32 <0x0968> _gpgme_io_close: enter: fd=0x6 GPGME 2015-12-28 20:00:32 <0x0968> _gpgme_io_close: leave: result=0 GPGME 2015-12-28 20:00:32 <0x0968> _gpgme_io_spawn: leave: result=0 GPGME 2015-12-28 20:00:32 <0x0968> _gpgme_io_read: enter: fd=0x5, buffer=0xffffb5a0, count=79 GPGME 2015-12-28 20:00:32 <0x0968> _gpgme_io_read: leave: result=0 GPGME 2015-12-28 20:00:32 <0x0968> _gpgme_io_close: enter: fd=0x5 GPGME 2015-12-28 20:00:32 <0x0968> _gpgme_io_close: leave: result=0 GPGME 2015-12-28 20:00:32 <0x0968> engine.c:155: returning error: Invalid crypto engine error: GPGME error: Invalid crypto engine warning: Public keyring not found; have you run 'pacman-key --init'? GPGME 2015-12-28 20:00:32 <0x0968> gpgme_check_version: call: 0=0x0, req_version=(null), VERSION=1.6.0 GPGME 2015-12-28 20:00:32 <0x0968> gpgme_check_version_internal: call: 0=0x0, req_version=(null), offset_sig_validity=60 GPGME 2015-12-28 20:00:32 <0x0968> gpgme_set_locale: enter: ctx=0x0, category=2, value=en_GB.UTF-8 GPGME 2015-12-28 20:00:32 <0x0968> gpgme_set_locale: leave GPGME 2015-12-28 20:00:32 <0x0968> gpgme_set_locale: enter: ctx=0x0, category=6, value=en_GB.UTF-8 GPGME 2015-12-28 20:00:32 <0x0968> gpgme_set_locale: leave GPGME 2015-12-28 20:00:32 <0x0968> engine.c:155: returning error: Invalid crypto engine error: GPGME error: Invalid crypto engine autoconf automake-wrapper bash bash-completion bsdcpio bsdtar bzip2 catgets cmake coreutils crypt curl dash dos2unix file filesystem findutils flex gawk gcc-libs git gmp-devel grep gzip inetutils info less libreadline-devel lndir make man-pages-posix mc mingw-w64-i686-gdb mingw-w64-x86_64-SDL2 mingw-w64-x86_64-SDL2_gfx mingw-w64-x86_64-arpack mingw-w64-x86_64-aspell mingw-w64-x86_64-aspell-en mingw-w64-x86_64-boost mingw-w64-x86_64-breakpad-svn mingw-w64-x86_64-clang mingw-w64-x86_64-cmake mingw-w64-x86_64-docbook-xml mingw-w64-x86_64-docbook-xsl mingw-w64-x86_64-emacs mingw-w64-x86_64-evince mingw-w64-x86_64-extra-cmake-modules mingw-w64-x86_64-gc mingw-w64-x86_64-gcc-ada mingw-w64-x86_64-gcc-fortran mingw-w64-x86_64-gdb mingw-w64-x86_64-glfw mingw-w64-x86_64-graphicsmagick mingw-w64-x86_64-libtorrent-rasterbar mingw-w64-x86_64-libunistring mingw-w64-x86_64-lld mingw-w64-x86_64-ocaml mingw-w64-x86_64-poco mingw-w64-x86_64-python3-docutils mingw-w64-x86_64-python3-ipython mingw-w64-x86_64-python3-pip mingw-w64-x86_64-qt-creator mingw-w64-x86_64-qt5 mingw-w64-x86_64-rust mingw-w64-x86_64-smpeg2 mingw-w64-x86_64-vlc-git mintty msys2-keyring msys2-launcher-git msys2-runtime ncurses pacman pacman-mirrors pax-git pkgfile rebase repman-git sed tar texinfo tftp-hpa time tzcode util-linux which

mingwandroid commented 8 years ago

Ok, one approach to investigate further is to rename your C:\msys64 (assuming that's where it is) to C:\msys64.broken, or generally follow the instructions at https://sourceforge.net/p/msys2/wiki/MSYS2%20re-installation to setup a new installation (be careful to cleanup the junk from /c/packages.txt though), then, install mingw-w64-x86_64-meld3 to compare the differences between the files and folders.

mingwandroid commented 8 years ago

.. if your new installation works after that, then great, but we'd quite like to get to the bottom of this too of course.

askondro commented 8 years ago

Ok, I installed the new environment as instructed on https://sourceforge.net/p/msys2/wiki/MSYS2%20re-installation. Now it works. But after comparing the old msys and the new, how do I export the diff from meld?

mingwandroid commented 8 years ago

Well, to be honest, meld hasn't worked in MSYS2 properly until about a week ago, so I've been using some proprietary software called Beyond Compare 4 in the meantime.

There's guides at other places for using meld (mine is in a broken state due to development work I'm doing). Regardless, doing a normal diff with diff /c/msys64.broken /c/msys64 and pasting the results here would be useful.

askondro commented 8 years ago

the diff output is in the attachment. diff.txt

isapir commented 6 years ago

I've been having a similar problem while running MSYS2 with ConEmu. I was able to resolve it as described at https://github.com/Alexpux/MSYS2-packages/issues/393#issuecomment-299669754