The Glorious Glasgow Haskell Compilation System, also known as GHC, does not work.
apt-get install ghc fails here:
Setting up ghc (7.6.3-10) ...
ghc: timer_create: Invalid argument
update-alternatives: using /usr/bin/ghc to provide /usr/bin/haskell-compiler (haskell-compiler) in auto mode
ghc-pkg: timer_create: Invalid argument
dpkg: error processing package ghc (--configure):
subprocess installed post-installation script returned error exit status 1
Processing triggers for libc-bin (2.19-0ubuntu6.7) ...
dmesg: klogctl failed: Invalid argument
/bin/df: cannot read table of mounted file systems: No such file or directory
Errors were encountered while processing:
E: Sub-process /usr/bin/dpkg returned an error code (1)
timer_create() syscall support was added in Insider build #14986, which unblocked Haskell and many other tools.
Yitz Gale commented
Can this issue please be re-opened? The timer_create() syscall enabled older versions of GHC to work, version <= 7. But recent versions of GHC still do not work due to a memory map issue in WSL, https://github.com/Microsoft/BashOnWindows/issues/1671. This issue also affects other languages that implement modern GC algorithms. Thanks!
When might this be released in the updates non-insiders get?
Rob O'Connell commented
Yay! Thanks for your work on this!
Byung Il Choi commented
Dale Phurrough commented
this failure is beyond Haskell. I encounter it using some cryptography tools in the apt-get repros with no workaround other than using a real *nix machine.
Carl Patenaude Poulin commented
This affects not only GHC, but all binaries compiled with it (including Pandoc, etc.). Can you please update the title of this submission accordingly?
Shellcheck fails in W10 with that error as well:
shellcheck: timer_create: Function not implemented
Clayton Dittman commented
Also affects configuration of ghc which is used by gcc
Video related stuff!
To playback video files at the correct timestamp speed from Windows 10 WSL to a ip-based video mixer "dvswitch" running on real linux host this timer feature is crucial and missing!
By using the following instructions to compile and run "dvswitch / dvpause" or its components on Windows 10 WSL the following timer based errors appear(replace ffmpeg with libav-tools if using ubuntu 14.04 in W10 WSL).
dvsource-file -l examplevideo.dv -p 1234 -h 192.168.54.11
INFO: Reading from examplevideo.dv
INFO: Connecting to 192.168.54.11:1234
FATAL: timer_create: Function not implemented
Recording in Windows 10 WSL with "dvsink-files videoname.dv -p 1234 -h ipaddress" from dvswitch running on a real ubuntu 16.04 linux machine is already working!
On the otherhand Mac OS X Snow Leopard and El Capitan can also record files using "dvsink-files" when compiled with the help of BREW. But dvsource-file and other components of dvswitch/dvpause won't even compile on OS X complaining some time/timer functions doesn't match the BSD/mach kernel equivallent...
Is this hard to implement?
Ricardo Sánchez commented
Come on! we need haskell to work on bash
need Haskell to work!
This also affects Jekyll is pandoc is used for markdown rendering in my case.
Shane Farrell commented
It appears as though you cannot install ghc for Haskell without this.
It's related to Ruby, please fix. thanks
Christopher Armstrong commented
I dunno if titles can be edited, but you might want to add "so that GHC-compiled Haskell programs can work" or something, so it's clear how wide of a scope this has.
Rikuo Hasegawa commented
The fact that this affects haskell affects quite a lot of things, including Pandoc and Elm-lang which are written using haskell.
Referencing here: https://groups.google.com/forum/#!topic/fa.haskell/twcqbpb-aso
It seems that the `timer_create` call doesn't happen in binaries compiled with `-threaded`. That might be worth a try.
Fred Zimmerman commented
Note this also seems to affect all Haskell and cabal based binaries.
Kyle Larsen commented
This issue is also encountered when trying to run stack (which installs successfully following these instructions for Ubunutu 14.04).