haskell / haskell-platform

Distribution of Haskell with batteries included
http://www.haskell.org/platform/
Other
381 stars 91 forks source link

Haskell platform windows installer breaks the cabal config file #320

Open yaxu opened 5 years ago

yaxu commented 5 years ago

Installing the haskell platform for windows is difficult for non-expert users, requiring them to operate commandline tools, locate hidden folders and edit them in a text editor without having extra spaces creep in (which I've seen the default windows text editor helpfully insert). A mild annoyance for a programmer but in my experience, near impossible for many non-programmers/sysadmins. Is there a way that this could be streamlined? Could the installer edit this file itself?

(I maintain the tidal package for musical pattern, which has many users who aren't programmers.)

gbaz commented 5 years ago

we actually tweaked the installer to auto-edit as described, but i'm not sure if it works properly -- in particular if it uses the correct separator character for conjoined entries (this is an issue with cabal's support for programmatic extension of its config files working cross platform). so the lines are left in the instructions as a "just in case". i've seen reports of it going right and wrong both -- i'll try to run through a complete test in the next few days and see what the issue might be.

yaxu commented 5 years ago

@gbaz Having just taught a workshop I can say that this is still a problem. "Step 2" still exists, you have to manually edit a text file, and people without advanced computing/sysadmin skills find it really difficult/impossible.

yaxu commented 5 years ago

I've just helped someone online, and suggested they change this line:

extra-prog-path: C:\Program Files\Haskell Platform\8.6.5\msys\usr\bin,
                 C:\Users\Utilisateur\AppData\Roaming\cabal\bin

to this:

extra-prog-path: C:\Program Files\Haskell Platform\8.6.5\msys\usr\bin

That worked. So I think you're right @gbaz, they hadn't edited the file themselves, so I guess the automated edit happened but was just wrong.

yaxu commented 5 years ago

More confirmation that this automatic editing is going wrong - https://forum.toplap.org/t/trouble-launching-tidal-in-atom/678/3

yaxu commented 5 years ago

I help about one person a day with this issue at the moment.

yaxu commented 5 years ago

This looks like the problem: https://github.com/haskell/cabal/issues/5420

gbaz commented 5 years ago

should be resolved by https://github.com/haskell/cabal/pull/6161 in the new cabal

yaxu commented 5 years ago

Thanks! Can step two of the install process be removed now? https://www.haskell.org/platform/#windows

yaxu commented 4 years ago

It seems not. I just tried this with Haskell platform 8.6.5 under windows. It's still unable to compile the network module (and presumably others). I tried upgrading cabal with cabal install cabal-install, but that fails as the network module is a dependency. Following step two didn't fix it - I guess because hadn't installed it under C:\Program Files (which isn't the name of the default folder for non-English speaking users in any case). Changing the comma to a semicolon on the existing extra-prog-path entry didn't work either. Removing the comma/semicolon and deleting the second line of the entry did work.

yaxu commented 4 years ago

I'd love to find a way to install a working Haskell under windows that doesn't involve editing configuration files, non-software engineers find this really difficult.

gbaz commented 4 years ago

It seems not. I just tried this with Haskell platform 8.6.5 under windows. It's still unable to compile the network module (and presumably others).

We haven't released a new platform installer with ghc 8.8 (and the new cabal 3.0) with the patch yet :-)

Waiting for things to settle a bit, but soon...

yaxu commented 4 years ago

Understandable, but a shame. Its especially difficult for people without an English speaking locale, as the example config lines aren't even the default values then.

yaxu commented 4 years ago

Hi, just wondering whether there an is ETA for the new installer?