Сборка FPC IDE с возможностью отладки

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

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

Сборка FPC IDE с возможностью отладки

Сообщение mdimich » 03.12.2007 12:10:18

Помогите пожалуйста разрешить такую проблему: не могу скомпилить IDE для Free Pascal 2.2.0 с поддержкой дебагера. Т.е. возможности отладки в IDE заблокированы, появляется сообщение "No debugger support available".

При сборке из исходных текстов, наблюдаю такую картину:
make[2]: Entering directory `/var/tmp/portage/dev-lang/fpc-ide-2.2.0/work/fpcbuild-2.2.0/fpcsrc/ide'
LibGDB not found
LIBGDBFILE=
GDBLIBDIR=../libgdb/linux

Внимательное изучение makefile показало, что идет проверка на наличие файла libgdb.a Однако такого файла в системе найти не удалось, в то время как gdb версии 6.7.1 установлен и работает. Файл с созвучным названием, был найден только тут: /usr/lib64/libgdbm.a Возможно, что у меня какой-то неправильный gdb или собрал я его неправильно.

Однако был поставлен эксперимент, суть которого в следующем: во время работы emerge fpc-ide, после распаковки архива с исходниками, а именно появления сообщения ">>> Source unpacked.", процесс компиляции останавливался Ctrl-Z, создавались отсутствующие папки libgdb/linux в каталоге с исходниками, туда помещался файл libgdbm.a с именем libgdb.a, после чего компиляция возобновлялась. В результате я больше не видел сообщения make о том, что "LibGDB was not found, IDE has no Debugger support", напротив при компиляции пишется, что: "LibGDB found in ../libgdb/linux/libgdb.a" и IDE собирается с поддержкой дебагера. Я не планировал получить работоспособную IDE, т.к. libgdm.a в моем случае просто муляж, но я так и не избавился от того-же сообщения IDE при попытке начать отладку "No debugger support available".

Вопрос: сталкивался ли кто с этой проблемой на 64-разрядных linux-системах? Что это за файл libgdm.a? Как мне его заиметь? Какие вообще есть идеи, как заставит в IDE работать отладку?

ОС: Gentoo linux, 2007.0, ядро 2.6.21, x86_64

upd: Ситуация получается такая: скорее всего у меня неправильная версия gdb. А именно, скорее всего нужна более ранняя версия gdb, чем у меня. Но какая? Дегрейд на более древнюю версию сопряжен с рядом трудностей, а именно, с тем, что у меня в портежах есть ебилды для версий gdb-6.6-r2, gdb-6.7 и gdb-6.7.1. Установка 6.6-r2 проблемы не решила, libgdb.a как небыло так и нет. Всвязи с этим, просьба к вам: если у вас отладка работает, посмотрите, какой версии gdb установлен?
mdimich
новенький
 
Сообщения: 29
Зарегистрирован: 03.12.2007 11:24:03

Сообщение AShen » 06.12.2007 12:31:13

1) Не всякий отладчик из системы пойдёт для fpc-ide. Смотри на их сайте какие версии отладчиков можно использовать.
2) В репозитарии alt linux'а fpc собран с поддержкой отладчика в ide:
ftp://ftp.altlinux.ru/pub/distributions ... les/SRPMS/
Аватара пользователя
AShen
постоялец
 
Сообщения: 155
Зарегистрирован: 26.08.2005 10:22:44
Откуда: Новороссийск

Сообщение mdimich » 07.12.2007 15:32:15

Что-то ничего я так и не нашел на их сайте, относительно рекомендаций к версии gdb. Однако шаловливые ручки таки нашли решение. Приведу его, вдруг гентушникам пригодится:

1. Соберем gdb не устанавливая его, ручками. Т.к. у меня стоит gdb версии 6.6, то собирать будем такую-же версию:
Код: Выделить всё
tar jxvf /usr/portage/distfiles/gdb-6.6.tar.bz2 -C .
cd gdb-6.6
./configure
make

2. От рута начнем установку пакета fpc-ide, но после сообщения emerge о распаковке архива с исходниками, приостановим процесс Ctrl-Z:
Код: Выделить всё
emerge fpc-ide

dimich # emerge fpc-ide
Calculating dependencies... done!
>>> Verifying ebuild Manifests...

>>> Emerging (1 of 1) dev-lang/fpc-ide-2.2.0 to /
* fpcbuild-2.2.0.tar.gz MD5 RMD160 SHA1 SHA256 size ;-) ... [ ok ]
* checking ebuild checksums ;-) ... [ ok ]
* checking auxfile checksums ;-) ... [ ok ]
* checking miscfile checksums ;-) ... [ ok ]
* checking fpcbuild-2.2.0.tar.gz ;-) ... [ ok ]
>>> Unpacking source...
>>> Unpacking fpcbuild-2.2.0.tar.gz to /var/tmp/portage/dev-lang/fpc-ide-2.2.0/work
>>> Source unpacked.

[1]+ Stopped emerge fpc-ide


3. Убедим make, что нам, все-таки нужен debug, и gdb у нас имеется:
Код: Выделить всё
mkdir /var/tmp/portage/dev-lang/fpc-ide-2.2.0/work/fpcbuild-2.2.0/fpcsrc/libgdb
mkdir /var/tmp/portage/dev-lang/fpc-ide-2.2.0/work/fpcbuild-2.2.0/fpcsrc/libgdb/linux
cp gdb/libgdb.a /usr/lib64/
cp /usr/lib64/libgdb.a /var/tmp/portage/dev-lang/fpc-ide-2.2.0/work/fpcbuild-2.2.0/fpcsrc/libgdb/linux/
echo "{\$define GDB_V606}" > /var/tmp/portage/dev-lang/fpc-ide-2.2.0/work/fpcbuild-2.2.0/fpcsrc/packages/base/gdbint/gdbver.inc
cp gdb/gdb_expat.h /usr/include/


4. Возобновим выполнение emerge:
Код: Выделить всё
fg 1


5. Удалим за собой мусор:
Код: Выделить всё
cd ..
rm -rf gdb-6.6


Все. Теперь IDE будет собрана с поддержкой дебагера, и он как ни странно работать будет :) Однако, стабильности это действо не прибавило, и у меня, например, несколько раз зависала сама ide при попытке снять отлаживаемую программу по Ctrl-F2. Может, еще что выплывет, кто знает, но пока - полет нормальный.

Есть другие идеи - дайте знать пожалуйста.
mdimich
новенький
 
Сообщения: 29
Зарегистрирован: 03.12.2007 11:24:03

Re: Сборка FPC IDE с возможностью отладки

Сообщение alex_alex_alex1 » 02.11.2013 19:45:56

Вообще вопрос сборки Free Pascal IDE с отладчиком достаточно сложный, нужно наложить несколько патчей, да и сама сборка непроста, но существует src.rpm, где можно ознакомиться как он собирается, а также воспользоваться готовым rpm пакетом, который работает в Магее, Федоре и Альт Линукс: http://code.google.com/p/fp-ide-ru . И неважно какой отладчик будет в системе, в IDE он вшит железно.
alex_alex_alex1
постоялец
 
Сообщения: 197
Зарегистрирован: 15.10.2010 14:08:50

Re: Сборка FPC IDE с возможностью отладки

Сообщение alex_alex_alex1 » 23.12.2018 14:00:53

Теперь fp работает с внешним отладчиком.
alex_alex_alex1
постоялец
 
Сообщения: 197
Зарегистрирован: 15.10.2010 14:08:50


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

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

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

Рейтинг@Mail.ru