slackware.ru
http://www.slackware.ru/forum/

FreePascal/Lazarus
http://www.slackware.ru/forum/viewtopic.php?f=8&t=2297
Страница 1 из 1

Автор:  Algierd [ 10 май 2018 14:13 ]
Заголовок сообщения:  FreePascal/Lazarus

Подскажите, как их можно собрать с полной отладочной информацией?

Автор:  bormant [ 10 май 2018 14:35 ]
Заголовок сообщения:  Re: FreePascal/Lazarus

0) зачем?

Вопрос распадается на 2 части:
1) что дополнительно указать при сборке (это про сам софт и д.б. описано в его документации),
2) как опакетить собранное (это про собственно Slackware, слакбилды есть на SBo, последние версии (fpc-3.0.4, lazarus 1.8.2) ими собираются, добавить необходимое из п (1) в сценарий сборки).

Про (1):
http://forum.lazarus.freepascal.org/ind ... #msg117259
http://wiki.freepascal.org/Extending_th ... ng_the_IDE

Автор:  Algierd [ 10 май 2018 23:15 ]
Заголовок сообщения:  Re: FreePascal/Lazarus

Цитата:
0) зачем?

Да вот Double Commander заглючил, похоже проблема в компиляторе...
Цитата:
2) как опакетить собранное (это про собственно Slackware, слакбилды есть на SBo, последние версии (fpc-3.0.4, lazarus 1.8.2) ими собираются, добавить необходимое из п (1) в сценарий сборки).

я последние версии и собирал этими сценариями, а что и как правильно там добавлять для debug'а?

Автор:  bormant [ 11 май 2018 00:23 ]
Заголовок сообщения:  Re: FreePascal/Lazarus

Даже если заглючил FPC, отлаживать нужно в первую очередь все равно Double Commander, собирать отладочную версию, искать место глюка.
Есть описание глюка, как воспроизвести, в чем проявляется?

Автор:  Algierd [ 14 май 2018 15:59 ]
Заголовок сообщения:  Re: FreePascal/Lazarus

gtk-версия не заходит в архивы, пишет Access violation. Собрал DC в дебаг-режиме, снял дамп, но это не сильно помогает, автор просит собрать компилятор в отладочном режиме т.к проблема по видимому в нём.

Автор:  bormant [ 14 май 2018 17:52 ]
Заголовок сообщения:  Re: FreePascal/Lazarus

Цитата:
gtk-версия не заходит в архивы, пишет Access violation
В любые архивы или какие-то конкретные нужны для воспроизведения?

Цитата:
автор просит собрать компилятор в отладочном режиме
И инструкции, наверное, какие-то предлагает, нет?

Автор:  Algierd [ 20 май 2018 19:25 ]
Заголовок сообщения:  Re: FreePascal/Lazarus

bormant писал(а):
И инструкции, наверное, какие-то предлагает, нет?

Предложил.

1) FreePascal заменить строчку

Код:
make build NOGDB=1


на

Код:
make build NOGDB=1 OPT="-dDEBUG -gw2 -godwarfsets -gl -gh -O-"


2) Lazarus после строки

Код:
LCL=${LCL:-gtk2}


Код:
OPT="-dDEBUG -gw2 -godwarfsets -gl -gh -O-"


Паскаль собрался, а вот Лазарус нет:

Код:
make[1]: выход из каталога «/tmp/SBo/lazarus/components/chmhelp/lhelp»
make: неверный ключ — «g»
make: неверный ключ — «2»
make: неверный ключ — «g»
make: неверный ключ — «g»
make: неверный ключ — «g»
Использование: make [КЛЮЧ]... [ЦЕЛЬ]...
Ключи:
  -b, -m                      Игнорируется для совместимости.
  -B, --always-make           Без условий отрабатывать все цели.
  -C КАТАЛОГ, --directory=КАТАЛОГ
                              Перейти в КАТАЛОГ перед выполнением действий.
  -d                          Выводить массу отладочных сообщений.
  --debug[=ФЛАГИ]             Выводить различные типы отладочной информации.
  -e, --environment-overrides
                              Переменные окружения заменяют значения makefile.
  --eval=СТРОКА               Вычислить СТРОКУ как предложение makefile.
  -f ФАЙЛ, --file=ФАЙЛ, --makefile=ФАЙЛ
                              Использовать ФАЙЛ в качестве makefile.
  -h, --help                  Показать эту справку и выйти.
  -i, --ignore-errors         Игнорировать ошибки способов.
  -I КАТАЛОГ, --include-dir=КАТАЛОГ
                              Искать включаемые make-файлы в КАТАЛОГЕ.
  -j [N], --jobs[=N]          Запускать одновременно до N заданий;
                              если N не указано, число заданий неограничено.
  -k, --keep-going            Продолжать работу, даже если некоторые цели
                              не могут быть достигнуты.
  -l [N], --load-average[=N], --max-load[=N]         Не запускать
                               несколько заданий, если загрузка больше N.
  -L, --check-symlink-times   Использовать последнее mtime при выборе между
                              символическими ссылками и целью.
  -n, --just-print, --dry-run, --recon
                              Не применять способ на самом деле; просто
                              напечатать его.
  -o ФАЙЛ, --old-file=ФАЙЛ, --assume-old=ФАЙЛ
                              Считать ФАЙЛ очень старым и не переделывать его.
  -O[ТИП], --output-sync[=ТИП]
                              Синхронизировать вывод параллельных
                              заданий с типом ТИП.
  -p, --print-data-base       Напечатать внутреннюю базу данных make.
  -q, --question              Не применять способ;
                              код завершения показывает, всё ли уже сделано.
  -r, --no-builtin-rules      Не использовать встроенные неявные правила.
  -R, --no-builtin-variables   Выключить установку встроенных
                              значений переменных.
  -s, --silent, --quiet        Не показывать сами способы.
  -S, --no-keep-going, --stop
                              Отменить ключ -k.
  -t, --touch                 Установить время доступа целей в текущее,
                              а не пересобирать их.
  --trace                     Выводить трассировочную информацию.
  -v, --version               Показать информацию о версии и выйти.
  -w, --print-directory       Напечатать текущий каталог.
  --no-print-directory        Отменить ключ -w, даже если он был явно указан.
  -W ФАЙЛ, --what-if=ФАЙЛ, --new-file=ФАЙЛ, --assume-new=ФАЙЛ
                              Считать ФАЙЛ всегда новым.
  --warn-undefined-variables  Выдавать предупреждение при ссылке
                              на неопределённую переменную.

Эта программа собрана для i586-slackware-linux-gnu
Сообщайте об ошибках по адресу <bug-make@gnu.org>


тогда заменил в

Код:
OPT=${OPT}


на

Код:
OPT="-dDEBUG -gw2 -godwarfsets -gl -gh -O-"


собралось, но смущает небольшой размер отладочного пакета, 136 метров против 177 при обычной оптимизации. Собрал бинарник dc и плагин в дебагмод, но автор говорит, что в backtrace по прежнему одни адреса :du_ma_et: Видимо с Лазарусом что-то не так сконпелялось всё-таки...

Автор:  Ne01eX [ 31 май 2018 00:15 ]
Заголовок сообщения:  Re: FreePascal/Lazarus

Сборочные скрипты на slackbuilds.org точно собирают _всё_что_нужно_? Зимой я пробовал собирать fpc и у меня возникали какие-то вопросы на сей счёт, но потом я понял, что мне это не нужно. А теперь уже и не помню, что именно мне тогда не понравилось... :-\

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/