
Friends I want to thank everyone who has responded - very helpful! Thanks to your help I am making progress * I re-installed msys64 from scratch, this time following the instructions on the GHC wiki rather than the msys2 page. By doing update-core; then pacman -Su; then pacman -Su again, I got a clean install. Very good! Getting a shell between each step is tricky. o The first shell is gotten with mingw64.bat o After update-core, that file is gone; you have to use msys2_shell.cmd I think o After pacman -Su we get mingw64.exe, which we can use thereafter. * My slow-start problem appears to have gone away. I adopted the fix from you may be hitting a long standing issue some computers have in which the domain controller is being hit for every invocation of commands, causing a slowdown https://github.com/Alexpux/MSYS2-packages/issues/138 , Solution 2 from https://gist.github.com/k-takata/9b8d143f0f3fef5abdabhttps://na01.safelinks.protection.outlook.com/?url=https%3a%2f%2fgist.github.com%2fk-takata%2f9b8d143f0f3fef5abdab&data=01%7c01%7csimonpj%40064d.mgd.microsoft.com%7cdd4588e2f3ff499367c308d39f535acd%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=KQFg%2f83I5Vj%2bS4ivgSvAI%2bpt3A04ulMjbO%2bbIrsb%2btQ%3d seems to fix it for most people. I am not absolutely certain that was the problem, but things seem ok now. I also excluded c:/msys64 from my antivirus check. * Emacs too is now working normally. Hurrah So that's all good. Now I'm stuck on the windows tarballs download thing. I get configure: Checking for Windows toolchain tarballs... configure: Extracting Windows toolchain from archives (may take a while)... File not found - *.tar.xz I tried both the things described on the wikihttps://ghc.haskell.org/trac/ghc/wiki/Building/Preparation/Windows: Pacman -R mingw-w64-x86_64-curl error: target not found: mingw-w64-x86_64-curl For the other I did the two mkdir things, and tried ./configure again, but got the same error message as above. So I'm stuck again, but further forward. Can you advise me? Thanks! Simon

Hi Simon, You’re missing an underscore in the command (there’s one between x86 and 64), It’s pacman -R mingw-w64-x86_64-curl This is only needed if curl --version reports anything other than x86_64-pc-msys. After that you need to install the normal msys curl with pacman -S curl You don’t have to run configure everytime to test either, you can just run mk/get-win32-tarballs.sh download x86_64 from the root and it should just download the packages only if everything is setup correctly. Also don’t forget to do a pacman -Sy to update the repositories. Couldn’t gather from your email if you did this already. Kind Regards, Tamar From: Simon Peyton Jones via ghc-devs

Actually I had the command right; copy/paste somehow removed the underscore.
And curl –version does report
curl --version
curl 7.49.1 (x86_64-pc-msys)
so it should not be necessary anyway.
But ./configure still fails with
checking for path to top of build tree... C:/code/HEAD
configure: Checking for Windows toolchain tarballs...
configure: Extracting Windows toolchain from archives (may take a while)...
File not found - *.tar.xz
Meanwhile
mk/get-win32-tarballs.sh download x86_64
completes after 1 second, with no messages of any kind.
What next?!
Thanks
Simon
From: ghc-devs [mailto:ghc-devs-bounces@haskell.org] On Behalf Of lonetiger@gmail.com
Sent: 28 June 2016 22:19
To: Simon Peyton Jones via ghc-devs

Hi Simon, I’m not sure what’s going on there. I updated my curl to 7.49.1 and I am experiencing the same silent death (--version doesn’t even work for me then which is weird). In any case, downgrading back to 7.48.0 worked for me. I don’t know how to do that with pacman, so instead maybe try: pacman -S wget wget -qO - http://repo.msys2.org/msys/x86_64/libcurl-7.48.0-1-x86_64.pkg.tar.xz | tar xJ -C /usr --strip-components=1 wget -qO - http://repo.msys2.org/msys/x86_64/curl-7.48.0-1-x86_64.pkg.tar.xz | tar xJ -C /usr --strip-components=1 If it doesn’t work, to upgrade again to 7.49.1 you can just do pacman -S curl libcurl Kind Regards, Tamar From: Simon Peyton Jones

It’s bizarre that pacman won’t let us downgrade curl!
I don’t know how to do that with pacman, so instead maybe try:
pacman -S wget
wget -qO - http://repo.msys2.org/msys/x86_64/libcurl-7.48.0-1-x86_64.pkg.tar.xz | tar xJ -C /usr --strip-components=1
wget -qO - http://repo.msys2.org/msys/x86_64/curl-7.48.0-1-x86_64.pkg.tar.xz | tar xJ -C /usr --strip-components=1
I tried this. All three commands succeeded, the latter two with no output at all. But once more “./configure” fails with the same message “File not found - *.tar.xz”. It is a bizarre message isn’t it?
A lot of files are there:
/c/code/HEAD$ ls ghc-tarballs/mingw-w64/
x86_64
/c/code/HEAD$ ls ghc-tarballs/mingw-w64/x86_64/
mingw-w64-x86_64-binutils-2.25.1-1-any.pkg.tar.xz
mingw-w64-x86_64-crt-git-5.0.0.4531.49c7046-1-any.pkg.tar.xz
mingw-w64-x86_64-gcc-5.2.0-3-any.pkg.tar.xz
mingw-w64-x86_64-gcc-libs-5.2.0-3-any.pkg.tar.xz
mingw-w64-x86_64-gmp-6.0.0-3-any.pkg.tar.xz
mingw-w64-x86_64-headers-git-5.0.0.4531.49c7046-1-any.pkg.tar.xz
mingw-w64-x86_64-isl-0.14.1-2-any.pkg.tar.xz
mingw-w64-x86_64-libiconv-1.14-5-any.pkg.tar.xz
mingw-w64-x86_64-libwinpthread-git-5.0.0.4538.78dca70-1-any.pkg.tar.xz
mingw-w64-x86_64-mpc-1.0.3-2-any.pkg.tar.xz
mingw-w64-x86_64-mpfr-3.1.3.p0-2-any.pkg.tar.xz
mingw-w64-x86_64-winpthreads-git-5.0.0.4538.78dca70-1-any.pkg.tar.xz
mingw-w64-x86_64-zlib-1.2.8-8-any.pkg.tar.xz
/c/code/HEAD$ ls ghc-tarballs/perl/
ghc-perl-1.tar.gz
All I need is for ‘configure’ to get on and un-tar them! Maybe the problem isn’t with curl at all?
Simon
From: lonetiger@gmail.com [mailto:lonetiger@gmail.com]
Sent: 28 June 2016 23:27
To: Simon Peyton Jones

Hi Simon, I think you’re right, That pattern in the error is the one we pass to find find "${base_dir}" -name "*.tar.xz" -exec tar xfJ {} \; on line 334 of configure.ac which is supposed to unpack the files. That the download script doesn’t output nothing makes sense now since the hashes of the files match. I *think* what’s going on here is that for some reason you don’t have findutils installed and it’s instead using The windows “find” utility, which generates that error. C:\Users\Tamar>find *.tar.xz File not found - *.tar.xz Try re-installing findutils, pacman -S findutils, and if find –version doesn’t return the findutils one check your PATH settings. Cheers, Tamar From: Simon Peyton Jones

Aha! That sounds very plausible. I’ll try. Maybe it’s a path-ordering thing.
It would be very cool if ‘configure’ checked that ‘find’ was the find it was expecting, not Windows find. Dunno how to do that, but that check would have saved us a lot of time.
(For most other utils, weget, curl etc, there is no Windows program with the same name. But for ‘find’, there is.)
Simon
From: lonetiger@gmail.com [mailto:lonetiger@gmail.com]
Sent: 29 June 2016 11:35
To: Simon Peyton Jones

Tamar, Luke, David, Andrey, and others
OK that was it! Now I can build GHC…. Real progress.
But I still can’t validate:
sh validate
using THREADS=5
make: Entering directory '/c/code/HEAD/utils/checkUniques'
./check-uniques.py ../..
Traceback (most recent call last):
File "./check-uniques.py", line 39, in <module>
uniques = find_uniques(glob.glob(os.path.join(top_dir, 'compiler', 'prelude', '*.hs')))
File "./check-uniques.py", line 15, in find_uniques
ms = unique_re.findall(open(f).read())
File "/usr/lib/python3.4/encodings/ascii.py", line 26, in decode
return codecs.ascii_decode(input, self.errors)[0]
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 15185: ordinal not in range(128)
make: *** [Makefile:8: check] Error 1
make: Leaving directory '/c/code/HEAD/utils/checkUniques'
/c/code/HEAD$
Any ideas about what might be happening? The Python version is 3.4.3.
Thanks
Simon
From: ghc-devs [mailto:ghc-devs-bounces@haskell.org] On Behalf Of Simon Peyton Jones via ghc-devs
Sent: 29 June 2016 12:08
To: lonetiger@gmail.com
Cc: ghc-devs@haskell.org
Subject: RE: Msys2 64: progress
Aha! That sounds very plausible. I’ll try. Maybe it’s a path-ordering thing.
It would be very cool if ‘configure’ checked that ‘find’ was the find it was expecting, not Windows find. Dunno how to do that, but that check would have saved us a lot of time.
(For most other utils, weget, curl etc, there is no Windows program with the same name. But for ‘find’, there is.)
Simon
From: lonetiger@gmail.commailto:lonetiger@gmail.com [mailto:lonetiger@gmail.com]
Sent: 29 June 2016 11:35
To: Simon Peyton Jones

Hi Simon, Could you try with python2 instead? (If it’s installed I think the testsuite would pick it up automatically). Python3 is marked as experimental in the testsuite PYTHON3 = sys.version_info >= (3, 0) if PYTHON3: print("*** WARNING: running testsuite using Python 3.\n" "*** Python 3 support is experimental. See Trac #9184.") And based on that trac, it routinely breaks.. Regards, Tamar From: Simon Peyton Jones

OK. How do I “try with python2 instead”?
SImon
From: lonetiger@gmail.com [mailto:lonetiger@gmail.com]
Sent: 30 June 2016 10:12
To: Simon Peyton Jones

BTW, during ./boot, I get a lot of errors like this. Should I worry?
Thanks.
Simon
Booting .
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LC_ALL = (unset),
LANG = "ENG"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
Booting libraries/base/
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LC_ALL = (unset),
LANG = "ENG"
are supported and installed on your system.
Booting libraries/directory/
perl: warning: Falling back to the standard locale ("C").
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LC_ALL = (unset),
LANG = "ENG"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
Booting libraries/integer-gmp/
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
From: ghc-devs [mailto:ghc-devs-bounces@haskell.org] On Behalf Of Simon Peyton Jones via ghc-devs
Sent: 30 June 2016 12:22
To: lonetiger@gmail.com
Cc: ghc-devs@haskell.org
Subject: RE: Msys2 64: progress
OK. How do I “try with python2 instead”?
SImon
From: lonetiger@gmail.commailto:lonetiger@gmail.com [mailto:lonetiger@gmail.com]
Sent: 30 June 2016 10:12
To: Simon Peyton Jones

On 30. 6. 2016 14:38, Simon Peyton Jones via ghc-devs wrote:
BTW, during ./boot, I get a lot of errors like this. Should I worry?
perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LC_ALL = (unset), LANG = "ENG" are supported and installed on your system. perl: warning: Falling back to the standard locale ("C").
Weird. My MSYS2 autodetects and sets `LANG=en_US.UTF-8`. Can you try setting that in the terminal before running `./boot` and or the testsuite? -- David Macek

David,
Yes, that cleared all those warnings. I have no idea why it works for you but not for me. But I'm rolling, thank you.
Simon
| -----Original Message-----
| From: David Macek [mailto:david.macek.0@gmail.com]
| Sent: 30 June 2016 13:54
| To: Simon Peyton Jones

Simon Peyton Jones via ghc-devs
Tamar, Luke, David, Andrey, and others
OK that was it! Now I can build GHC…. Real progress.
But I still can’t validate: sh validate using THREADS=5 make: Entering directory '/c/code/HEAD/utils/checkUniques' ./check-uniques.py ../.. Traceback (most recent call last): File "./check-uniques.py", line 39, in <module> uniques = find_uniques(glob.glob(os.path.join(top_dir, 'compiler', 'prelude', '*.hs'))) File "./check-uniques.py", line 15, in find_uniques ms = unique_re.findall(open(f).read()) File "/usr/lib/python3.4/encodings/ascii.py", line 26, in decode return codecs.ascii_decode(input, self.errors)[0] UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 15185: ordinal not in range(128) make: *** [Makefile:8: check] Error 1 make: Leaving directory '/c/code/HEAD/utils/checkUniques' /c/code/HEAD$
Any ideas about what might be happening? The Python version is 3.4.3.
I'm not sure why I haven't seen this locally but I think I know what is happening. Could you try D2373 (also available as wip/check-uniques-fix)? Cheers, - Ben

On 29. 6. 2016 0:27, lonetiger@gmail.com wrote:
In any case, downgrading back to 7.48.0 worked for me.
I don’t know how to do that with pacman
curl -Os http://repo.msys2.org/msys/x86_64/libcurl-7.48.0-1-x86_64.pkg.tar.xz curl -Os http://repo.msys2.org/msys/x86_64/curl-7.48.0-1-x86_64.pkg.tar.xz pacman -U libcurl-7.48.0-1-x86_64.pkg.tar.xz curl-7.48.0-1-x86_64.pkg.tar.xz rm libcurl-7.48.0-1-x86_64.pkg.tar.xz curl-7.48.0-1-x86_64.pkg.tar.xz -- David Macek

On 29. 6. 2016 13:16, David Macek wrote:
On 29. 6. 2016 0:27, lonetiger@gmail.com wrote:
In any case, downgrading back to 7.48.0 worked for me.
I don’t know how to do that with pacman
curl -Os http://repo.msys2.org/msys/x86_64/libcurl-7.48.0-1-x86_64.pkg.tar.xz curl -Os http://repo.msys2.org/msys/x86_64/curl-7.48.0-1-x86_64.pkg.tar.xz pacman -U libcurl-7.48.0-1-x86_64.pkg.tar.xz curl-7.48.0-1-x86_64.pkg.tar.xz rm libcurl-7.48.0-1-x86_64.pkg.tar.xz curl-7.48.0-1-x86_64.pkg.tar.xz
Oops. If curl doesn't work, substitute with wget as per Tamar's advice, but `pacman -U` is still the right way to install stand-alone package files. -- David Macek
participants (4)
-
Ben Gamari
-
David Macek
-
lonetiger@gmail.com
-
Simon Peyton Jones