libc - чудеса!
Модератор: Модераторы
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')) - штатно;
Поискал на форуме - ответы в основном сводятся к проверке путей к либам.
Кто-нить сталкивался?
Начал перетаскивать проекты с 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')) - штатно;
Поискал на форуме - ответы в основном сводятся к проверке путей к либам.
Кто-нить сталкивался?
вы когда ставили себе 0.9.28 содержимое ~/.lazarus меняли?
Руками - ничего не менял. Я так понимаю, что этот каталог заполняется при первом старте Lazarus и менятся при пересборке/изменении параметров КДЕ и т.д.
Владимир писал(а):Руками - ничего не менял. Я так понимаю, что этот каталог заполняется при первом старте Lazarus
Если его не существует то в версиях 0.9.26-0.9.28 да, в других версиях, особенно в более ранних, вроде нет. На сколько я знаю, начиная с 0.9.26 дефолтные конфиги из /etc/lazarus при первом старте лазаря переносятся в ~/.lazarus, если этого каталога нет.
Владимир писал(а): и менятся при пересборке/изменении параметров КДЕ и т.д.
нет, меняются если изменили настройки лазаря, при выходе из него.
попробуйте переместить ~/.lazarus куда-нибудь типа ~/backup и запустить лазаря, ну а потом уже снова поиграться с вашим проектом.
Попробовал - та же песня.
Добавлено спустя 4 часа 22 минуты 31 секунду:
Господа-граждане, я, конечно, могу отключать libc, править код, потом включать libc - но это как-то неправильно...
Чего делать-то? Ждать нового релиза?
Добавлено спустя 4 часа 22 минуты 31 секунду:
Господа-граждане, я, конечно, могу отключать libc, править код, потом включать libc - но это как-то неправильно...
Чего делать-то? Ждать нового релиза?
Моё мнение: что то у Вас не так с установкой лазаря в системе. Вчера проверял у себя (ALT Linux p5) на lazarus-0.9.28 - всё нормально.
FPC остался прежний? Или обновился, перекомпилировался? Суть в том, что libc, в последних версиях, при компиляции FPC не компилируется, ее нужно отдельно компилировать. Поєтому возможно, что версия модулей не совпадает общего FPC и libc.
Это одна из версий, в действии не проверял.
А так, то на пути похоже, что не указаны. Попробуйте в Compiler options > Libraries прописать путь к модулям.
Это одна из версий, в действии не проверял.
А так, то на пути похоже, что не указаны. Попробуйте в Compiler options > Libraries прописать путь к модулям.
fpc 2.2.4
Спасибо, но вроде все прописано, тем не менее попробую...
Обращаю внимание - ф-ции libc по факту работают! Вот что непонятно!
Спасибо, но вроде все прописано, тем не менее попробую...
Обращаю внимание - ф-ции libc по факту работают! Вот что непонятно!
Поставил libc, - дополнительно пути прописывать не пришлось, но модули нужно откомпилировать тем fpc, что и остальные от fpc и Lazarus 0.9.28.
Попробуйте нажать кнопочку Environment | Rescan FPC source directory
мне иногда помогало
мне иногда помогало
Logo писал(а):Поставил libc, - дополнительно пути прописывать не пришлось, но модули нужно откомпилировать тем fpc, что и остальные от fpc и Lazarus 0.9.28.
Спасиб, но непонятно. Поподробнее можно?
Заходим в каталог 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, именно к тем, которые мы компилировали.
Комплируем - 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, именно к тем, которые мы компилировали.
Logo а подскажите , что это за файл или папка ззсч64 в команде make clean all PP=/usr/local/lib/fpc/2.3.1/ppcx64. У меня под ubuntu нет такой. Эта команда не проходит.
А еще вопросик а как собрать этот модуль под windows?
А еще вопросик а как собрать этот модуль под windows?
dionic
ззсч64 - у меня тоже нет. Наверное у нас Убунта не Убунтнутая
а ppc386 есть? -впишите ее.
>А еще вопросик а как собрать этот модуль под windows?
А кто его знает, наверное аналогично, только пути нужно Виндовсовские указать.
ззсч64 - у меня тоже нет. Наверное у нас Убунта не Убунтнутая
а ppc386 есть? -впишите ее.
>А еще вопросик а как собрать этот модуль под windows?
А кто его знает, наверное аналогично, только пути нужно Виндовсовские указать.
Владимир писал(а):Logo писал(а):Поставил libc, - дополнительно пути прописывать не пришлось, но модули нужно откомпилировать тем fpc, что и остальные от fpc и Lazarus 0.9.28.
Спасиб, но непонятно. Поподробнее можно?
Подробней? Багу вешать сборщику такого пакета. fpc криво собран, вот и всё.
