как узнать каким Gcc было собрано ядро?
есть система, нужно собрать к ней пару модулей, но при сборке их с пом. gcc-3.4 получаю depmod: *** Unresolved symbols in /lib/modules/2.4.27-ow1/kernel/drivers/scsi/FastTrak.o Подозреваю, что нужен более другой gcc.
drd ★★
06.03.06 18:40:24 MSK
Re: как узнать каким Gcc было собрано ядро?
> как узнать каким Gcc было собрано ядро?
no-dashi ★★★★★
( 06.03.06 18:42:52 MSK )

Re: как узнать каким Gcc было собрано ядро?
JB ★★★★★
( 06.03.06 18:50:16 MSK )
Ответ на: Re: как узнать каким Gcc было собрано ядро? от no-dashi 06.03.06 18:42:52 MSK
Re: как узнать каким Gcc было собрано ядро?
Курил, но версии gcc там не увидел.
Невнимательно смотрел?
drd ★★
( 06.03.06 18:51:38 MSK ) автор топика
Ответ на: Re: как узнать каким Gcc было собрано ядро? от JB 06.03.06 18:50:16 MSK
Re: как узнать каким Gcc было собрано ядро?
drd ★★
( 06.03.06 18:53:02 MSK ) автор топика
Ответ на: Re: как узнать каким Gcc было собрано ядро? от drd 06.03.06 18:51:38 MSK

Re: как узнать каким Gcc было собрано ядро?
$ modinfo /lib/modules/2.6.15/kernel/drivers/net/eepro100.ko | grep mag vermagic: 2.6.15 PENTIUMIII REGPARM 4KSTACKS gcc-4.0
no-dashi ★★★★★
( 06.03.06 19:14:55 MSK )
Ответ на: Re: как узнать каким Gcc было собрано ядро? от no-dashi 06.03.06 19:14:55 MSK
Re: как узнать каким Gcc было собрано ядро?
drd@badaboom:~$ /sbin/modinfo /lib/modules/2.4.27-ow1/kernel/drivers/scsi/sym53c8xx.o
filename: /lib/modules/2.4.27-ow1/kernel/drivers/scsi/sym53c8xx.o
description:
author:
license: «GPL»
parm: sym53c8xx string
Видать modinfo другой
drd ★★
( 06.03.06 19:32:15 MSK ) автор топика

Re: как узнать каким Gcc было собрано ядро?
IMHO Unresolved symbols и версия GCC никак не связаны .. или я что то путаю ?
robot12 ★★★★★
( 06.03.06 21:07:26 MSK )
Ответ на: Re: как узнать каким Gcc было собрано ядро? от robot12 06.03.06 21:07:26 MSK
Re: как узнать каким Gcc было собрано ядро?
Эээ.. не знаю. Это проблема.
Собрал 2.4.32 с gcc-3.4, делаю depmod и получаю
depmod: *** Unresolved symbols in /lib/modules/2.4.32-ow1/kernel/drivers/net/ppp_generic.o
depmod: *** Unresolved symbols in /lib/modules/2.4.32-ow1/kernel/drivers/net/pppoe.o
depmod: *** Unresolved symbols in /lib/modules/2.4.32-ow1/kernel/net/bluetooth/bluez.o
depmod: *** Unresolved symbols in /lib/modules/2.4.32-ow1/kernel/net/bluetooth/l2cap.o
depmod: *** Unresolved symbols in /lib/modules/2.4.32-ow1/kernel/net/bluetooth/sco.o
depmod: *** Unresolved symbols in /lib/modules/2.4.32-ow1/kernel/net/ipv4/netfilter/ip_conntrack.o
depmod: *** Unresolved symbols in /lib/modules/2.4.32-ow1/kernel/net/ipv4/netfilter/ip_queue.o
depmod: *** Unresolved symbols in /lib/modules/2.4.32-ow1/kernel/net/ipv4/netfilter/ip_tables.o
depmod: *** Unresolved symbols in /lib/modules/2.4.32-ow1/kernel/net/ipv4/netfilter/ipt_REJECT.o
depmod: *** Unresolved symbols in /lib/modules/2.4.32-ow1/kernel/net/ipv4/netfilter/iptable_filter.o
depmod: *** Unresolved symbols in /lib/modules/2.4.32-ow1/kernel/net/ipv4/netfilter/iptable_mangle.o
depmod: *** Unresolved symbols in /lib/modules/2.4.32-ow1/kernel/net/ipv4/netfilter/iptable_nat.o
а если использовать gcc-4.0.3, то еще на этапе make bzImage отваливаемся:
/usr/src/2.4.32/linux-2.4.32/include/linux/byteorder/swab.h:200: warning: type qualifiers ignored on function return type
In file included from /usr/src/2.4.32/linux-2.4.32/include/linux/prefetch.h:13,
from /usr/src/2.4.32/linux-2.4.32/include/linux/list.h:6,
from /usr/src/2.4.32/linux-2.4.32/include/linux/wait.h:14,
from /usr/src/2.4.32/linux-2.4.32/include/linux/fs.h:12,
from /usr/src/2.4.32/linux-2.4.32/include/linux/capability.h:17,
from /usr/src/2.4.32/linux-2.4.32/include/linux/binfmts.h:5,
from /usr/src/2.4.32/linux-2.4.32/include/linux/sched.h:9,
from /usr/src/2.4.32/linux-2.4.32/include/linux/mm.h:4,
from /usr/src/2.4.32/linux-2.4.32/include/linux/slab.h:14,
from /usr/src/2.4.32/linux-2.4.32/include/linux/proc_fs.h:5,
from init/main.c:15:
/usr/src/2.4.32/linux-2.4.32/include/asm/processor.h:75: error: array type has incomplete element type
make: *** [init/main.o] Error 1
Версия gcc

Ошибка в понимании того, как работает ваша Shell-оболочка. Одной и причин этого является убогость и инженерные недостатки Bash.
В вашем случае нужно делать либо:
Либо задать переменную окружения PATH :
$ export PATH=/home/alexey/work1/buildroot/output/host/bin/$PATH $ arm-buildroot-linux-uclibcgnueabi-gcc --version
EXL ★★★★★
( 07.09.19 14:15:09 MSK )
Последнее исправление: EXL 07.09.19 14:17:36 MSK (всего исправлений: 3)
«Хочу узнать версию.» завернут в код. Глаза режет
xDShot ★★★★★
( 07.09.19 14:16:15 MSK )
Ответ на: комментарий от EXL 07.09.19 14:15:09 MSK

Одной и причин этого является убогость и инженерные недостатки Bash.
Вообще . в $PATH не включают вроде как для безопасности. Чтобы та же команда ls в разных каталогах не меняла своего значения.
xaizek ★★★★★
( 07.09.19 14:18:43 MSK )
Ответ на: комментарий от EXL 07.09.19 14:15:09 MSK
Щас бы троянчики засовывать в рабочий каталог вместо запуска бинарников с PATH.
xDShot ★★★★★
( 07.09.19 14:18:47 MSK )
Ответ на: комментарий от xaizek 07.09.19 14:18:43 MSK

Это всё верно, но я поддержу EXL , что сообщения об ошибках в bash убоги. Вот как сделано в Windows powershell:
arm-buildroot-linux-uclibcgnueabi-gcc --version arm-buildroot-linux-uclibcgnueabi-gcc : Имя "arm-buildroot-linux-uclibcgnueabi-gcc" не распознано как имя командлета,функции, файла сценария или выполняемой программы. Проверьте правильность написания имени, а также наличие и правильность пути, после чего повторите попытку. Suggestion [3,General]: Команда arm-buildroot-linux-uclibcgnueabi-gcc не найдена, однако существует в текущем расположении. По умолчанию оболочка Windows PowerShell не загружает команды из текущего расположения. Если вы уверены в надежности команды, введите ".\arm-buildroot-linux-uclibcgnueabi-gcc". Для получения дополнительных сведений вызовите справку с помощью команды "get-help about_Command_Precedence".
ИМХО, подобный Suggestion был бы полезен и bash..
fsb4000 ★★★★★
( 07.09.19 14:28:06 MSK )
Последнее исправление: fsb4000 07.09.19 14:29:31 MSK (всего исправлений: 1)
Форум русскоязычного сообщества Ubuntu
Страница сгенерирована за 0.039 секунд. Запросов: 23.
- Сайт
- Об Ubuntu
- Скачать Ubuntu
- Семейство Ubuntu
- Новости
- Форум
- Помощь
- Правила
- Документация
- Пользовательская документация
- Официальная документация
- Семейство Ubuntu
- Материалы для загрузки
- Совместимость с оборудованием
- RSS лента
- Сообщество
- Наши проекты
- Местные сообщества
- Перевод Ubuntu
- Тестирование
- RSS лента
© 2012 Ubuntu-ru — Русскоязычное сообщество Ubuntu Linux.
© 2012 Canonical Ltd. Ubuntu и Canonical являются зарегистрированными торговыми знаками Canonical Ltd.
Как перейти на новую версию C++?
Скорее всего на линуксе компилятор gcc или clang, то просто добавьте в командную строку -std=c++17 для 17 стандарта. Для 20 стандарта нужно использовать соответственно -std=c++20 или -std=c++2a , если компилятор чуточку старый.
Список поддерживаемых стандартов в зависимости от версии компилятора для gcc, clang
Версию компилятора можно узнать с помощью параметра командной строки —version
Отслеживать
ответ дан 10 дек 2021 в 15:14
112k 6 6 золотых знаков 93 93 серебряных знака 159 159 бронзовых знаков
Cпасибо, а по умолчанию как нибудь можно установить? Или обязательно писать стандарт перед компиляцией?
10 дек 2021 в 15:16
Просто VS code ругается на новые возможности С++17, и кругом показывает ошибки, что такого нет
10 дек 2021 в 15:16
Выставить можно, но обычно это решается в сборочных скриптах. Если редактор ругается — нужно посмотреть, где у него можно поправить настройки.
