Как скомпилировать WordNet-3.0 в Ubuntu 17.10? - PullRequest
0 голосов
/ 04 мая 2018

Мне нужно установить и работать с WordNet (текущая версия 3.0) в моем дистрибутиве Ubuntu 17.10. Я установил все зависимости (tcl / tk) и, следуя инструкциям разработчиков, следую обычному ./configure make make install

процесс.

Я разархивировал пакет, и когда внутри каталога я набираю ./configure.sh, он работает без ошибок:

WordNet is now configured Installation directory: /usr/local/WordNet-3.0

и т.д.

Когда я сейчас запускаю make, я получаю:

compilation terminated.
Makefile:267: recipe for target 'libWN_a-binsrch.o' failed
make[3]: *** [libWN_a-binsrch.o] Error 1
make[3]: Leaving directory '/home/user/WordNet/WordNet-3.0/lib'
Makefile:372: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory '/home/user/WordNet/WordNet-3.0/lib'
Makefile:218: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/user/WordNet/WordNet-3.0'
Makefile:156: recipe for target 'all' failed
make: *** [all] Error 2

Если я бегу sudo make Я получаю:

compilation terminated.
Makefile:273: recipe for target 'wishwn-tkAppInit.o' failed
make[2]: *** [wishwn-tkAppInit.o] Error 1
make[2]: Leaving directory '/home/user/WordNet/WordNet-3.0/src'
Makefile:218: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/user/WordNet/WordNet-3.0'
Makefile:156: recipe for target 'all' failed
make: *** [all] Error 2

(та же ошибка, что и при вводе make снова, после и после sudo make).

В распространенных текстах программы README и INSTALL я не нашел соответствующей информации.

Есть идеи?

Спасибо!

1 Ответ

0 голосов
/ 04 мая 2018

WordNet 3.0, кажется, обращается к внутренностям Tcl устарелым способом (interp->result).

Попробуйте скомпилировать с CFLAGS=-DUSE_INTERP_RESULT make - это разрешит устаревший доступ к interp->result.

со страницы руководства :

Для устаревших программ и расширений, которые больше не поддерживаются, компиляция с заголовочными файлами Tcl 8.6 возможна только с директивами компилятора

#define USE_INTERP_RESULT

и / или

#define USE_INTERP_ERRORLINE

в зависимости от того, какие поля структуры Tcl_Interp доступны. Эти директивы могут быть встроены в код или предоставлены через опции компилятора.

...