Koziev / GrammarEngine

Грамматический Словарь Русского Языка (+ английский, японский, etc)
MIT License
75 stars 20 forks source link

Проблемы с линковкой при запуске SimpleGREN #13

Open astrowander opened 6 years ago

astrowander commented 6 years ago

Здравствуйте, Илья! Я собрал все компоненты по инструкции и пытаюсь запустить SimpleGREN. В результате чего получаю следующую ошибку: ./test Loading dictionary ../../../../../bin-linux64/dictionary.xml ... ./test: symbol lookup error: /home/astrowander/Qt/Projects/legionary/GrammarEngine/src/lib64/libgren.so: undefined symbol: _ZN7Solarix13SG_BogusEntryC1Ev

Видимо, что-то не так слинковалось, но я не могу понять что именно неправильно. Надеюсь на вашу помощь.

astrowander commented 6 years ago

Разобрался с проблемой самостоятельно. Но все-таки хотелось бы понять, почему так произошло. В папке src/lib64 сгенерились две библиотеки: libgren.so и solarix_grammar_engine.so. Если линковаться с libgren, то получим несколько сообщений вида ../../../../../lib64/libgren.so: undefined reference to `Solarix::SG_Entry::PrepareAfterLoadingFromDatabase(Solarix::SynGram&)' Если линковаться с solarix_grammar_engine.so, то будет ошибка, как в посте. Решение, которое мне помогло - переименовать solarix_grammar_engine.so в libgren.so.

Koziev commented 6 years ago

Добрый день, Алексей, спасибо за сообщение о проблеме. Был немного загружен другими делами, поэтому не смог оперативно помочь, к сожалению. Подскажите, пожалуйста, даты создания файлов у этих двух *.so совпадают?

astrowander commented 6 years ago

Ничего страшного, workaround я ведь нашёл. Нет, даты не совпадают, libgren создан почти на два часа раньше,и занимает на 100 кб меньше, чем solarix_grammar_engine. Как я понимаю, это как раз те недостающие функции.

Koziev commented 6 years ago

На всякий случай я убрал solarix_grammar_engine.so из репозитория, чтобы не путаться с результатами работы CMake.

Сделал сейчас на убунте v.16 полную пересборку всех бинарников через cmake .. && make, все штатно, потом https://github.com/Koziev/GrammarEngine/blob/master/src/demo/ai/solarix/Grammar_Engine/SimpleGREN/build.sh - собралось не пикнув, запустилось... Видимо, какой-то неучтенный фактор может влиять на сборку и приводить к #13