LINUX.ORG.RU

GCC 3x сможет помочь кто-либо ?!


0

0

Я хочу поставить новый gcc 3.1, вот решил посоветоваться со знающими людьми. Меня интересует следуещее: сейчас у меня gcc 2.96, система RedHat 7.3, после конфигурации нового gcc, нужно ли изменять prefix=/usr/local/bin на /usr/bin ?! Ведь если не заменить,то после компилляции останется старый правильно это или нет, командой gcc --v, после компилляции без изменения Makefile выдает старый номер версии, ну это и понятно вроде бы, запускаеться gcc старый, если изменить prefix на /usr/bin, тогда gcc старый будет заменен на новый... Если нужно компиллировать в /usr/local/bin, то как тогда использовать новый gcc для компиллирования например ядра? Binutils. Для gcc 3.1 требовались утилиты версии >2.11.9, ладно скомпиллировал 2.13, в них возникает такой же вопрос куда компиллировать?! Либо в /usr/local/bin или /usr/bin ?! (Binutils компиллировал до gcc). Теперь вопрос о символьный ссылках. Если были символьные ссылки из /usr/include в ядро /usr/src/linux-2.4.20/... на asm, linux, и т.д. (потом я прочитал, что их вообще быть не должно для этого ядра), затем я изменил их согласно тому в каком ядре компиллировался glibc, т.е. на ядро 2.4.18, все эти изменения с сылками я сделал после компилляции gcc и binutils и вот что я получил. При компилляции ядра на новом gcc, (файл конфигурации ядра проверенный, т.е. на нем я компиллировал старое ядро в старом gcc) вся компилляция прошла успешно, но при установке модулей (make -j1 modules_install)он выдал мне кучу ошибок, на сетевый функции, файловые системы... Вот суть проблемы возникшей у меня. Жду вашей помощи.

anonymous

На всякий случай: в Red Hat 8.0 стоит нормальный gcc 3.2 (т. е. они теперь перестали извращаться с этим своим gcc 2.96RH). Мож, стоит обновить "шапку" с 7.3 на 8.0 и делу конец? Там и кернел собран с помощью этого же gcc 3.2 ...

wildhoney
()

Поставь суффикс (или как он там называется - внимательно см. вывод ./configure --help)

-3.2.2

И будет твой исполняемый файл в /usr/local/bin али в /usr/bin, но под именем gcc-3.2.2. А имеющийся в системе gcc-2.96 останется где он и был под именем gcc.

P.S. НЕ устанавливай две версии компиллятора в разные директории под одинаковыми именами. Это грозит тем, что в зависимости от значения PATH один из них использоваться НЕ БУДЕТ.

Good Luck!

Ikonta_521
()

Поставить RH8.0 не решение проблемы, нужно подстраивать систему под себя, а не самому под систему. Что касаеться того, что новый gcc будет в /usr/local/bin/gcc-3.2.2, тогда нужно что ли будет при компилляции ядра указать, что он лежит здесь, что ли... А можно навырно создать RPM из нового gcc (перекомпиллировав его на своей системе), удалить gcc старый, а потом поставить новый ?! (чисто теоритически) Но в чем все же проблема, почему модули не устанавливаются ?! Это же не винда, кто может обьяснить причину такой ошибки ! Благодарен за ответы !!!

anonymous
()

Я юзаю Red Hat 8.0 на трёх машинах и что-то не испытал трудностей с настройкой системы под себя. Да она ж несильно отличается от 8.0, только новые версии всего-всего-всего. Однозначно есть смысл обновиться.

wildhoney
()

Я не имею ничего против установки всего нового(RH8.0) и я считаю, что это самый оптимальный вариант, если тебе не интересно разобраться в происходящем, решить проблему. Я по этому и спрашиваю людей здесь, что является причиной такой проблемы, я и понимаю, что поставить RH8 проше, но как мне кажется это не выход из положение, это чем то напоминает работу с виндай, где в основном все проблемы можно легко решить,а бывает и проще переустановкой ОС...

anonymous
()

Разница существена - речь не о переустановке системы, а об обновлении компонентов по выбору - с отслеживанием зависимостей и возможностью не обновлять то, что и так устраивает. Настройки при этом остаются на месте и ситема работает, в отличии от оффтопика, который надо заново настраивать и наполнять софтом (не говоря уж о том, что стоимость дистрибутива несоизмерима и устанавливается linux гораздо быстрее - сравните с настройкой под себя w2k, установкой драйверов на все железки, софт - кому какой, но все одно обычно много, 5-8 перезагрузок, сервис-паки, если дистрибутив не интегрированный, секьюрити-фиксы и т.д., фаирволл, антивирус, обновить Explorer - короче, сравнение некорректно). К тому же 3.1 почти наверняка не соберет ядро и многие приложения для 7.3, так что базовый рекомендуется оставить 2.96, а при необходимости задавать переменную CC. 3.2 уже стабильно работает, но он завязан в 8.0 на новые glibc - кстати, с переходом проблемм возникло на удивление мало, куда меньше, чем когда обновлял FreeBSD 4.4 (сильно обновленную, но решил полностью новую систему на новое железо залить) на 4.7

gennik
()

Как человек, неделю назад поставивший rh 7.3 и обновившийся, рассказываю.
Опять.
Обнови себе glibc сначала - очень помогает.
Я сейчас на 2.3.2-4.80 (из апдейта 8-го rh берется).
Потом обновляешь компилятор. Rh мне не понравился - ставишь
из asp gcc 3.2.1, затем compatible-пакеты 2.96, не забудь
libstdc++ сменить.
Дальше меняем binutils, modutils, kernheaders, fileutils, e2fsutils,
libpng, libjpeg, samba - берез из 8-ки. png и jpeg смени - не
пожалеешь. Некоторые проги, правда, придется пересобрать, чтобы
не матерились. К самбе придется доставить acl и attr с либами.
Далее обновляем openssl, openssh.
И все критичные пакеты, которые собирал сам (и ядро!), пересобираем - я тут же пересобрал
иксы, fontconfig, freetype, kde.
Дальше ползем в up2date и обновляем остатки редхата.
Все.

jackill ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.