Помогите, пожалуйста, даже не знаю в какую сторону копать.
Необходимо на Red Hat 7.2 (без обновлений, прямо из коробки) запустить GDB последней версии (6.6). Такое вообще возможно?
Пробовал скомпилировать у себя в Ubuntu статический бинарик. Принес на Red Hat 7.2, запустил, он мне выдал "FATAL: Kernel too old" и аварийно завершился.
На самом Red Hat 7.2 он компилироваться не хочет.
Подскажите, пожалуйста, можно ли как-нибудь все-таки получить рабочий бинарик, или, может быть, в сети есть сборки под очень старые дистрибутивы?
Сборка приложений под старые дистрибутивы
Модератор: Модераторы разделов
-
KonishchevDmitry
- Сообщения: 92
- ОС: Ubuntu
-
v04bvs
- Сообщения: 636
- ОС: Debian GNU/Linux
Re: Сборка приложений под старые дистрибутивы
На самом Red Hat 7.2 он компилироваться не хочет.
пилите шура, пилите
-
Uncle_Theodore
- Сообщения: 3339
- ОС: Slackware 12.2, ArchLinux 64
Re: Сборка приложений под старые дистрибутивы
А если взять старенький gdb из архива и попытаться собрать?
http://ftp.gnu.org/gnu/gdb/
Почему нужен именно 6.6? Из-за фичей?
http://ftp.gnu.org/gnu/gdb/
Почему нужен именно 6.6? Из-за фичей?
-
KonishchevDmitry
- Сообщения: 92
- ОС: Ubuntu
Re: Сборка приложений под старые дистрибутивы
После уточнения, какая же минимальная версия подойдет, выяснилось, что достаточно любой версии 6.х.
На Red Hat'e собралась 6.1.1 (хотя некоторые версии не собираются даже в Ubuntu).
Но все-таки я так и не понял, неужели это такая проблема - собрать программу под старый дистрибутив? В чем она вообще заключается? GCC при компиляции использует возможности нового ядра в ущерб совместимости? Но в таком случае неужели нет какой-нибудь опции, запускающей процесс компиляции в режиме максимальной совместимости?
Но все-таки я так и не понял, неужели это такая проблема - собрать программу под старый дистрибутив? В чем она вообще заключается? GCC при компиляции использует возможности нового ядра в ущерб совместимости? Но в таком случае неужели нет какой-нибудь опции, запускающей процесс компиляции в режиме максимальной совместимости?
-
sergio
- Сообщения: 436
- Статус: Интересующийся новичок
- ОС: Debian GNU/Linux 4 & 5
Re: Сборка приложений под старые дистрибутивы
KonishchevDmitry писал(а): ↑14.08.2007 19:34Но все-таки я так и не понял, неужели это такая проблема - собрать программу под старый дистрибутив? В чем она вообще заключается? GCC при компиляции использует возможности нового ядра в ущерб совместимости? Но в таком случае неужели нет какой-нибудь опции, запускающей процесс компиляции в режиме максимальной совместимости?
Пальцем в небо:
Сам GCC - вряд ли. А вот GDB - очень даже может быть. И стдлиб - может быть.
Пробовал скомпилировать у себя в Ubuntu статический бинарик. Принес на Red Hat 7.2, запустил, он мне выдал "FATAL: Kernel too old" и аварийно завершился.
Гуру, ау! - как обстоит дело с бинарной совместимостью приложений и ядра?
На самом Red Hat 7.2 он компилироваться не хочет.
Почему? Что говорит?
Debian GNU/Linux 4 -- AMD Athlon64 3000+ / Asus 7600GS -- Gnome
Debian GNU/Linux 5 -- Dell (Vostro) 500 (Celeron M560 / iGM965) -- Gnome
Debian GNU/Linux 5 -- Dell (Vostro) 500 (Celeron M560 / iGM965) -- Gnome
-
Uncle_Theodore
- Сообщения: 3339
- ОС: Slackware 12.2, ArchLinux 64
Re: Сборка приложений под старые дистрибутивы
Да, похоже на то.
Гуру, ау! - как обстоит дело с бинарной совместимостью приложений и ядра?
Видимо, смотря каких приложений...
gdb глубоко влазит в управление памяти, организации процессов, например, нити там всякие...
-
Civil
- Сообщения: 199
- ОС: Gentoo Current
Re: Сборка приложений под старые дистрибутивы
Но все-таки я так и не понял, неужели это такая проблема - собрать программу под старый дистрибутив
Со времён Red Hat 7.2 многое изменилось. Много багоф пофиксено, много нового привнесено. Многий софт просто требует nptl, многий мультимедийный софт на алсу перешёл, да и на ядро 2.6 некоторый завязан... Так что проблем много.
"Кто управляет прошлым, тот управляет будущим; кто управляет настоящим, тот управляет прошлым" (Д. Оруэлл "1984")
-
KonishchevDmitry
- Сообщения: 92
- ОС: Ubuntu
Re: Сборка приложений под старые дистрибутивы
Код:
gcc -c -g -O2 -I. -I.././gdb -I.././gdb/config -DLOCALEDIR="\"/usr/local/share/locale\"" -DHAVE_CONFIG_H -I.././gdb/../include/opcode -I.././gdb/../readline/.. -I../bfd -I.././gdb/../bfd -I.././gdb/../include -DMI_OUT=1 -DTUI=1 -Wimplicit -Wreturn-type -Wcomment -Wtrigraphs -Wformat -Wparentheses -Wpointer-arith -Wformat-nonliteral -Wunused-label -Wunused-function -Wuninitialized prologue-value.c
gcc -c -g -O2 -I. -I.././gdb -I.././gdb/config -DLOCALEDIR="\"/usr/local/share/locale\"" -DHAVE_CONFIG_H -I.././gdb/../include/opcode -I.././gdb/../readline/.. -I../bfd -I.././gdb/../bfd -I.././gdb/../include -DMI_OUT=1 -DTUI=1 -Wimplicit -Wreturn-type -Wcomment -Wtrigraphs -Wformat -Wparentheses -Wpointer-arith -Wformat-nonliteral -Wunused-label -Wunused-function -Wuninitialized memory-map.c
memory-map.c: In function `memory_map_end_element':
memory-map.c:147: parse error before `char'
memory-map.c:149: `end' undeclared (first use in this function)
memory-map.c:149: (Each undeclared identifier is reported only once
memory-map.c:149: for each function it appears in.)
make[2]: *** [memory-map.o] Ошибка 1
make[2]: Выход из каталог `/tmp/gdb-6.6/gdb'
make[1]: *** [all-gdb] Ошибка 2
make[1]: Выход из каталог `/tmp/gdb-6.6'
make: *** [all] Ошибка 2-
sergio
- Сообщения: 436
- Статус: Интересующийся новичок
- ОС: Debian GNU/Linux 4 & 5
Re: Сборка приложений под старые дистрибутивы
KonishchevDmitry писал(а): ↑15.08.2007 18:08Код:
gcc -c -g -O2 -I. -I.././gdb -I.././gdb/config -DLOCALEDIR="\"/usr/local/share/locale\"" -DHAVE_CONFIG_H -I.././gdb/../include/opcode -I.././gdb/../readline/.. -I../bfd -I.././gdb/../bfd -I.././gdb/../include -DMI_OUT=1 -DTUI=1 -Wimplicit -Wreturn-type -Wcomment -Wtrigraphs -Wformat -Wparentheses -Wpointer-arith -Wformat-nonliteral -Wunused-label -Wunused-function -Wuninitialized memory-map.c memory-map.c: In function `memory_map_end_element': memory-map.c:147: parse error before `char' memory-map.c:149: `end' undeclared (first use in this function) memory-map.c:149: (Each undeclared identifier is reported only once memory-map.c:149: for each function it appears in.)
Надо смотреть, что в этих 147-149 в файле...
И еще вопрос, какой компилятор там в 7.1? Современный, или тоже из 7.1?
Если тамошний - так он очень старый... для Си это не критично, как для С++, но вобщем-то тоже - стандарт в 1999-ом году принимали, а 7.1 наверное не сильно моложе. Все же кое-что менялось.
Debian GNU/Linux 4 -- AMD Athlon64 3000+ / Asus 7600GS -- Gnome
Debian GNU/Linux 5 -- Dell (Vostro) 500 (Celeron M560 / iGM965) -- Gnome
Debian GNU/Linux 5 -- Dell (Vostro) 500 (Celeron M560 / iGM965) -- Gnome