Russian Qt Forum

Qt => Установка, сборка, отладка, тестирование => Тема начата: Igors от Июнь 05, 2012, 16:05



Название: Установка GDB на OSX (пляски с бубном)
Отправлено: Igors от Июнь 05, 2012, 16:05
Добрый день

Имею проблемы с gdb которые возникают в одном но важном проекте. То "step over" не работает, то crash на просмотре переменных. Перебирал ключи (опции компилятора) долго но безуспешно. Решил обновить gdb. Ну скачал последний gdb-7.4 с ихнего сайта. Честно говоря когда увидел что надо "собирать" уже знал результат, но что-то делать же надо. Ладно, добросовестно прочел README, про OSX ничего не увидел. Хорошо, делаю ./configure, потом make - ну и как всегда, make успешно обосрался

Цитировать
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I. -I. -I./../include -DHAVE_mach_o_x86_64_vec -DHAVE_mach_o_i386_vec -DHAVE_mach_o_le_vec -DHAVE_mach_o_be_vec -DHAVE_mach_o_fat_vec -DHAVE_pef_vec -DHAVE_pef_xlib_vec -DHAVE_sym_vec -I./../intl -DBINDIR=\"/usr/local/bin\" -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Werror -g -O2 -MT mach-o.lo -MD -MP -MF .deps/mach-o.Tpo -c mach-o.c -o mach-o.o
cc1: warnings being treated as errors
mach-o.c: In function 'bfd_mach_o_header_p':
mach-o.c:2978: warning: 'header.reserved' may be used uninitialized in this function
make[4]: *** [mach-o.lo] Error 1
make[3]: *** [all-recursive] Error 1
make[2]: *** [all] Error 2
make[1]: *** [all-bfd] Error 2
make: *** [all] Error 2

Я понимаю что мои стенания ничего не изменят и пытаюсь рассуждать конструктивно. Вопросы к фанам командной строки:

- что я должен делать в такой ситуации? Как мне узнать что не так (может несовместимость версий но чего тогда промолчало сonfigure?) Где почерпнуть эту информацию (напр лог ошибок)?

OSX 10.6.7
GCC 4.2.1

Спасибо


Название: Re: Установка GDB на OSX (пляски с бубном)
Отправлено: GreatSnake от Июнь 05, 2012, 16:39
Под MacOS собирать самому gnu тулзы неблагородное дело)
Ставь уже готовые из fink (http://www.finkproject.org/).


Название: Re: Установка GDB на OSX (пляски с бубном)
Отправлено: kambala от Июнь 05, 2012, 22:12
gdb 7.4.1 под 10.7.4 собрался без всяких проблем с gcc 4.2.1...

информацию можно попробовать поискать в config.log

судя по сообщению об ошибке, всему виной предупреждение при компиляции (в 7.4.1 такого не наблюдается), так что можно попробовать избавиться от этого предупреждения руками, например написать header.reserved = 0 в нужной строчке в файле bfd/mach-o.c. в 7.4.1 ближайший код выглядит так:
Код
C
const bfd_target *
bfd_mach_o_header_p (bfd *abfd,
                    bfd_mach_o_filetype filetype,
                    bfd_mach_o_cpu_type cputype)
{
 struct bfd_preserve preserve;
 bfd_mach_o_header header; /* line 2978 */
 
 preserve.marker = NULL;
 if (!bfd_mach_o_read_header (abfd, &header))
   goto wrong;


Название: Re: Установка GDB на OSX (пляски с бубном)
Отправлено: Igors от Июнь 05, 2012, 23:33
Под MacOS собирать самому gnu тулзы неблагородное дело)
Ставь уже готовые из fink (http://www.finkproject.org/).
Мой Mac не должен быть в интернете, которого финк (как я понял) требует. Плюс гугление показало - у пользователей финка проблемы те же самые  :)

gdb 7.4.1 под 10.7.4 собрался без всяких проблем с gcc 4.2.1...
kambala, спасибо, это я победил (чуть по-другому, установкой СС). Также разобрался как подсунуть Xcode откомпилированный 7.4.1 (через defaults). Но увы, с Xcode 3.2.6 он не работает  :'( Выясняется что нужна "сборка под apple". Онв понимает --arch а 7.4 нет - опознает архитектуру автоматычно. Сейчас смотрю fsf gdb

Lion у меня конечно стоит на др диске, но нырять на новый Xcode не хочется..