I am a pysolf -Freecell addict, and am having a problem with it failing to start on one of my machines (it runs fine on the others) All are running Debian Trixie + KDE, with the latest updates…
When I start it in KDE, I get the blinking icon in the task bar as expected when any program is started. It blinks for a few seconds then vanishes w/o the game starting.
As an experiment I tried starting it in Konsole, and got the following:
fancybox:~$ pysolfc
Traceback (most recent call last):
File "/usr/games/pysolfc", line 28, in <module>
init()
~~~~^^
File "/usr/share/games/pysolfc/pysollib/init.py", line 51, in init
locale.setlocale(locale.LC_ALL, '')
~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.13/locale.py", line 615, in setlocale
return _setlocale(category, locale)
locale.Error: unsupported locale setting
looking at locale.py, the relevant section around line 615 appears to be:
def getlocale(category=LC_CTYPE):
""" Returns the current setting for the given locale category as
tuple (language code, encoding).
category may be one of the LC_* value except LC_ALL. It
defaults to LC_CTYPE.
Except for the code 'C', the language code corresponds to RFC
1766. code and encoding can be None in case the values cannot
be determined.
"""
localename = _setlocale(category)
if category == LC_ALL and ';' in localename:
raise TypeError('category LC_ALL is not supported')
return _parse_localename(localename)
def setlocale(category, locale=None):
""" Set the locale for the given category. The locale can be
a string, an iterable of two strings (language code and encoding),
or None.
Iterables are converted to strings using the locale aliasing
engine. Locale strings are passed directly to the C lib.
category may be given as one of the LC_* values.
"""
if locale and not isinstance(locale, _builtin_str):
# convert to string
locale = normalize(_build_localename(locale))
return _setlocale(category, locale)
Trying to see what locale is set to, I get:
@fancybox:~$ locale
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME=en_BI.UTF-8
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
Any idea what might be wrong? It used to work just fine, but I think a recent update did say something about locale…
ex-Gooserider