LINUX.ORG.RU

ошибки сборки ядра на андроид

 


0

1

всем привет! сборкой ядра занимаюсь впервые. нужно собрать ядро под мой старый Sony xperia st15i.

ось лубунту 18,04 . скачал тулчены arm-eabi-4.7 и linaro-4.7.3_cortex-a8 ,

исходники ядра https://github.com/KaSt/Kappa https://github.com/DuMOHsmol/Rage-Kernel-ICS И даже скачал офф. исходники 4.1.B.1.13 с сайта производителя. правок не вносил, все делаю по инструкции, но ничего не получается. лезут ошибки, одна за другой.

к примеру такие

In file included from /home/mit/xperia/kernel/include/linux/mempolicy.h:62:0,
from /home/mit/xperia/kernel/init/main.c:52:
/home/mit/xperia/kernel/include/linux/pagemap.h: In function 'fault_in_pages_readable':
/home/mit/xperia/kernel/include/linux/pagemap.h:415:16: error: variable 'c' set but not used [-Werror=unused-but-set-variable]
LD usr/built-in.o
cc1: all warnings being treated as errors
/home/mit/xperia/kernel/scripts/Makefile.build:229: recipe for target 'init/main.o' failed
make[2]: *** [init/main.o] Error 1
/home/mit/xperia/kernel/Makefile:879: recipe for target 'init' failed
make[1]: *** [init] Error 2[/code]

сам разобраться не могу, в гугле уже смотрел, прошу помощи.

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

знать бы как исправить.. я не силен в линуксе, сборку ядра пробую впервые

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

Это немного странно, unused-but-set-variable это очень старый флаг, как-то оно всеми раньше собиралось? Вряд ли все -Werror выпиливали.

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

выключил все, сборка пошла но не далеко, снова лезут ошибки

 CC      kernel/sched.o
In file included from include/linux/blkdev.h:12:0,
                 from kernel/sched.c:48:
include/linux/pagemap.h: В функции «fault_in_pages_readable»:
include/linux/pagemap.h:415:16: предупреждение: переменная «c» определена, но не используется [-Wunused-but-set-variable]
kernel/sched.c: В функции «alloc_fair_sched_group»:
kernel/sched.c:9800:13: предупреждение: переменная «rq» определена, но не используется [-Wunused-but-set-variable]
kernel/sched.c: В функции «alloc_rt_sched_group»:
kernel/sched.c:9887:13: предупреждение: переменная «rq» определена, но не используется [-Wunused-but-set-variable]
  CC      kernel/fork.o
In file included from include/linux/mempolicy.h:62:0,
                 from kernel/fork.c:21:
include/linux/pagemap.h: В функции «fault_in_pages_readable»:
include/linux/pagemap.h:415:16: предупреждение: переменная «c» определена, но не используется [-Wunused-but-set-variable]
  CC      kernel/exec_domain.o
  CC      kernel/panic.o
  CC      kernel/printk.o
  CC      kernel/cpu.o
  CC      kernel/exit.o
In file included from include/linux/mempolicy.h:62:0,
                 from kernel/exit.c:31:
include/linux/pagemap.h: В функции «fault_in_pages_readable»:
include/linux/pagemap.h:415:16: предупреждение: переменная «c» определена, но не используется [-Wunused-but-set-variable]
  CC      kernel/itimer.o
  TIMEC   kernel/timeconst.h
Can't use 'defined(@array)' (Maybe you should just omit the defined()?) at kernel/timeconst.pl line 373.
/home/mit/Rage-Kernel-ICS/kernel/kernel/Makefile:129: recipe for target 'kernel/timeconst.h' failed
make[1]: *** [kernel/timeconst.h] Error 255
Makefile:879: recipe for target 'kernel' failed
make: *** [kernel] Error 2
./build-mini.sh: строка 12: ./mkbootimg: Нет такого файла или каталога
./build-mini.sh: строка 14: ./zip: Нет такого файла или каталога
rm: невозможно удалить 'boot.img': Нет такого файла или каталога
mit@mit-R530-R730:~/Rage-Kernel-ICS$ 
Mitya37 ()
Ответ на: комментарий от Mitya37

А чего у тебя ошибки то по-английски, то по-русски? Ты -Werror не выключил, у тебя ошибка та же и там же.

Интересно, https://github.com/KaSt/Kappa/blob/master/include/linux/pagemap.h:


	volatile char c;
	int ret;

	if (unlikely(size == 0))
		return 0;

	ret = __get_user(c, uaddr);

Схеров компилятор считает, чо с не используется?

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

я убрал в макефиле из флагов -Werror , вроде перестало выдавать предупреждения за ошибки.. счас чето другое не нравится,

Can't use 'defined(@array)' (Maybe you should just omit the defined()?) at kernel/timeconst.pl line 373.
/home/mit/Rage-Kernel-ICS/kernel/kernel/Makefile:129: recipe for target 'kernel/timeconst.h' failed

вот 373 строка и рядом с ней

@val = @{$canned_values{$hz}};
	if (!defined(@val)) {
		@val = compute_values($hz);
	}

эта ошибка не впервые, что с ней делать

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

Can’t use ‘defined(@array)’ (Maybe you should just omit the defined()?) at kernel/timeconst.pl line 373. /home/mit/Rage-Kernel-ICS/kernel/kernel/Makefile:129: recipe for target ‘kernel/timeconst.h’ failed mak

Это уже какие-то ошибки в Perl-скриптах, которые должны сгенерировать файл timeconst.h, нужно разбираться.

Ты точно всё делаешь по инструкции?

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

не знаю правильно или нет, if (!defined(@val)) заменил на if (! @val ) , попробовал снова , пока процесс идет.. если ядро соберется криво и тел окирпичится, его восстановить получится перезалив верное ядро?

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

снова запнулось

  CC      net/ipv4/ipconfig.o
In file included from include/linux/nfs_fs.h:44:0,
                 from net/ipv4/ipconfig.c:55:
include/linux/pagemap.h: В функции «fault_in_pages_readable»:
include/linux/pagemap.h:415:16: предупреждение: переменная «c» определена, но не используется [-Wunused-but-set-variable]
  CC      net/ipv4/netfilter.o
  CC      net/ipv4/netfilter/nf_nat_rule.o
In file included from include/linux/netfilter_ipv4/ip_tables.h:28:0,
                 from net/ipv4/netfilter/nf_nat_rule.c:22:
include/linux/netfilter/x_tables.h:206:25: ошибка: повторное описание члена «match»
include/linux/netfilter/x_tables.h:207:14: ошибка: повторное описание члена «matchinfo»
scripts/Makefile.build:229: recipe for target 'net/ipv4/netfilter/nf_nat_rule.o' failed
make[3]: *** [net/ipv4/netfilter/nf_nat_rule.o] Error 1
scripts/Makefile.build:365: recipe for target 'net/ipv4/netfilter' failed
make[2]: *** [net/ipv4/netfilter] Error 2
scripts/Makefile.build:365: recipe for target 'net/ipv4' failed
make[1]: *** [net/ipv4] Error 2
Makefile:879: recipe for target 'net' failed
make: *** [net] Error 2
./build-mini.sh: строка 12: ./mkbootimg: Нет такого файла или каталога
./build-mini.sh: строка 14: ./zip: Нет такого файла или каталога
rm: невозможно удалить 'boot.img': Нет такого файла или каталога
mit@mit-R530-R730:~/Rage-Kernel-ICS$ 
Mitya37 ()
Ответ на: комментарий от Mitya37

Собирай с английской локалью. Во-первых, есть очень малая, но вероятность кривизны сборочных скриптов на нелатинской локали. Во-вторых, в гугле на порядки больше подсказок по ошибкам в английской локали, чем по локализованным.

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

попробовал стоковое ядро, тоже ошибки

  CC      arch/arm/mach-msm/qdsp5v2/audio_lpa.o
/home/mit/xperia/kernel/arch/arm/mach-msm/qdsp5v2/audio_lpa.c: In function 'audlpa_async_send_data':
/home/mit/xperia/kernel/arch/arm/mach-msm/qdsp5v2/audio_lpa.c:537:11: warning: variable 'temp' set but not used [-Wunused-but-set-variable]
  CC      arch/arm/mach-msm/smd_rpc_sym.o
  CC      arch/arm/mach-msm/qdsp5v2/mp3_funcs.o
  CC      arch/arm/mach-msm/qdsp5v2/pcm_funcs.o
  CC      arch/arm/mach-msm/qdsp5v2/audpreproc.o
  CC      arch/arm/mach-msm/qdsp5v2/audio_pcm_in.o
  CC      arch/arm/mach-msm/qdsp5v2/audio_aac_in.o
  CC      arch/arm/mach-msm/qdsp5v2/audio_amrnb_in.o
  CC      arch/arm/mach-msm/qdsp5v2/audio_a2dp_in.o
  CC      arch/arm/mach-msm/qdsp5v2/audio_evrc_in.o
  CC      arch/arm/mach-msm/qdsp5v2/audio_qcelp_in.o
  CC      arch/arm/mach-msm/qdsp5v2/adsp.o
/home/mit/xperia/kernel/arch/arm/mach-msm/qdsp5v2/adsp.c: In function '__msm_adsp_write':
/home/mit/xperia/kernel/arch/arm/mach-msm/qdsp5v2/adsp.c:265:11: warning: variable 'cmd_id' set but not used [-Wunused-but-set-variable]
  CC      arch/arm/mach-msm/qdsp5v2/adsp_driver.o
  CC      arch/arm/mach-msm/qdsp5v2/adsp_info.o
  CC      arch/arm/mach-msm/qdsp5v2/audio_acdb.o
  CC      arch/arm/mach-msm/qdsp5v2/snddev_virtual.o
/home/mit/xperia/kernel/arch/arm/mach-msm/qdsp5v2/snddev_virtual.c: In function 'snddev_virtual_set_freq':
/home/mit/xperia/kernel/arch/arm/mach-msm/qdsp5v2/snddev_virtual.c:47:6: warning: variable 'rc' set but not used [-Wunused-but-set-variable]
  CC      arch/arm/mach-msm/qdsp5v2/audio_fm.o
  CC      arch/arm/mach-msm/qdsp5v2/lpa.o
  CC      arch/arm/mach-msm/qdsp5v2/snddev_mi2s.o
  CC      arch/arm/mach-msm/qdsp5v2/audio_mvs.o
  LD      arch/arm/mach-msm/qdsp5v2/built-in.o
  LD      arch/arm/mach-msm/built-in.o
Makefile:120: recipe for target 'sub-make' failed
make: *** [sub-make] Error 2
mit@mit-R530-R730:~/xperia/kernel$ 
Mitya37 ()
Ответ на: комментарий от EXL
error: duplicate member 'match'

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

Mitya37 ()
Ограничение на отправку комментариев: только для зарегистрированных пользователей