Ошибка линковки linker: /usr/bin/ld: невозможно найти -lXtst

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

Ошибка линковки linker: /usr/bin/ld: невозможно найти -lXtst

Сообщение ssnakess » 31.07.2023 17:20:01

Подключил к проекту пакет - lazmouseandkeyinput
и получаю вот такую вот ошибку
Код: Выделить всё
Warning: linker: /usr/bin/ld: невозможно найти -lXtst: Нет такого файла или каталога
project1.lpr(26,1) Error: Error while linking


Сам пакет компилируется без ошибок.
Если исключить пакет - то проект компилируется без ошибок.
т.е. ошибка возникает именно когда этот пакет lazmouseandkeyinput, подключается.
причем можно ничего из него не использовать, т.е. нигде в uses, даже в lpr закоментировать
и всеравно такая вот ошибки при линковке проекта.

Подскажите, пожалуйста, что это за ошибка, и как её исправить?

Добавлено спустя 21 минуту 54 секунды:
Ура!!
Наконец таки нашел решение. Блин, пол дня рыл гугл, а надо было в яндексе спрашивать :)
Вот ответ
https://forum.lazarus.freepascal.org/index.php?topic=33067.0

Install the development package for libxtst (-dev or -devel)


оказывается надо дополнительно поставить библиотеку в линукс и именно dev или devel
ssnakess
новенький
 
Сообщения: 36
Зарегистрирован: 24.09.2011 23:08:55

Re: Ошибка линковки linker: /usr/bin/ld: невозможно найти -l

Сообщение Сквозняк » 01.08.2023 09:31:13

Ну да, в федорообразных линуксах, у которых пакеты rpm, заголовки находятся в отдельных пакетах, которые не всегда устанавливаются в систему. Для сборки паскалевских программ они обычно не нужны, т.к. у паскаля они продублированы в модулях импорта, но в твоём пакете прописан нестандартный алгоритм сборки. Но если в линуксе установить из репозитория пакет с заголовками, то он подтягивает в систему и свою библиотеку, если та не установлена.
Сквозняк
энтузиаст
 
Сообщения: 1110
Зарегистрирован: 29.06.2006 22:08:32

Re: Ошибка линковки linker: /usr/bin/ld: невозможно найти -l

Сообщение Sergei I. Gorelkin » 01.08.2023 10:30:08

Там дело не в заголовках, а в одной несчастной символьной ссылке. Линкер, когда ему передают "-lXtst', ищет 'libXtst.so', а реальная библиотека называется как-то с номером версии, например 'libXtst.so.1.0.0'. Dev-пакет при установке создает libXtst.so как ссылку на реальный файл, а все остальное его содержимое остается лежать мертвым грузом.
Аватара пользователя
Sergei I. Gorelkin
энтузиаст
 
Сообщения: 1397
Зарегистрирован: 24.07.2005 14:40:41
Откуда: Зеленоград


Вернуться в Free Pascal Compiler

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 77

Рейтинг@Mail.ru