LINUX.ORG.RU

Ошибка при сборке модуля на ядро 4.14.171

 , , ,


0

1

Короче, решил я скомпилировать драйвер точки доступа под OpenWRT x86. При компиляции мне выдавало следующее:

make -C tools
make[1]: вход в каталог «/home/thesm/Загрузки/MT7601U_LinuxAP_3.0.0.1_20130802/tools»
gcc -g bin2h.c -o bin2h
make[1]: выход из каталога «/home/thesm/Загрузки/MT7601U_LinuxAP_3.0.0.1_20130802/tools»
/home/thesm/Загрузки/MT7601U_LinuxAP_3.0.0.1_20130802/tools/bin2h
cp -f os/linux/Makefile.6 /home/thesm/Загрузки/MT7601U_LinuxAP_3.0.0.1_20130802/os/linux/Makefile
make -C /home/thesm/linux-4.14.171 SUBDIRS=/home/thesm/Загрузки/MT7601U_LinuxAP_3.0.0.1_20130802/os/linux modules
make[1]: вход в каталог «/home/thesm/linux-4.14.171»

  WARNING: Symbol version dump ./Module.symvers
           is missing; modules will have no dependencies and modversions.

  CC [M]  /home/thesm/Загрузки/MT7601U_LinuxAP_3.0.0.1_20130802/os/linux/../../os/linux/rt_profile.o
/home/thesm/Загрузки/MT7601U_LinuxAP_3.0.0.1_20130802/os/linux/../../os/linux/rt_profile.c: In function ‘announce_802_3_packet’:
/home/thesm/Загрузки/MT7601U_LinuxAP_3.0.0.1_20130802/os/linux/../../os/linux/rt_profile.c:437:16: warning: unused variable ‘pAd’ [-Wunused-variable]
  437 |  RTMP_ADAPTER *pAd = (RTMP_ADAPTER *)pAdSrc;
      |                ^~~
/bin/sh: 1: ./scripts/recordmcount: not found
make[2]: *** [scripts/Makefile.build:327: /home/thesm/Загрузки/MT7601U_LinuxAP_3.0.0.1_20130802/os/linux/../../os/linux/rt_profile.o] Ошибка 127
make[2]: *** Удаляется файл «/home/thesm/Загрузки/MT7601U_LinuxAP_3.0.0.1_20130802/os/linux/../../os/linux/rt_profile.o»
make[1]: *** [Makefile:1544: _module_/home/thesm/Загрузки/MT7601U_LinuxAP_3.0.0.1_20130802/os/linux] Ошибка 2
make[1]: выход из каталога «/home/thesm/linux-4.14.171»
make: *** [Makefile:389: LINUX] Ошибка 2
Ну а если я пропишу сначала setarch i686 (на моём роутере uname -m выдаёт именно это), то ситуация уже немного другая:
make -C tools
make[1]: вход в каталог «/home/thesm/Загрузки/MT7601U_LinuxAP_3.0.0.1_20130802/tools»
gcc -g bin2h.c -o bin2h
make[1]: выход из каталога «/home/thesm/Загрузки/MT7601U_LinuxAP_3.0.0.1_20130802/tools»
/home/thesm/Загрузки/MT7601U_LinuxAP_3.0.0.1_20130802/tools/bin2h
cp -f os/linux/Makefile.6 /home/thesm/Загрузки/MT7601U_LinuxAP_3.0.0.1_20130802/os/linux/Makefile
make -C /home/thesm/linux-4.14.171 SUBDIRS=/home/thesm/Загрузки/MT7601U_LinuxAP_3.0.0.1_20130802/os/linux modules
make[1]: вход в каталог «/home/thesm/linux-4.14.171»

  WARNING: Symbol version dump ./Module.symvers
           is missing; modules will have no dependencies and modversions.

  CC [M]  /home/thesm/Загрузки/MT7601U_LinuxAP_3.0.0.1_20130802/os/linux/../../os/linux/rt_profile.o
In file included from /home/thesm/Загрузки/MT7601U_LinuxAP_3.0.0.1_20130802/include/rt_config.h:70,
                 from /home/thesm/Загрузки/MT7601U_LinuxAP_3.0.0.1_20130802/os/linux/../../os/linux/rt_profile.c:26:
/home/thesm/Загрузки/MT7601U_LinuxAP_3.0.0.1_20130802/include/rt_os_util.h:831:2: internal compiler error: Ошибка сегментирования
  831 |  IN UCHAR    *pPendingRx);
      |  ^~
0x7fb85a52a7df ???
        /build/glibc-WZtAaN/glibc-2.30/signal/../sysdeps/unix/sysv/linux/x86_64/sigaction.c:0
0x7fb85a515e0a __libc_start_main
        ../csu/libc-start.c:308
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <file:///usr/share/doc/gcc-9/README.Bugs> for instructions.
make[2]: *** [scripts/Makefile.build:327: /home/thesm/Загрузки/MT7601U_LinuxAP_3.0.0.1_20130802/os/linux/../../os/linux/rt_profile.o] Ошибка 1
make[1]: *** [Makefile:1544: _module_/home/thesm/Загрузки/MT7601U_LinuxAP_3.0.0.1_20130802/os/linux] Ошибка 2
make[1]: выход из каталога «/home/thesm/linux-4.14.171»
make: *** [Makefile:389: LINUX] Ошибка 2
Что мне делать? Я просто нуб в таких вопросах

P. S. Извиняйте, если поместил не туда

Перед тем, что ты сейчас делаешь, попробуй вот это:

1. cd /boot/config-твоя_версия.config
2. make oldconfig
3. make prepare
4. date;make -j 4>make.log;date
lovermann
()
Последнее исправление: lovermann (всего исправлений: 2)
Ответ на: комментарий от lovermann

Забыл сказать, что компиляю модуль на другую версию ядра. На компе версия 5.5.0-amd64 а компиляю модуль я на 4.14.171-i686.

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

Перед компиляцией на 64 битной системе 32 битного ядра нужно в начале дать команду:

linux32

а потом компилировать.

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