#793740 kwrite: spell checking does not work at all

Package:
kwrite
Source:
kate
Description:
simple text editor
Submitter:
Salvo Tomaselli
Date:
2023-05-13 10:18:06 UTC
Severity:
normal
#793740#5
Date:
2015-07-26 22:24:32 UTC
From:
To:
Dear Maintainer,
using the experimental version, spell checking feature is not working.

Hspell: can't open /usr/share/hspell/hebrew.wgz.sizes.
HSpellDict::HSpellDict: Init failed
sonnet.plugins.hunspell:  HunspellClient::HunspellClient
No language dictionaries for the language: "it"


I have myspell installed. In kde4 apps it works.

Best

#793740#10
Date:
2016-01-03 19:27:30 UTC
From:
To:
Hi,

Discovering that the bug is happily alive, I tinkered a bit with with
strace.  One of the lines that appears after activating the
spell-checker reads::

  stat("/usr//usr/lib/x86_64-linux-gnu/qt5/plugins/kf5/sonnet", 0x7ffe5537a0b0) = -1 ENOENT (No such file or directory)

Note the '/usr//usr/' part.  I haven't looked at the source.  /2¢

#793740#15
Date:
2016-01-07 19:37:47 UTC
From:
To:
Hi,

In data lunedì 27 luglio 2015 00:24:32, Salvo Tomaselli ha scritto:

Do you have sonnet-plugins installed? If not, does it work if you
install it?

(Note to self: libkf5sonnetui5 recommends sonnet-plugins.)

Thanks,

#793740#20
Date:
2016-01-07 20:19:55 UTC
From:
To:
Hi,

Yes.  I also tried to provide different backends (aspell, hunspell,
myspell) exclusively and all together.  No dice.

Note again, that after starting kwrite with eg.

  strace -s 512 kwrite |& grep 'sonnet'

I'm still seeing the line

  stat("/usr//usr/lib/x86_64-linux-gnu/qt5/plugins/kf5/sonnet", 0x7fff8cff2920) = -1 ENOENT (No such file or directory)

immediately after selecting 'Tools > Spelling > Spelling ...'.

Thanks for looking into it!

#793740#25
Date:
2016-01-07 20:30:34 UTC
From:
To:
In data giovedì 7 gennaio 2016 21:19:55, Hagen Fuchs ha scritto:

Well, it just worked fine for me after installing it. I guess you have
the right aspell-$LANG / hspell-$LANG?
Do you have any dictionaries listed if you open the global spell check
configuration ([1] or [2])?

[1] System Settings -> Regional Settings -> Spell Check
[2] `kcmshell5 spellchecking` in a terminal

Yes, I read that in your previous email, but you are missing other
details:

$ strace -o log kwrite
(write something, then invoke the spell checking, then quit)

$ grep 'kf5/sonnet' log
stat("/usr/lib/x86_64-linux-gnu/qt5/plugins/kf5/sonnet", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/qt5/plugins/kf5/sonnet", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 11
statfs("/usr/lib/x86_64-linux-gnu/qt5/plugins/kf5/sonnet/", {f_type="EXT2_SUPER_MAGIC", f_bsize=4096, f_blocks=9578578, f_bfree=3503535, f_bavail=3011171, f_files=2445984, f_ffree=1919679, f_fsid={189876285, 1250295238}, f_namelen=255, f_frsize=4096}) = 0
lstat("/usr/lib/x86_64-linux-gnu/qt5/plugins/kf5/sonnet", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat("/usr/lib/x86_64-linux-gnu/qt5/plugins/kf5/sonnet/aspell.so", {st_mode=S_IFREG|0644, st_size=19016, ...}) = 0
open("/usr/lib/x86_64-linux-gnu/qt5/plugins/kf5/sonnet/aspell.so", O_RDONLY|O_CLOEXEC) = 11
open("/usr/lib/x86_64-linux-gnu/qt5/plugins/kf5/sonnet/aspell.so", O_RDONLY|O_CLOEXEC) = 11
lstat("/usr/lib/x86_64-linux-gnu/qt5/plugins/kf5/sonnet", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat("/usr/lib/x86_64-linux-gnu/qt5/plugins/kf5/sonnet/hspell.so", {st_mode=S_IFREG|0644, st_size=77256, ...}) = 0
open("/usr/lib/x86_64-linux-gnu/qt5/plugins/kf5/sonnet/hspell.so", O_RDONLY|O_CLOEXEC) = 11
open("/usr/lib/x86_64-linux-gnu/qt5/plugins/kf5/sonnet/hspell.so", O_RDONLY|O_CLOEXEC) = 11
lstat("/usr/lib/x86_64-linux-gnu/qt5/plugins/kf5/sonnet", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat("/usr/lib/x86_64-linux-gnu/qt5/plugins/kf5/sonnet/hunspell.so", {st_mode=S_IFREG|0644, st_size=23144, ...}) = 0
open("/usr/lib/x86_64-linux-gnu/qt5/plugins/kf5/sonnet/hunspell.so", O_RDONLY|O_CLOEXEC) = 11
open("/usr/lib/x86_64-linux-gnu/qt5/plugins/kf5/sonnet/hunspell.so", O_RDONLY|O_CLOEXEC) = 11
stat("/usr/bin/kf5/sonnet", 0x7ffc00d30e20) = -1 ENOENT (No such file or directory)
stat("/usr//usr/lib/x86_64-linux-gnu/qt5/plugins/kf5/sonnet", 0x7ffc00d30e20) = -1 ENOENT (No such file or directory)
stat("/home/pino/.local/share/kf5/sonnet/trigrams.map", 0x7ffc00d315f0) = -1 ENOENT (No such file or directory)
stat("/home/pino/localroot/share/kf5/sonnet/trigrams.map", 0x7ffc00d315f0) = -1 ENOENT (No such file or directory)
stat("/usr/local/share/kf5/sonnet/trigrams.map", 0x7ffc00d315f0) = -1 ENOENT (No such file or directory)
stat("/usr/share/kf5/sonnet/trigrams.map", {st_mode=S_IFREG|0644, st_size=269584, ...}) = 0
open("/usr/share/kf5/sonnet/trigrams.map", O_RDONLY|O_CLOEXEC) = 11

As you can see, it finds (and then loads) all the plugins. If it does
not for you, then please attach a complete (not just one line) output of
strace.

Thanks,

#793740#30
Date:
2016-01-08 13:08:12 UTC
From:
To:
Hey,

Alright, running kwrite with::

  LANGUAGE=en LANG=en kwrite

works (with spotty highlighting for auto-check, but yeah).
My locale says::

  LANG=en_GB.utf8
  LANGUAGE=en_GB:en

however.  I installed everything (on a clean slate Debian testing
machine) by saying::

  aptitude install kwrite sonnet-plugins aspell-en hunspell-en-gb \
    kde-cli-tools libqt5xcbqpa5

Note, I'm not running a KDE environment, hence the 'libqt5xcbqpa5'
package.  I'm simply using kwrite in XFCE (not even that's entirely
true, as I'm reporting this bug for somebody else :).

The kde-cli-tools report failure, too::

  $ kcmshell5 spellchecking
  Could not find module 'spellchecking'. See kcmshell5 --list for the full list of modules.

Nevertheless, I did a complete purge and reinstall cycle, even went so
far as to install 'plasma-framework' (I have no stomach to try
task-kde-desktop).  However, none of the above changed.

Hypothesis: hunspell is never asked.
Supporting: Removing aspell-en yields the same behaviour as before,
this time with

  No language dictionaries for the language: "en"

in the terminal.

Also:

Yes.  Yes, it does.  My point was, however, that a '/usr//usr/' path
anywhere can't be healthy.  But it can possibly safely be ignored, I
wouldn't know.

Thanks!

#793740#35
Date:
2016-01-08 16:57:00 UTC
From:
To:
Hi,

In data venerdì 8 gennaio 2016 14:08:12, Hagen Fuchs ha scritto:

Those are indeed useful details to know.

This seems to be in plasma-desktop. Nevermind though, you should be
able to see the available dictionaries in kwrite itself, via:
Tools -> Spelling -> Change dictionary...
(a combobox with the dictionaries list will appear on the bottom, on
the place of the status bar)

If the plugins for the current language are loaded from the current
paths, these can be ignored.

In any case, I need the strace log to check which languages are checked
in the setup (where no plugins are loaded) you described above.

Thanks,

#793740#40
Date:
2022-04-09 03:30:31 UTC
From:
To:
Dear Maintainer,

It's been years and years and years, and kate is *still* looking for
/usr/share/hspell/hebrew.wgz.sizes (I have wamerican or iamerican
installed, maybe the Hspell dictionary for American English too, and my
expectation is that it would check to see if *your locale's*
dictionaries are installed, Hebrew is not a sane default). My worry is
that the KDE spell-checking component is unmaintained, because if the
problem's been around since 2015 and reported everywhere under the sun,
and nothing has been done about it...

#793740#45
Date:
2023-05-13 10:15:14 UTC
From:
To:
Having both `hspell` and `sonnet-plugins` installed will at least get rid of
Hspell error messages.*

* On Debian 12. Didn't test if it changes/fixes/breaks anything else.
Hspell: can't open /usr/share/hspell/hebrew.wgz.sizes.
kf.sonnet.clients.hspell: HSpellDict::HSpellDict: Init failed