Upgrade Your msys2 Installation
Without pacman Errors
EDIT 9/11/2014: A new installer/zip of msys2 was released on 9/10/2014 and at least for now, the following procedure is not really necessary for new installs. Base files are all up to date upon a fresh install. The procedure below describes upgrading an old installation or a new install where the current repo packages are newer than the ones in the installer or installation zipfile.I recently became obsessed with achieving a clean upgrade and reinstallation of all packages on a fresh install of msys2. I finally figured out a sequence of pkg upgrades that has no pacman execution errors.
I used 64bit msys2 available here: http://sourceforge.net/projects/msys2/
or here:http://msys2.github.io/
Note that you will still see some fork errors on exit after updating the base pkgs. This seems to be unavoidable. But, the sequence below does prevent any errors during the actual pacman execution which could corrupt your installation.
Bash fork errors on exit seem unlikely to do much but mess up your .bash_history file.... but I didn't' really look into it.
First, update msys2 runtime
dll:
Start msys2 shell
(double-click msys2shell.bat)
pacman -SyWait (15-30 seconds) for window to close and ignore errors
pacman -S --needed msys2-runtime
exit
Next, update other base packages:
Start msys2 shell (double-click msys2shell.bat)
pacman -S --needed filesystem bash libreadline libiconv \ libgpgme libcurl pacman ncurses libintlWait (15-30 seconds) for window to close and ignore errors
exit
Now update everything else but libnettle and libarchive (update them last):
Start msys2 shell (double-click msys2shell.bat)
pacman -Su --needed --ignore libarchive,libnettle
pacman -S libarchive libnettle
Check that you are fully up to date:
pacman -Syu
Check that your installed packages are not corrupt:
pacman -Qkk
By NOT running autorebase.bat you can do a clean reinstall of all packages (including base pkgs) once you have everything upgraded. That should satisfy anyone that the install is not corrupted.
I learned the hard way that autorebase.bat changes the dll file itself (baseaddress stored in PE header) and therefore pkg reinstalls via pacman throw errors for not matching the currently loaded DLL's base address.
Unless there is a truly a collision in loading addresses such that Windows cannot relocate the DLL's, I think you are better off not running autorebase.bat so as to allow for clean pkg reinstalls to verify post install scripts completed successfully.
I'd also rather see clean pacman runs than any performance enhancement from optimized DLL load addresses so rebasing for optimization is not a concern of mine either.
I'm not pretending to fully understand the issue but what I've shown above works for me!
Once you've complted your upgrade, you attempt a clean reinstall all your packages like this:
pacman -S $(pacman -Q | awk '{print $1}')Here's a clean run:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$ pacman -S $(pacman -Q | awk '{print $1}') | |
warning: bash-4.3.024-1 is up to date -- reinstalling | |
warning: bash-completion-2.1-3 is up to date -- reinstalling | |
warning: bsdcpio-3.1.2-3 is up to date -- reinstalling | |
warning: bsdtar-3.1.2-3 is up to date -- reinstalling | |
warning: bzip2-1.0.6-1 is up to date -- reinstalling | |
warning: ca-certificates-20140325-1 is up to date -- reinstalling | |
warning: catgets-1.1-1 is up to date -- reinstalling | |
warning: coreutils-8.23-2 is up to date -- reinstalling | |
warning: crypt-1.1-2 is up to date -- reinstalling | |
warning: curl-7.37.1-1 is up to date -- reinstalling | |
warning: dash-0.5.7-4 is up to date -- reinstalling | |
warning: db-5.3.28-1 is up to date -- reinstalling | |
warning: file-5.19-1 is up to date -- reinstalling | |
warning: filesystem-2014.07-2 is up to date -- reinstalling | |
warning: findutils-4.5.14-1 is up to date -- reinstalling | |
warning: flex-2.5.39-2 is up to date -- reinstalling | |
warning: gawk-4.1.1-1 is up to date -- reinstalling | |
warning: gcc-libs-4.8.2-2 is up to date -- reinstalling | |
warning: gdbm-1.11-1 is up to date -- reinstalling | |
warning: getopt-1.1.5-1 is up to date -- reinstalling | |
warning: gettext-0.18.3.2-2 is up to date -- reinstalling | |
warning: gmp-6.0.0-2 is up to date -- reinstalling | |
warning: gnupg-1.4.18-1 is up to date -- reinstalling | |
warning: grep-2.20-1 is up to date -- reinstalling | |
warning: groff-1.22.2-2 is up to date -- reinstalling | |
warning: gzip-1.6-1 is up to date -- reinstalling | |
warning: heimdal-libs-1.5.3-3 is up to date -- reinstalling | |
warning: icu-51.2-1 is up to date -- reinstalling | |
warning: less-458-1 is up to date -- reinstalling | |
warning: libarchive-3.1.2-3 is up to date -- reinstalling | |
warning: libasprintf-0.18.3.2-2 is up to date -- reinstalling | |
warning: libbz2-1.0.6-1 is up to date -- reinstalling | |
warning: libcatgets-1.1-1 is up to date -- reinstalling | |
warning: libcrypt-1.1-2 is up to date -- reinstalling | |
warning: libcurl-7.37.1-1 is up to date -- reinstalling | |
warning: libdb-5.3.28-1 is up to date -- reinstalling | |
warning: libexpat-2.1.0-1 is up to date -- reinstalling | |
warning: libffi-3.0.13-1 is up to date -- reinstalling | |
warning: libgdbm-1.11-1 is up to date -- reinstalling | |
warning: libgettextpo-0.18.3.2-2 is up to date -- reinstalling | |
warning: libgpg-error-1.12-1 is up to date -- reinstalling | |
warning: libgpgme-1.4.3-2 is up to date -- reinstalling | |
warning: libiconv-1.14-1 is up to date -- reinstalling | |
warning: libidn-1.29-1 is up to date -- reinstalling | |
warning: libintl-0.18.3.2-2 is up to date -- reinstalling | |
warning: liblzma-5.0.5-1 is up to date -- reinstalling | |
warning: liblzo2-2.08-1 is up to date -- reinstalling | |
warning: libmetalink-0.1.2-1 is up to date -- reinstalling | |
warning: libnettle-3.0-1 is up to date -- reinstalling | |
warning: libopenssl-1.0.1.i-1 is up to date -- reinstalling | |
warning: libp11-kit-0.20.3-1 is up to date -- reinstalling | |
warning: libpcre-8.35-1 is up to date -- reinstalling | |
warning: libpipeline-1.3.0-1 is up to date -- reinstalling | |
warning: libreadline-6.3.008-1 is up to date -- reinstalling | |
warning: libsqlite-3.8.3-2 is up to date -- reinstalling | |
warning: libssh2-1.4.3-1 is up to date -- reinstalling | |
warning: libtasn1-4.1-1 is up to date -- reinstalling | |
warning: libxml2-2.9.1-5 is up to date -- reinstalling | |
warning: lndir-1.0.3-1 is up to date -- reinstalling | |
warning: m4-1.4.17-2 is up to date -- reinstalling | |
warning: man-db-2.6.7.1-1 is up to date -- reinstalling | |
warning: mintty-1322-1 is up to date -- reinstalling | |
warning: mpfr-3.1.2.p10-1 is up to date -- reinstalling | |
warning: msys2-runtime-2.0.16196.25874b1-1 is up to date -- reinstalling | |
warning: ncurses-5.9-20140609 is up to date -- reinstalling | |
warning: openssl-1.0.1.i-1 is up to date -- reinstalling | |
warning: p11-kit-0.20.3-1 is up to date -- reinstalling | |
warning: pacman-4.1.2.5803.76229f2-1 is up to date -- reinstalling | |
warning: pacman-mirrors-20140615-1 is up to date -- reinstalling | |
warning: pcre-8.35-1 is up to date -- reinstalling | |
warning: perl-5.20.0-1 is up to date -- reinstalling | |
warning: pkgfile-15-1 is up to date -- reinstalling | |
warning: rebase-4.4.1-5 is up to date -- reinstalling | |
warning: sed-4.2.2-1 is up to date -- reinstalling | |
warning: texinfo-5.2-2 is up to date -- reinstalling | |
warning: tzcode-2014.b-1 is up to date -- reinstalling | |
warning: which-2.20-1 is up to date -- reinstalling | |
warning: xz-5.0.5-1 is up to date -- reinstalling | |
warning: zlib-1.2.8-2 is up to date -- reinstalling | |
resolving dependencies... | |
looking for conflicting packages... | |
Packages (79) bash-4.3.024-1 bash-completion-2.1-3 bsdcpio-3.1.2-3 | |
bsdtar-3.1.2-3 bzip2-1.0.6-1 ca-certificates-20140325-1 | |
catgets-1.1-1 coreutils-8.23-2 crypt-1.1-2 curl-7.37.1-1 | |
dash-0.5.7-4 db-5.3.28-1 file-5.19-1 filesystem-2014.07-2 | |
findutils-4.5.14-1 flex-2.5.39-2 gawk-4.1.1-1 gcc-libs-4.8.2-2 | |
gdbm-1.11-1 getopt-1.1.5-1 gettext-0.18.3.2-2 gmp-6.0.0-2 | |
gnupg-1.4.18-1 grep-2.20-1 groff-1.22.2-2 gzip-1.6-1 | |
heimdal-libs-1.5.3-3 icu-51.2-1 less-458-1 libarchive-3.1.2-3 | |
libasprintf-0.18.3.2-2 libbz2-1.0.6-1 libcatgets-1.1-1 | |
libcrypt-1.1-2 libcurl-7.37.1-1 libdb-5.3.28-1 | |
libexpat-2.1.0-1 libffi-3.0.13-1 libgdbm-1.11-1 | |
libgettextpo-0.18.3.2-2 libgpg-error-1.12-1 libgpgme-1.4.3-2 | |
libiconv-1.14-1 libidn-1.29-1 libintl-0.18.3.2-2 | |
liblzma-5.0.5-1 liblzo2-2.08-1 libmetalink-0.1.2-1 | |
libnettle-3.0-1 libopenssl-1.0.1.i-1 libp11-kit-0.20.3-1 | |
libpcre-8.35-1 libpipeline-1.3.0-1 libreadline-6.3.008-1 | |
libsqlite-3.8.3-2 libssh2-1.4.3-1 libtasn1-4.1-1 | |
libxml2-2.9.1-5 lndir-1.0.3-1 m4-1.4.17-2 man-db-2.6.7.1-1 | |
mintty-1322-1 mpfr-3.1.2.p10-1 | |
msys2-runtime-2.0.16196.25874b1-1 ncurses-5.9-20140609 | |
openssl-1.0.1.i-1 p11-kit-0.20.3-1 pacman-4.1.2.5803.76229f2-1 | |
pacman-mirrors-20140615-1 pcre-8.35-1 perl-5.20.0-1 | |
pkgfile-15-1 rebase-4.4.1-5 sed-4.2.2-1 texinfo-5.2-2 | |
tzcode-2014.b-1 which-2.20-1 xz-5.0.5-1 zlib-1.2.8-2 | |
Total Download Size: 31.12 MiB | |
Total Installed Size: 189.09 MiB | |
Net Upgrade Size: 0.00 MiB | |
:: Proceed with installation? [Y/n] y | |
:: Retrieving packages ... | |
libintl-0.18.3.2-2-... 17.6 KiB 66.2K/s 00:00 [######################] 100% | |
libiconv-1.14-1-x86_64 532.7 KiB 282K/s 00:02 [######################] 100% | |
ncurses-5.9-2014060... 1094.1 KiB 422K/s 00:03 [######################] 100% | |
gcc-libs-4.8.2-2-x86_64 610.8 KiB 276K/s 00:02 [######################] 100% | |
bash-completion-2.1... 155.0 KiB 163K/s 00:01 [######################] 100% | |
libbz2-1.0.6-1-x86_64 25.4 KiB 68.6K/s 00:00 [######################] 100% | |
liblzma-5.0.5-1-x86_64 60.9 KiB 85.5K/s 00:01 [######################] 100% | |
liblzo2-2.08-1-x86_64 54.8 KiB 80.1K/s 00:01 [######################] 100% | |
gmp-6.0.0-2-x86_64 357.1 KiB 227K/s 00:02 [######################] 100% | |
zlib-1.2.8-2-x86_64 41.4 KiB 70.8K/s 00:01 [######################] 100% | |
libxml2-2.9.1-5-x86_64 487.7 KiB 237K/s 00:02 [######################] 100% | |
bzip2-1.0.6-1-x86_64 30.1 KiB 59.4K/s 00:01 [######################] 100% | |
sed-4.2.2-1-x86_64 182.5 KiB 148K/s 00:01 [######################] 100% | |
libffi-3.0.13-1-x86_64 21.5 KiB 60.5K/s 00:00 [######################] 100% | |
libpcre-8.35-1-x86_64 92.6 KiB 111K/s 00:01 [######################] 100% | |
less-458-1-x86_64 86.5 KiB 114K/s 00:01 [######################] 100% | |
gzip-1.6-1-x86_64 84.3 KiB 97.3K/s 00:01 [######################] 100% | |
libdb-5.3.28-1-x86_64 641.5 KiB 320K/s 00:02 [######################] 100% | |
db-5.3.28-1-x86_64 41.6 KiB 84.6K/s 00:00 [######################] 100% | |
libgdbm-1.11-1-x86_64 20.7 KiB 57.0K/s 00:00 [######################] 100% | |
gdbm-1.11-1-x86_64 108.4 KiB 125K/s 00:01 [######################] 100% | |
libcrypt-1.1-2-x86_64 3.9 KiB 3.85M/s 00:00 [######################] 100% | |
perl-5.20.0-1-x86_64 10.7 MiB 1266K/s 00:09 [######################] 100% | |
texinfo-5.2-2-x86_64 1149.1 KiB 402K/s 00:03 [######################] 100% | |
libcatgets-1.1-1-x86_64 4.3 KiB 4.23M/s 00:00 [######################] 100% | |
catgets-1.1-1-x86_64 20.9 KiB 58.4K/s 00:00 [######################] 100% | |
crypt-1.1-2-x86_64 4.0 KiB 3.88M/s 00:00 [######################] 100% | |
icu-51.2-1-x86_64 6.0 MiB 736K/s 00:08 [######################] 100% | |
libsqlite-3.8.3-2-x... 333.3 KiB 254K/s 00:01 [######################] 100% | |
heimdal-libs-1.5.3-... 576.5 KiB 288K/s 00:02 [######################] 100% | |
libexpat-2.1.0-1-x86_64 47.1 KiB 78.6K/s 00:01 [######################] 100% | |
libmetalink-0.1.2-1... 19.9 KiB 56.7K/s 00:00 [######################] 100% | |
libssh2-1.4.3-1-x86_64 151.9 KiB 143K/s 00:01 [######################] 100% | |
filesystem-2014.07-... 18.8 KiB 52.4K/s 00:00 [######################] 100% | |
grep-2.20-1-x86_64 216.1 KiB 175K/s 00:01 [######################] 100% | |
dash-0.5.7-4-x86_64 68.5 KiB 348K/s 00:00 [######################] 100% | |
file-5.19-1-x86_64 363.1 KiB 234K/s 00:02 [######################] 100% | |
m4-1.4.17-2-x86_64 200.1 KiB 171K/s 00:01 [######################] 100% | |
flex-2.5.39-2-x86_64 820.2 KiB 355K/s 00:02 [######################] 100% | |
gawk-4.1.1-1-x86_64 910.2 KiB 363K/s 00:03 [######################] 100% | |
getopt-1.1.5-1-x86_64 26.1 KiB 72.4K/s 00:00 [######################] 100% | |
libgettextpo-0.18.3... 91.3 KiB 110K/s 00:01 [######################] 100% | |
libasprintf-0.18.3.... 3.7 KiB 3.58M/s 00:00 [######################] 100% | |
gettext-0.18.3.2-2-... 1329.1 KiB 442K/s 00:03 [######################] 100% | |
groff-1.22.2-2-x86_64 1706.1 KiB 550K/s 00:03 [######################] 100% | |
libgpg-error-1.12-1... 52.4 KiB 89.3K/s 00:01 [######################] 100% | |
libgpgme-1.4.3-2-x86_64 149.8 KiB 140K/s 00:01 [######################] 100% | |
libpipeline-1.3.0-1... 25.2 KiB 64.5K/s 00:00 [######################] 100% | |
lndir-1.0.3-1-x86_64 7.9 KiB 64.6K/s 00:00 [######################] 100% | |
man-db-2.6.7.1-1-x86_64 464.9 KiB 264K/s 00:02 [######################] 100% | |
mintty-1322-1-x86_64 84.8 KiB 118K/s 00:01 [######################] 100% | |
pacman-mirrors-2014... 1232.0 B 0.00B/s 00:00 [######################] 100% | |
which-2.20-1-x86_64 16.7 KiB 63.4K/s 00:00 [######################] 100% | |
xz-5.0.5-1-x86_64 117.6 KiB 124K/s 00:01 [######################] 100% | |
pcre-8.35-1-x86_64 584.2 KiB 312K/s 00:02 [######################] 100% | |
pkgfile-15-1-x86_64 21.4 KiB 57.8K/s 00:00 [######################] 100% | |
rebase-4.4.1-5-x86_64 157.5 KiB 142K/s 00:01 [######################] 100% | |
tzcode-2014.b-1-x86_64 279.7 KiB 216K/s 00:01 [######################] 100% | |
(79/79) checking keys in keyring [######################] 100% | |
(79/79) checking package integrity [######################] 100% | |
(79/79) loading package files [######################] 100% | |
(79/79) checking for file conflicts [######################] 100% | |
(79/79) checking available disk space [######################] 100% | |
( 1/79) reinstalling libintl [######################] 100% | |
( 2/79) reinstalling libiconv [######################] 100% | |
( 3/79) reinstalling msys2-runtime [######################] 100% | |
( 4/79) reinstalling ncurses [######################] 100% | |
( 5/79) reinstalling libreadline [######################] 100% | |
( 6/79) reinstalling gcc-libs [######################] 100% | |
( 7/79) reinstalling bash [######################] 100% | |
( 8/79) reinstalling bash-completion [######################] 100% | |
( 9/79) reinstalling libbz2 [######################] 100% | |
(10/79) reinstalling liblzma [######################] 100% | |
(11/79) reinstalling liblzo2 [######################] 100% | |
(12/79) reinstalling gmp [######################] 100% | |
(13/79) reinstalling libnettle [######################] 100% | |
(14/79) reinstalling coreutils [######################] 100% | |
(15/79) reinstalling zlib [######################] 100% | |
(16/79) reinstalling libxml2 [######################] 100% | |
(17/79) reinstalling bsdcpio [######################] 100% | |
(18/79) reinstalling bsdtar [######################] 100% | |
(19/79) reinstalling bzip2 [######################] 100% | |
(20/79) reinstalling libopenssl [######################] 100% | |
(21/79) reinstalling openssl [######################] 100% | |
(22/79) reinstalling findutils [######################] 100% | |
(23/79) reinstalling sed [######################] 100% | |
(24/79) reinstalling libffi [######################] 100% | |
(25/79) reinstalling libpcre [######################] 100% | |
(26/79) reinstalling less [######################] 100% | |
(27/79) reinstalling gzip [######################] 100% | |
(28/79) reinstalling libdb [######################] 100% | |
(29/79) reinstalling db [######################] 100% | |
(30/79) reinstalling libgdbm [######################] 100% | |
(31/79) reinstalling gdbm [######################] 100% | |
(32/79) reinstalling libcrypt [######################] 100% | |
(33/79) reinstalling perl [######################] 100% | |
(34/79) reinstalling texinfo [######################] 100% | |
(35/79) reinstalling libtasn1 [######################] 100% | |
(36/79) reinstalling libp11-kit [######################] 100% | |
(37/79) reinstalling p11-kit [######################] 100% | |
(38/79) reinstalling ca-certificates [######################] 100% | |
(39/79) reinstalling libcatgets [######################] 100% | |
(40/79) reinstalling catgets [######################] 100% | |
(41/79) reinstalling crypt [######################] 100% | |
(42/79) reinstalling icu [######################] 100% | |
(43/79) reinstalling libsqlite [######################] 100% | |
(44/79) reinstalling heimdal-libs [######################] 100% | |
(45/79) reinstalling libidn [######################] 100% | |
(46/79) reinstalling libexpat [######################] 100% | |
(47/79) reinstalling libmetalink [######################] 100% | |
(48/79) reinstalling libssh2 [######################] 100% | |
(49/79) reinstalling libcurl [######################] 100% | |
(50/79) reinstalling curl [######################] 100% | |
(51/79) reinstalling filesystem [######################] 100% | |
(52/79) reinstalling grep [######################] 100% | |
(53/79) reinstalling dash [######################] 100% | |
(54/79) reinstalling file [######################] 100% | |
(55/79) reinstalling m4 [######################] 100% | |
(56/79) reinstalling flex [######################] 100% | |
(57/79) reinstalling mpfr [######################] 100% | |
(58/79) reinstalling gawk [######################] 100% | |
(59/79) reinstalling getopt [######################] 100% | |
(60/79) reinstalling libgettextpo [######################] 100% | |
(61/79) reinstalling libasprintf [######################] 100% | |
(62/79) reinstalling gettext [######################] 100% | |
(63/79) reinstalling gnupg [######################] 100% | |
(64/79) reinstalling groff [######################] 100% | |
(65/79) reinstalling libarchive [######################] 100% | |
(66/79) reinstalling libgpg-error [######################] 100% | |
(67/79) reinstalling libgpgme [######################] 100% | |
(68/79) reinstalling libpipeline [######################] 100% | |
(69/79) reinstalling lndir [######################] 100% | |
(70/79) reinstalling man-db [######################] 100% | |
(71/79) reinstalling mintty [######################] 100% | |
(72/79) reinstalling pacman-mirrors [######################] 100% | |
(73/79) reinstalling which [######################] 100% | |
(74/79) reinstalling xz [######################] 100% | |
(75/79) reinstalling pacman [######################] 100% | |
(76/79) reinstalling pcre [######################] 100% | |
(77/79) reinstalling pkgfile [######################] 100% | |
(78/79) reinstalling rebase [######################] 100% | |
(79/79) reinstalling tzcode [######################] 100% | |
framer99@core3 / | |
$ |
No comments:
Post a Comment