Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
astrowander opened this issue Feb 3, 2018 · 4 comments

Comments

@astrowander
Copy link

Здравствуйте, Илья!
Я собрал все компоненты по инструкции и пытаюсь запустить 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
Copy link
Author

Разобрался с проблемой самостоятельно. Но все-таки хотелось бы понять, почему так произошло. В папке 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
Copy link
Owner

Koziev commented Feb 11, 2018

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

@astrowander
Copy link
Author

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

@Koziev
Copy link
Owner

Koziev commented Feb 13, 2018

На всякий случай я убрал 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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants