libc - чудеса!

Вопросы программирования и использования среды Lazarus.

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

Владимир
постоялец
Сообщения: 355
Зарегистрирован: 23.08.2007 19:48:39
Откуда: Москва

libc - чудеса!

Сообщение Владимир »

Всем доброго!
Начал перетаскивать проекты с 0.9.24 на 0.9.28 (GTK2)- получил проблему c libc:
стоит подключить ее в uses - при попытке войти из инспектора в существующий обработчик какого-либо события, получаю Error
"Не найден исходный код модуль /usr/local/lib/fpc/2.2.4/units/i386-linux/libc/libc.ppu" - хотя он там присутствует.
Со второй попытки из инспектора нормально попадаю в обработчик.
Если пытаться из инспектора создать новый обработчик - получаю "Невозможно найти метод. Исправьте ошибки в окне сообщений".
При отключении libc все работает нормально...
Самое веселое, что функционал libc вроде работает - проверял libc.system(PChar('echo > /nome/filename')) - штатно;
Поискал на форуме - ответы в основном сводятся к проверке путей к либам.
Кто-нить сталкивался?
Аватара пользователя
AShen
постоялец
Сообщения: 155
Зарегистрирован: 26.08.2005 10:22:44
Откуда: Новороссийск

Сообщение AShen »

вы когда ставили себе 0.9.28 содержимое ~/.lazarus меняли?
Владимир
постоялец
Сообщения: 355
Зарегистрирован: 23.08.2007 19:48:39
Откуда: Москва

Сообщение Владимир »

Руками - ничего не менял. Я так понимаю, что этот каталог заполняется при первом старте Lazarus и менятся при пересборке/изменении параметров КДЕ и т.д.
Аватара пользователя
AShen
постоялец
Сообщения: 155
Зарегистрирован: 26.08.2005 10:22:44
Откуда: Новороссийск

Сообщение AShen »

Владимир писал(а):Руками - ничего не менял. Я так понимаю, что этот каталог заполняется при первом старте Lazarus

Если его не существует то в версиях 0.9.26-0.9.28 да, в других версиях, особенно в более ранних, вроде нет. На сколько я знаю, начиная с 0.9.26 дефолтные конфиги из /etc/lazarus при первом старте лазаря переносятся в ~/.lazarus, если этого каталога нет.

Владимир писал(а): и менятся при пересборке/изменении параметров КДЕ и т.д.

нет, меняются если изменили настройки лазаря, при выходе из него.

попробуйте переместить ~/.lazarus куда-нибудь типа ~/backup и запустить лазаря, ну а потом уже снова поиграться с вашим проектом.
Владимир
постоялец
Сообщения: 355
Зарегистрирован: 23.08.2007 19:48:39
Откуда: Москва

Сообщение Владимир »

Попробовал - та же песня.

Добавлено спустя 4 часа 22 минуты 31 секунду:
Господа-граждане, я, конечно, могу отключать libc, править код, потом включать libc - но это как-то неправильно...
Чего делать-то? Ждать нового релиза?
Аватара пользователя
AShen
постоялец
Сообщения: 155
Зарегистрирован: 26.08.2005 10:22:44
Откуда: Новороссийск

Сообщение AShen »

Моё мнение: что то у Вас не так с установкой лазаря в системе. Вчера проверял у себя (ALT Linux p5) на lazarus-0.9.28 - всё нормально.
Logo
постоялец
Сообщения: 464
Зарегистрирован: 20.08.2008 01:00:47

Сообщение Logo »

FPC остался прежний? Или обновился, перекомпилировался? Суть в том, что libc, в последних версиях, при компиляции FPC не компилируется, ее нужно отдельно компилировать. Поєтому возможно, что версия модулей не совпадает общего FPC и libc.

Это одна из версий, в действии не проверял.
А так, то на пути похоже, что не указаны. Попробуйте в Compiler options > Libraries прописать путь к модулям.
Владимир
постоялец
Сообщения: 355
Зарегистрирован: 23.08.2007 19:48:39
Откуда: Москва

Сообщение Владимир »

fpc 2.2.4
Спасибо, но вроде все прописано, тем не менее попробую...
Обращаю внимание - ф-ции libc по факту работают! Вот что непонятно!
Logo
постоялец
Сообщения: 464
Зарегистрирован: 20.08.2008 01:00:47

Сообщение Logo »

Поставил libc, - дополнительно пути прописывать не пришлось, но модули нужно откомпилировать тем fpc, что и остальные от fpc и Lazarus 0.9.28.
Аватара пользователя
Shleps
постоялец
Сообщения: 194
Зарегистрирован: 14.06.2006 20:25:14
Контактная информация:

Сообщение Shleps »

Попробуйте нажать кнопочку Environment | Rescan FPC source directory
мне иногда помогало
Владимир
постоялец
Сообщения: 355
Зарегистрирован: 23.08.2007 19:48:39
Откуда: Москва

Сообщение Владимир »

Logo писал(а):Поставил libc, - дополнительно пути прописывать не пришлось, но модули нужно откомпилировать тем fpc, что и остальные от fpc и Lazarus 0.9.28.

Спасиб, но непонятно. Поподробнее можно?
Logo
постоялец
Сообщения: 464
Зарегистрирован: 20.08.2008 01:00:47

Сообщение Logo »

Заходим в каталог fpc - fpc-2.4.x/packages/libc
Комплируем - make clean all PP=/usr/local/lib/fpc/2.3.1/ppcx64
В зависимости от платформы, у нас появится папка:
fpc-2.4.x/packages/libc/units/i386-linux
или
fpc-2.4.x/packages/libc/units/x86_64-linux
или другая, в зависимости от платформы.
Содержимое этой папки скопируйте в папку с юнитами fpc, напимер:
/usr/local/lib/fpc/2.3.1/units/x86_64-linux/libc
---------------
В Lazarus можно попробовать прописать путь к этому каталогу:
Compiler options/ Other Unit Files (-Fu);
В Other Sources, писать не нужно, оно берет путь из IDE Options/ FPC Source directory(меню Environment>Options). Здесь должен быть корректный путь к исходникам fpc, именно к тем, которые мы компилировали.
dionic
новенький
Сообщения: 90
Зарегистрирован: 17.06.2009 21:00:08

Сообщение dionic »

Logo а подскажите , что это за файл или папка ззсч64 в команде make clean all PP=/usr/local/lib/fpc/2.3.1/ppcx64. У меня под ubuntu нет такой. Эта команда не проходит.
А еще вопросик а как собрать этот модуль под windows?
Logo
постоялец
Сообщения: 464
Зарегистрирован: 20.08.2008 01:00:47

Сообщение Logo »

dionic
ззсч64 - у меня тоже нет. Наверное у нас Убунта не Убунтнутая :roll:
а ppc386 есть? -впишите ее.
>А еще вопросик а как собрать этот модуль под windows?
А кто его знает, наверное аналогично, только пути нужно Виндовсовские указать.
Аватара пользователя
AShen
постоялец
Сообщения: 155
Зарегистрирован: 26.08.2005 10:22:44
Откуда: Новороссийск

Сообщение AShen »

Владимир писал(а):
Logo писал(а):Поставил libc, - дополнительно пути прописывать не пришлось, но модули нужно откомпилировать тем fpc, что и остальные от fpc и Lazarus 0.9.28.

Спасиб, но непонятно. Поподробнее можно?


Подробней? Багу вешать сборщику такого пакета. fpc криво собран, вот и всё.
Ответить