C.UTF-8 locale is debian specific #856
Closed
Comments
Argh, sounds like I need to make this more intelligent. Maybe something like:
How does that sound? (looking forward to GHC_CHARENC) |
Sounds reasonable. Kinda annoying to have to add such a workaround, but there doesn't seem to be an easy way around it. |
@cocreature I've pushed more intelligent logic to master. Turns out trying to do anything cross-platform with locales is tricky (there's no standard for locale names), but I'm hoping this does the right thing for the majority of cases and fails gracefully (with a warning). |
(I tested this on OS X, Debian 7, and CentOS 6.6) |
Thanks, works on Arch too. |
This was referenced Nov 28, 2017
jcfr
added a commit
to dockbuild/dockbuild
that referenced
this issue
Mar 29, 2018
C.UTF-8 is not supported on all systems. For sake of consistency, we set en_US.UTF-8 in all images. References: * https://sourceware.org/bugzilla/show_bug.cgi?id=17318#c4 * commercialhaskell/stack#856 Warnings addressed by this commit are like the following: svn: warning: cannot set LC_CTYPE locale svn: warning: environment variable LANG is C.UTF-8 svn: warning: please check that your locale name is correct
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Since 9787aed stack tries to set
LC_ALL
toC.UTF-8
. This is a bad idea, since that locale is Debian (and transitively Ubuntu) specific. There is an upstream glibc bug to support this, but it's not yet fixed.On distros that do not support this (at least Arch and Fedora) it actually makes the problem far worse than it was before, since now even if your locales are all fine and utf8 trying to set them breaks this, so we're back to the
commitBuffer: invalid argument (invalid character)
problem.This means that if people upgrade their stack version, they can't even downgrade and built an old version since the build reproducibly fails.
Pinging @borsboom
The text was updated successfully, but these errors were encountered: