Erro na compilação

1. Erro na compilação

Honório R. Filho
honoriorf

(usa Slackware)

Enviado em 28/07/2019 - 05:38h

Tenho o kernel 4.6.4 e estou tentando atualizar, mas aparece o seguinte erro.
--------
make[1]: Entrando no diretório `/usr/src/kernel5'
GEN Makefile
scripts/kconfig/conf --syncconfig Kconfig
make[1]: Saindo do diretório `/usr/src/kernel5'
Using /usr/src/linux-5.2.2 as source for kernel
GEN Makefile
CC scripts/mod/empty.o
HOSTCC scripts/mod/mk_elfconfig
MKELF scripts/mod/elfconfig.h
HOSTCC scripts/mod/modpost.o
CC scripts/mod/devicetable-offsets.s
UPD scripts/mod/devicetable-offsets.h
HOSTCC scripts/mod/file2alias.o
HOSTCC scripts/mod/sumversion.o
HOSTLD scripts/mod/modpost
CC kernel/bounds.s
UPD include/generated/bounds.h
UPD include/generated/timeconst.h
CC arch/x86/kernel/asm-offsets.s
UPD include/generated/asm-offsets.h
CALL /usr/src/linux-5.2.2/scripts/checksyscalls.sh
CALL /usr/src/linux-5.2.2/scripts/atomic/check-atomics.sh
DESCEND objtool
In file included from <stdin>:1:0:
/usr/include/libelf/libelf.h:28:5: error: "__LIBELF_INTERNAL__" is not defined [-Werror=undef]
#if __LIBELF_INTERNAL__
^
cc1: all warnings being treated as errors
HOSTCC /usr/src/kernel5/tools/objtool/fixdep.o
HOSTLD /usr/src/kernel5/tools/objtool/fixdep-in.o
LINK /usr/src/kernel5/tools/objtool/fixdep
CC /usr/src/kernel5/tools/objtool/exec-cmd.o
CC /usr/src/kernel5/tools/objtool/help.o
CC /usr/src/kernel5/tools/objtool/pager.o
CC /usr/src/kernel5/tools/objtool/parse-options.o
CC /usr/src/kernel5/tools/objtool/run-command.o
CC /usr/src/kernel5/tools/objtool/sigchain.o
CC /usr/src/kernel5/tools/objtool/subcmd-config.o
LD /usr/src/kernel5/tools/objtool/libsubcmd-in.o
AR /usr/src/kernel5/tools/objtool/libsubcmd.a
MKDIR /usr/src/kernel5/tools/objtool/arch/x86/lib/
GEN /usr/src/kernel5/tools/objtool/arch/x86/lib/inat-tables.c
CC /usr/src/kernel5/tools/objtool/arch/x86/decode.o
In file included from arch/x86/../../elf.h:10:0,
from arch/x86/decode.c:14:
/usr/include/libelf/gelf.h:25:5: error: "__LIBELF_INTERNAL__" is not defined [-Werror=undef]
#if __LIBELF_INTERNAL__
^
In file included from arch/x86/../../elf.h:10:0,
from arch/x86/decode.c:14:
/usr/include/libelf/gelf.h:31:5: error: "__LIBELF_NEED_LINK_H" is not defined [-Werror=undef]
#if __LIBELF_NEED_LINK_H
^
/usr/include/libelf/gelf.h:33:7: error: "__LIBELF_NEED_SYS_LINK_H" is not defined [-Werror=undef]
#elif __LIBELF_NEED_SYS_LINK_H
^
cc1: all warnings being treated as errors
mv: impossível obter estado de “/usr/src/kernel5/tools/objtool/arch/x86/.decode.o.tmp”: Arquivo ou diretório não encontrado
make[5]: ** [/usr/src/kernel5/tools/objtool/arch/x86/decode.o] Erro 1
make[4]: ** [arch/x86] Erro 2
make[3]: ** [/usr/src/kernel5/tools/objtool/objtool-in.o] Erro 2
make[2]: ** [objtool] Erro 2
make[1]: ** [tools/objtool] Erro 2
make: ** [sub-make] Erro 2
--------
Já desabilitei o CONFIG_RETPOLINE, como comentado anteriormente aqui.
O make já foi tentado com defconfig, oldconfig e zcat /proc/config.gz >.config, mas o erro é o mesmo.
Alguém tbm passou por esse problema?
Agradeço as dicas dos colegas
Slackware 14.2
Intel E2180 @ 2.00GHz


  


2. Re: Erro na compilação

edps
edps

(usa Slackware)

Enviado em 03/08/2019 - 17:45h


Aqui ainda usando o velho Slack 14.2 e estou sempre atualizando sem problemas:

# wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-5.2.5.tar.xz
# tar xvf linux-5.2.5.tar.xz -C /usr/src/
# cd /usr/src/
# rm -rf linux
# ln -s linux-5.2.5 linux
# cd linux
# make oldconfig


Aqui se der erro, você pode pular isso e baixar um config mais atual, do Slack Current:

# wget -O .config https://mirrors.slackware.com/slackware/slackware-current/source/k/kernel-configs/config-huge-4.19.6...
# make menuconfig # apenas abra, salve e saia


# make -j $(getconf _NPROCESSORS_ONLN) bzImage modules
# make modules_install
# cp -v arch/x86/boot/bzImage /boot/vmlinuz-5.2.5
# cp -v System.map /boot/System.map-5.2.5
# cp -v .config /boot/config-5.2.5
# cd /boot
# rm -fv vmlinuz config System.map
# ln -sv vmlinuz-5.2.5 vmlinuz
# ln -sv config-5.2.5 config
# ln -sv System.map-5.2.5 System.map
# grub-mkconfig -o /boot/grub/grub.cfg # Se usa o Grub
# eliloconfig # Se seu Slack é UEFI.



3. Erro na compilação do kernel

Honório R. Filho
honoriorf

(usa Slackware)

Enviado em 18/08/2019 - 00:03h

Obrigado pelas dica edps. Ótimo resumo sobre a compilação do kernel.
Eu estava tentando com a versão 5.2.2. Segui sua sugestão e baixei a 5.2.5. Desabilitando o RETPOLINE funcionou bem em meu notebook com Slackware 14.2, x32
No servidor(x64), que ainda roda o 14.1 com kernel 4.6.4(compilado anteriormente sem erros) continua dando o seguinte erro na compilação 5.2.5
------------------------------
scripts/kconfig/conf --syncconfig Kconfig
SYSTBL arch/x86/include/generated/asm/syscalls_32.h
SYSHDR arch/x86/include/generated/asm/unistd_32_ia32.h
SYSHDR arch/x86/include/generated/asm/unistd_64_x32.h
SYSTBL arch/x86/include/generated/asm/syscalls_64.h
SYSHDR arch/x86/include/generated/uapi/asm/unistd_32.h
UPD include/config/kernel.release
SYSHDR arch/x86/include/generated/uapi/asm/unistd_64.h
WRAP arch/x86/include/generated/uapi/asm/bpf_perf_event.h
SYSHDR arch/x86/include/generated/uapi/asm/unistd_x32.h
WRAP arch/x86/include/generated/uapi/asm/poll.h
WRAP arch/x86/include/generated/uapi/asm/socket.h
WRAP arch/x86/include/generated/uapi/asm/sockios.h
UPD include/generated/uapi/linux/version.h
UPD include/generated/utsrelease.h
DESCEND objtool
In file included from <stdin>:1:0:
/usr/include/libelf/libelf.h:28:5: error: "__LIBELF_INTERNAL__" is not defined [-Werror=undef]
#if __LIBELF_INTERNAL__
^
cc1: all warnings being treated as errors
HOSTCC /usr/src/linux-5.2.5/tools/objtool/fixdep.o
HOSTLD /usr/src/linux-5.2.5/tools/objtool/fixdep-in.o
LINK /usr/src/linux-5.2.5/tools/objtool/fixdep
CC /usr/src/linux-5.2.5/tools/objtool/exec-cmd.o
CC /usr/src/linux-5.2.5/tools/objtool/help.o
CC /usr/src/linux-5.2.5/tools/objtool/pager.o
CC /usr/src/linux-5.2.5/tools/objtool/parse-options.o
CC /usr/src/linux-5.2.5/tools/objtool/arch/x86/decode.o
In file included from arch/x86/../../elf.h:10:0,
from arch/x86/decode.c:14:
/usr/include/libelf/gelf.h:25:5: error: "__LIBELF_INTERNAL__" is not defined [-Werror=undef]
#if __LIBELF_INTERNAL__
^
In file included from arch/x86/../../elf.h:10:0,
from arch/x86/decode.c:14:
/usr/include/libelf/gelf.h:31:5: error: "__LIBELF_NEED_LINK_H" is not defined [-Werror=undef]
#if __LIBELF_NEED_LINK_H
^
/usr/include/libelf/gelf.h:33:7: error: "__LIBELF_NEED_SYS_LINK_H" is not defined [-Werror=undef]
#elif __LIBELF_NEED_SYS_LINK_H
^
cc1: all warnings being treated as errors
mv: impossível obter estado de “/usr/src/linux-5.2.5/tools/objtool/arch/x86/.decode.o.tmp”: Arquivo ou diretório não encontrado
make[5]: ** [/usr/src/linux-5.2.5/tools/objtool/arch/x86/decode.o] Erro 1
make[4]: ** [arch/x86] Erro 2
make[3]: ** [/usr/src/linux-5.2.5/tools/objtool/objtool-in.o] Erro 2
make[3]: *** Esperando que os outros processos terminem....
CC /usr/src/linux-5.2.5/tools/objtool/run-command.o
CC /usr/src/linux-5.2.5/tools/objtool/sigchain.o
CC /usr/src/linux-5.2.5/tools/objtool/subcmd-config.o
LD /usr/src/linux-5.2.5/tools/objtool/libsubcmd-in.o
AR /usr/src/linux-5.2.5/tools/objtool/libsubcmd.a
make[2]: ** [objtool] Erro 2
make[1]: ** [tools/objtool] Erro 2
make[1]: *** Esperando que os outros processos terminem....
make: ** [sub-make] Erro 2
-------------------------------------

Será que a versão do gcc(4.8.2) não é compatível ?

HonórioR
Slackware (Sofrer para aprender)


4. Re: Erro na compilação

edps
edps

(usa Slackware)

Enviado em 18/08/2019 - 15:27h


honoriorf escreveu:

Obrigado pelas dica edps. Ótimo resumo sobre a compilação do kernel.
Eu estava tentando com a versão 5.2.2. Segui sua sugestão e baixei a 5.2.5. Desabilitando o RETPOLINE funcionou bem em meu notebook com Slackware 14.2, x32
No servidor(x64), que ainda roda o 14.1 com kernel 4.6.4(compilado anteriormente sem erros) continua dando o seguinte erro na compilação 5.2.5
...
-------------------------------------

Será que a versão do gcc(4.8.2) não é compatível ?

HonórioR
Slackware (Sofrer para aprender)


Pode ser, nunca cheguei a usar um sistema tão velho, agora mesmo abandonei o 14.2 e estou usando o Current., mas no 14.2 dá para compilar na boa.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts