aspell dict make на windows: iso-8859-1.cset не может быть открыт для чтения
Я скомпилировал aspell с mingw64 и msys на окнах для использования с enchant и pyenchant, но у меня все еще нет никаких диктов: "aspell dump dicts" ничего не возвращает.
Сейчас я пытаюсь выполнить./configure, make и make install с помощью инструкции, полученной с http://gnu.c3sl.ufpr.br/ftp/aspell/dict/en/.
.Configure выполняется успешно, но make возвращает:
/mingw/bin/prezip-bin.exe -d < en-common.cwl | /mingw/bin/aspell.exe --lang=en create master ./en-common.rws
Error: The file "/mingw/lib/aspell-0.60/iso-8859-1.cset" can not be opened for reading.
Makefile:108: recipe for target `en-common.rws' failed
make: *** [en-common.rws] Error 1
Я уже проверил разрешения для этого файла (iso-8859-1.cset), деактивировал антивирус, выполнил msys с правами администратора, но ничего не решило проблему. Файл открывается правильно в любом текстовом редакторе.
Моя конфигурация системы для этой задачи: Windows 8.1 x64; Mingw-64 + MSYS; Aspell 0,60
Кто-нибудь может мне помочь?
Благодарю.
1 ответ
Это может быть связано с тем, как вы компилируете aspell.
Я успешно скомпилировал и запустил aspell 0.60.61 и словарь aspell6-en-7.1-0 под Windows 7 x64 в среде MSYS и gcc 4.7.0 (точнее, mingw32-4.7.0-posix-dwarf-rev0). Я еще не решил все проблемы с ним, но вот мое открытие:
Конфигурация, которую я использую:
$ ./configure --disable-shared --enable-static --enable-win32-relocatable
Когда я впервые скомпилировал aspell, я получил ошибки компиляции:
common/file_util.cpp: In function 'bool acommon::need_dir(acommon::ParmString)':
common/file_util.cpp:49:32: error: 'asc_isalpha' was not declared in this scope
поэтому я следовал этому руководству здесь (что, я думаю, вы, вероятно, также сделали), чтобы обойти эту ошибку.
Все скомпилировано и aspell может быть запущено, но затем оно продолжало давать мне пути разрешения ошибок, включая полученную ошибку или что-то вроде
Error: The file "/usr/local/lib/aspell-0.60//usr/loc`enter code here`al/lib/aspell-0.60/en_US.multi" can not be opened for reading.
(Я не сохранил исходное сообщение, но это что-то вроде этого) Я даже пытался использовать опции --data-dir, --dict-dir или --local-data-dir, но единственный раз, когда я заставил его работать, это когда я нахожусь в папке /usr/local/lib/aspell-0.60/ и устанавливаю --data-dir в./
Но так не должно быть, поэтому я оглянулся на file_util.cpp и обнаружил, что пропущенный код как-то связан с обработкой пути. Позже я обнаружил, что эта японская статья указывает на то, что asc_isalpha определен в asc_tyoe.hpp. Итак, я добавляю
#include "asc_ctype.hpp"
в file_util.cpp и перекомпилируйте aspell снова. Затем я попытался скомпилировать aspell6-en-7.1-0, на этот раз ошибки нет и словарь скомпилирован успешно.
Проблема сейчас в том, что aspell по-прежнему не может найти словари по умолчанию, он по-прежнему выдает сообщение об ошибке вроде:
Error: No word lists can be found for the language "en_US".
хотя aspell по умолчанию имеет правильный data-dir:
$ aspell config data-dir
/usr/local/lib/aspell-0.60
Но по крайней мере опция --data-dir теперь работает, поэтому я могу использовать aspell следующим образом:
$ aspell --data-dir=/usr/local/lib/aspell-0.60/ -c test.txt
Надеюсь, вы также можете решить проблему с Aspell.
Ссылка:
http://lists.gnu.org/archive/html/aspell-user/2007-10/msg00008.html
http://mikanya.dip.jp/memo/2007-09-07-1
https://www.mail-archive.com/aspell-user%40gnu.org/msg02226.html
http://osdir.com/ml/general/2014-12/msg10031.html
большое спасибо за эти статьи / веб-страницы, которые помогают мне понять, как заставить aspell работать