LINUX.ORG.RU

Установка старой версии GCC

 , ,


0

1

Здравствуйте. Подскажите как поставить старую версию GCC 4.8 ? Пытался собрать Open_Wrt из ислодников, а он ругается, что ему компилятор нужен старый.. ( Build dependency: Please install the GNU C Compiler (gcc) 4.8 or later Build dependency: Please install the GNU C++ Compiler (g++) 4.8 or later )

несмотря на то, что в системе уже стоял GCC 11 версии… Команда sudo apt install gcc-4.8 положительных результатов не дала…

( E: Невозможно найти пакет gcc-4.8 E: Не удалось найти ни один пакет с помощью шаблона «gcc-4.8» )

Подскажите как установить?


Ответ на: комментарий от kindof

Версия Опен_врт не принципиальна, просто в статье которуя я нашел использовали эту версию.. (Сможете перезагрузить хост? ( Ubuntu 22.04 LTS)) Вы имеете перезагрузить компютер? Я правильно вас понял?

timyr
() автор топика
Ответ на: комментарий от timyr

Версия Опен_врт не принципиальна, просто в статье которуя я нашел использовали эту версию.

тогда какой у вас target? в смысле для какого девайса собираете врт?

Сможете перезагрузить хост? ( Ubuntu 22.04 LTS)) Вы имеете перезагрузить компютер? Я правильно вас понял?

да

kindof
()
Ответ на: комментарий от timyr

MT7688.

Что - вот только модуль? Без борды?

https://openwrt.org/toh/views/toh_fwdownload?dataflt%5BModel*%7E%5D=7688

Перезагрузить смогу.

Хорошо.

PS Задаю эти вопросы только для того, чтобы устранить бессмысленную трату времени. 18x уже не будет поддерживаться никак

kindof
()
Последнее исправление: kindof (всего исправлений: 1)
Ответ на: комментарий от timyr

Что дальше делать? Перезагружать компьютер и пытаться компилировать прошивку?

Если вы так торопитесь совершать ошибки, не читая, что вам пишут, то вперед.

18.06.хх ушли в прошлое, туда давно не комиттят, следовательно, там полно дыр. Эта ветка основана на старом buildroot. И если gcc/g++ requirements легко обходятся правкой prereq-build.mk (просто комментирем там все eval связанные с gcc/g++) и ни на что в общем не влияют, то на сборку тулкита влияют внешние зависимости, которых в Ubuntu 22.04 LTS нет и уже не будет.

Поэтому, если настаиваем на openwrt v18, все же нужно собрать необходимое окружение, например контейнер. docker, LXC, дело вкуса. Я бы предпочел LXC, как менее инвазивный, и более OSS )))

kindof
()
Ответ на: комментарий от timyr

Скачал..: (git clone https://git.openwrt.org/openwrt/openwrt.git –branch openwrt-21.02 –single-branch)

ну а дальше стандартно:

cd openwrt

#Допиливаем ветку (в общем случае)
git pull 
 
#Тащим все 
./scripts/feeds update -a

./scripts/feeds install -a
 
#Конфигурируем что будем собирать - платформа, девайст, опции ядра, пакеты

make menuconfig
#Сохраняем конфиг

#Собираем
make -j $(nproc) V=s
kindof
()
Ответ на: комментарий от timyr

Запустил команду (make -j $(nproc) V=s) Менюгонфиг вылезло.. Так и должно быть?

нет. забыл сохранить конфиг

#Конфигурируем что будем собирать - платформа, девайст, опции ядра, пакеты

make menuconfig
**#Сохраняем конфиг**

#Собираем
make -j $(nproc) V=s

kindof
()
Ответ на: комментарий от kindof

В одной статье написано: (Ждем, через полчаса-час находим свою прошивку в каталоге ~/ваш каталог/openwrt/bin. ) Так вот, каталога openwrt/bin я не нашел… Что-то пошло не так?

timyr
() автор топика
Ответ на: комментарий от timyr

В одной статье написано: (Ждем, через полчаса-час находим свою прошивку в каталоге ~/ваш каталог/openwrt/bin. ) Так вот, каталога openwrt/bin я не нашел… Что-то пошло не так?

что - уже собралось? ))

в первый раз она собирает тулкит. В зависимости от хоста может занять и час и два и три.

Потом сборка openwrt будет проходить быстрее

kindof
()
Ответ на: комментарий от kindof

Всё равно менюконфиг вылазит.. Я выбирал марку чипа, и прочие плюшки , отметил что нужно поставить люси.. и др.. По сути мне хотя-бы сейчас научится чтобы голая прошивка собиралась.. А уж потом буду выбирать все остальные плюшки.. Когда выбрал конфигурацию, нажал на save написал название конфигурации .config_mt7688 и нажал ок. Так что сохранение конфигурации я делал.. В чем может быть дело?

timyr
() автор топика
Последнее исправление: timyr (всего исправлений: 1)
Ответ на: комментарий от timyr

Всё равно менюконфиг вылазит.. Я выбирал марку чипа, и прочие плюшки , ответил что нужно поставить люси.. и др.. По сути мне хотя-бы сейчас научится чтобы голая прошивка собиралась.. А уж потом буду выбирать все остальные плюшки.. Когда выбрал конфигурацию, нажал на save написал название конфигурации .config_mt7688 и нажал ок. Так что сохранение конфигурации я делал.. В чем может быть дело?

сохрани!

https://yapx.ru/v/SkQ4i

по умолчанию используется файл .config в каталоге openwrt

kindof
()
Ответ на: комментарий от timyr

При вводе cat Makefile | grep .config_mt7688 ничего не происходит…

 - Ты, когда подъезжал к моему дому, видел вывеску - склад мёртвых негров?

 - нет

 - а знаешь, почему ты её не видел?

 - нет

 - ДА ПОТОМУ, ЧТО ЕЁ ТАМ НЕТ!!!! 

(с) КТ КЧ
  1. читаем тред внимательно

  2. В menuconfig выбираем Save. Жмем Enter Убеждаемся, уж не .config ли имя файла который мы сохраняем. Жмем Enter

  3. Убеждаемся, что в каталоге openwrt ЕСТЬ файл .config

  4. Собираем

kindof
()
Ответ на: комментарий от kindof

Самое интересное, что когда заново запускаешь менюконфиг, нажимаешь «лоад» и вводиш название профиля config_mt7688, то ин правильно вспоминает ранее установленные настройки… Значит я всё -таки сохранил настройки…

timyr
() автор топика
Последнее исправление: timyr (всего исправлений: 1)
Ответ на: комментарий от timyr

Самое интересное, что когда заново запускаешь менюконфиг, нажимаешь «лоад» и вводиш название профиля config_mt7688, то ин правильно вспоминает ранее установленные настройки… Значит я всё -таки сохранил настройки…

да, только make про это ничего не узнает

kindof
()

Почему нет с этим проблем на FreeBSD? Там можно установить из портов и GCC-12, и GCC-4.8, оперативно указать в /etc/make.conf какой порт каким компилятором собрать, если это необходимо. Наконец, отредактировать Makefile самой программы/порта, чтобы её/его собирал кмпилятор необходимой версии.

iZEN ★★★★★
()
Ответ на: комментарий от kindof

Я в названии конфига ничего не писал, просто нажал энтер… вроде процесс пошел.. Как понял процесс долгий.. Это будет первая тестовая прошивка, потом буду разбираться дальше.. Скорее всего завтра вечером.. Наверняка будут вопросы.. Как с вами можно связаться..?

timyr
() автор топика
Ответ на: комментарий от timyr

Я в названии конфига ничего не писал, просто нажал энтер… вроде процесс пошел..

Так и надо было сделать с самого начала

Как понял процесс долгий.. Это будет первая тестовая прошивка, потом буду разбираться дальше.. Скорее всего завтра вечером.. Наверняка будут вопросы.. Как с вами можно связаться..?

Так пиши сюда, не стесняйся

kindof
()
Ответ на: комментарий от pihter

а потом обнаружил, что если это же переписать на баше

Блин, прямо по Крылову - обезьяна и очки. Docker сам по себе не является ни автоматизацией, ни оркестрацией - это образ с минимальной обвязкой для запуска приложения. Да, есть Dockerfile, в котором ты описываешь как модифицировать базовый образ под твои нужды, но там те же команды шелла используются.

отгребешь проблем, пофиксишь, отправишь заплатку разрабам. Это – правильный путь

а если человек не программист и у него нет квалификации / времени / денег баги отлавливать?

в шапке мейкфайла пишешь СС ?= gcc и ld ?= gcc и все такое прочее, а дальше по ходу мейкфайла используешь $(CC) вместо gcc.

И флаги еще надо знать, влючающие совместимость со старым стандартом. Это куча потраченного впустую времени, если человек не является профессиональным программистом

Еще раз, уверен, что есть места где контейнеры к месту.

нравятся мне такие - нифига технологию не знаю, но обязательно в чем-то уверен

adn ★★★★
()
Ответ на: комментарий от adn

Блин, прямо по Крылову - обезьяна и очки.

слушай, я тебе не хамил: тебе не кажется что намекать на то что собеседник – обезьяна не вежливо? С чего вдруг такое высокомерие? Отчего ты решил что понимаешь обсуждаемый вопрос лучше меня да еще и настолько лучше, что считаешь себя в праве басню на меня примерять?

Docker сам по себе не является ни автоматизацией, ни оркестрацией - это образ с минимальной обвязкой для запуска приложения. Да, есть Dockerfile, в котором ты описываешь как модифицировать базовый образ под твои нужды, но там те же команды шелла используются.

Зачем ты постоянно тоном учителя поясняешь мне прописные истины? Я же сказал, я пробовал этот твой докер и задачу с его помощью решил, нешто ты думаешь что я настолько обезьяна-и-очки что даже после этого не понимаю что такое докер?

а если человек не программист и у него нет квалификации / времени / денег баги отлавливать?

значит заниматься сборкой программ из исходников – не для него. Встречный вопрос, а если человек не программист и у него нет квалификации / времени / денег на что чтоб докер осваивать? Почему этот тезис ты считаешь применимым к одному пути решения проблемы и неприменимым к другому, предлагаемому тобой?

И флаги еще надо знать, влючающие совместимость со старым стандартом. Это куча потраченного впустую времени, если человек не является профессиональным программистом

правильно ли я понял, что с твоей точки зрения, человеку занимающемуся сборкой программ из исходников, правильнее потратить время на изучение докера, чем на изучения процесса сборки? Вот этих вот флагов, стандартов?

Еще раз, уверен, что есть места где контейнеры к месту.

нравятся мне такие - нифига технологию не знаю, но обязательно в чем-то уверен

уверен ли ты в том что хирургические операции полезны? Знаешь ли ты технологию проведения хирургических операций? Нравишься ли ты себе?

pihter ★★★★★
()
Ответ на: комментарий от pihter

намекать на то что собеседник – обезьяна не вежливо?

Ты прямо очень мнительный. Басней я ситуацию прокомментировал, вообще ни на что не намекая.

Зачем ты постоянно тоном учителя поясняешь мне прописные истины?

Потому что из твоих слов было очевидно, что ты их не знаешь.

значит заниматься сборкой программ из исходников – не для него.

Почему? Исходный код - это уже вполне устоявшийся метод дистрибуции. И он не рассчитан исключительно на профессиональных программистов.

занимающемуся сборкой программ из исходников, правильнее потратить время на изучение докера, чем на изучения процесса сборки? Вот этих вот флагов, стандартов?

Если он занимается этим постоянно, то изучение процесса сборки естественно необходимо. Если же это разовая история, то да, узнать три команды докера (установить, запустить и снести контейнер) намного быстрее и проще. Важен обычно результат, а не процесс.

уверен ли ты в том что хирургические операции полезны?

Не понял твою мысль. Нет, я не уверен.

adn ★★★★
()
Ответ на: комментарий от pihter

Встречный вопрос, а если человек не программист и у него нет квалификации / времени / денег на что чтоб докер осваивать?

Docker по-факту тот же пакетный менеджер, с приблизительно той же сложностью использования. Ты потратишь считаные минуты на то, чтобы освоить основные команды для использования уже готовых контейнеров. И, блин, это очень удобно и не захламляет систему.

adn ★★★★
()
Ответ на: комментарий от adn

Исходный код - это уже вполне устоявшийся метод дистрибуции. И он не рассчитан исключительно на профессиональных программистов.

ИМХО, очевидно, рассчитан на тех, кто умеет собирать из исходников. Или готов этому учиться.

Если же это разовая история, то да, узнать три команды докера (установить, запустить и снести контейнер) намного быстрее и проще. Важен обычно результат, а не процесс.

Вот этот подход и есть рак против которого я выступаю. Смотри, мы выяснили что в мейкфайле явная ошибка ( он неправильно выполняет сравнение версии, если она не из одной цифры ). На мой взгляд ошибку надо исправлять сейчас, если сам не умеешь, найди кто умеет, научись или хотя бы автору напиши. Так мы не будем копить ошибки на будущее и не будем плодить лишних сущностей. Ты же предлагаешь запилить докер образ, в котором мы ошибку не исправим, а просто создадим условия, при которых она не воспроизводится. Обернем в газетку и будем так распространять, лишь бы не прикладывать усилий здесь и сейчас. А пройдет пять лет и твой контейнер тоже перестанет работать, ну мало ли, апи ядра изменится, что делать? По моему подходу надо исправлять сам докер или сам образ, вобщем ошибку исправлять, актуализировать под современные реалии, делать чтоб работало. По твоему – просто еще раз обернуть в какой-нибудь докер будущего, лишь бы ниче не делать здесь и сейчас. А очередная пустяковая ошибка будет погребена под очередным слоем абстракции. Понимаешь о чем я?

pihter ★★★★★
()
Ответ на: комментарий от adn

уверен ли ты в том что хирургические операции полезны?

Не понял твою мысль. Нет, я не уверен.

Ты высмеял мое утверждение о том что я уверен в том, что в ряде случаев докер полезен, хотя технологией докера я, с твоих слов, не владею.

Ну раз тебе не нравится пример с операциями (я имел в виду операции в принципе, как медицинский метод, ты не уверен в их полезности? оО) то я могу привести еще массу примеров: владеешь ли ты технологией производства интегральных микросхем? Уверен ли ты в полезности данной технологии? Да хотя бы транзистор умеешь конструировать? Есть сомнения в полезности транзистора?

Это я к тому, что что бы оценить вкусна ли яичница, поваром быть не обязательно.

Хотя в случае с докером, как ты справедливо заметил, нечего изучать.

pihter ★★★★★
()
Ответ на: комментарий от adn

И, блин, это очень удобно и не захламляет систему.

В третий раз говорю: я все это понимаю, я с этим согласен, на своем месте – да. Но в данном случае, маскировка явной ошибки малой кровью с сохранением ошибки для будущих поколений.

pihter ★★★★★
()