Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FS#3707 - x86_64: linux 5.10 cannot build objtool #9019

Closed
openwrt-bot opened this issue Mar 27, 2021 · 1 comment
Closed

FS#3707 - x86_64: linux 5.10 cannot build objtool #9019

openwrt-bot opened this issue Mar 27, 2021 · 1 comment
Labels

Comments

@openwrt-bot
Copy link

wongsyrone:

Just use testing kernel version 5.10 on x86_64, run make menuconfig and make V=sc

Error log:

gcc -Wp,-MD,/home/wong/github/lede-1/build_dir/target-x86_64_musl/linux-x86_64/linux-5.10.26/tools/objtool/.builtin-check.o.d -Wp,-MT,/home/wong/github/lede-1/build_dir/target-x86_64_musl/linux-x86_64/linux-5.10.26/tools/objtool/builtin-check.o -Werror -Wbad-function-cast -Wdeclaration-after-statement -Wformat-security -Wformat-y2k -Winit-self -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wno-system-headers -Wold-style-definition -Wpacked -Wredundant-decls -Wstrict-prototypes -Wswitch-default -Wswitch-enum -Wundef -Wwrite-strings -Wformat -Wstrict-aliasing=3 -Wshadow -Wno-switch-default -Wno-switch-enum -Wno-packed -Wno-nested-externs -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu89 -O2 -I/home/wong/github/lede-1/staging_dir/host/include -Wall -Wmissing-prototypes -Wstrict-prototypes -g -I/home/wong/github/lede-1/build_dir/target-x86_64_musl/linux-x86_64/linux-5.10.26/tools/include -I/home/wong/github/lede-1/build_dir/target-x86_64_musl/linux-x86_64/linux-5.10.26/tools/arch/x86/include/uapi -I/home/wong/github/lede-1/build_dir/target-x86_64_musl/linux-x86_64/linux-5.10.26/tools/arch/x86/include -I/home/wong/github/lede-1/build_dir/target-x86_64_musl/linux-x86_64/linux-5.10.26/tools/objtool/arch/x86/include -I/home/wong/github/lede-1/staging_dir/host/include/libelf -I/home/wong/github/lede-1/staging_dir/host/include -DINSN_USE_ORC -I/home/wong/github/lede-1/build_dir/target-x86_64_musl/linux-x86_64/linux-5.10.26/tools/lib -D"BUILD_STR(s)=#s" -c -o /home/wong/github/lede-1/build_dir/target-x86_64_musl/linux-x86_64/linux-5.10.26/tools/objtool/builtin-check.o builtin-check.c
gcc -Wp,-MD,/home/wong/github/lede-1/build_dir/target-x86_64_musl/linux-x86_64/linux-5.10.26/tools/objtool/.builtin-orc.o.d -Wp,-MT,/home/wong/github/lede-1/build_dir/target-x86_64_musl/linux-x86_64/linux-5.10.26/tools/objtool/builtin-orc.o -Werror -Wbad-function-cast -Wdeclaration-after-statement -Wformat-security -Wformat-y2k -Winit-self -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wno-system-headers -Wold-style-definition -Wpacked -Wredundant-decls -Wstrict-prototypes -Wswitch-default -Wswitch-enum -Wundef -Wwrite-strings -Wformat -Wstrict-aliasing=3 -Wshadow -Wno-switch-default -Wno-switch-enum -Wno-packed -Wno-nested-externs -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu89 -O2 -I/home/wong/github/lede-1/staging_dir/host/include -Wall -Wmissing-prototypes -Wstrict-prototypes -g -I/home/wong/github/lede-1/build_dir/target-x86_64_musl/linux-x86_64/linux-5.10.26/tools/include -I/home/wong/github/lede-1/build_dir/target-x86_64_musl/linux-x86_64/linux-5.10.26/tools/arch/x86/include/uapi -I/home/wong/github/lede-1/build_dir/target-x86_64_musl/linux-x86_64/linux-5.10.26/tools/arch/x86/include -I/home/wong/github/lede-1/build_dir/target-x86_64_musl/linux-x86_64/linux-5.10.26/tools/objtool/arch/x86/include -I/home/wong/github/lede-1/staging_dir/host/include/libelf -I/home/wong/github/lede-1/staging_dir/host/include -DINSN_USE_ORC -I/home/wong/github/lede-1/build_dir/target-x86_64_musl/linux-x86_64/linux-5.10.26/tools/lib -D"BUILD_STR(s)=#s" -c -o /home/wong/github/lede-1/build_dir/target-x86_64_musl/linux-x86_64/linux-5.10.26/tools/objtool/builtin-orc.o builtin-orc.c
gcc -Wp,-MD,/home/wong/github/lede-1/build_dir/target-x86_64_musl/linux-x86_64/linux-5.10.26/tools/objtool/.elf.o.d -Wp,-MT,/home/wong/github/lede-1/build_dir/target-x86_64_musl/linux-x86_64/linux-5.10.26/tools/objtool/elf.o -Werror -Wbad-function-cast -Wdeclaration-after-statement -Wformat-security -Wformat-y2k -Winit-self -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wno-system-headers -Wold-style-definition -Wpacked -Wredundant-decls -Wstrict-prototypes -Wswitch-default -Wswitch-enum -Wundef -Wwrite-strings -Wformat -Wstrict-aliasing=3 -Wshadow -Wno-switch-default -Wno-switch-enum -Wno-packed -Wno-nested-externs -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu89 -O2 -I/home/wong/github/lede-1/staging_dir/host/include -Wall -Wmissing-prototypes -Wstrict-prototypes -g -I/home/wong/github/lede-1/build_dir/target-x86_64_musl/linux-x86_64/linux-5.10.26/tools/include -I/home/wong/github/lede-1/build_dir/target-x86_64_musl/linux-x86_64/linux-5.10.26/tools/arch/x86/include/uapi -I/home/wong/github/lede-1/build_dir/target-x86_64_musl/linux-x86_64/linux-5.10.26/tools/arch/x86/include -I/home/wong/github/lede-1/build_dir/target-x86_64_musl/linux-x86_64/linux-5.10.26/tools/objtool/arch/x86/include -I/home/wong/github/lede-1/staging_dir/host/include/libelf -I/home/wong/github/lede-1/staging_dir/host/include -DINSN_USE_ORC -I/home/wong/github/lede-1/build_dir/target-x86_64_musl/linux-x86_64/linux-5.10.26/tools/lib -D"BUILD_STR(s)=#s" -c -o /home/wong/github/lede-1/build_dir/target-x86_64_musl/linux-x86_64/linux-5.10.26/tools/objtool/elf.o elf.c
elf.c: In function 'read_symbols':
elf.c:407:8: error: implicit declaration of function 'gelf_getsymshndx'; did you mean 'gelf_getsym'? [-Werror=implicit-function-declaration]
407 | if (!gelf_getsymshndx(symtab->data, shndx_data, i, &sym->sym,
| ^~~~~~~~~~~~~~~~
| gelf_getsym
cc1: all warnings being treated as errors
make[8]: *** [/home/wong/github/lede-1/build_dir/target-x86_64_musl/linux-x86_64/linux-5.10.26/tools/build/Makefile.build:97: /home/wong/github/lede-1/build_dir/target-x86_64_musl/linux-x86_64/linux-5.10.26/tools/objtool/elf.o] Error 1
make[7]: *** [Makefile:59: /home/wong/github/lede-1/build_dir/target-x86_64_musl/linux-x86_64/linux-5.10.26/tools/objtool/objtool-in.o] Error 2
make[6]: *** [Makefile:68: objtool] Error 2
make[5]: *** [Makefile:1935: tools/objtool] Error 2
make[5]: Leaving directory '/home/wong/github/lede-1/build_dir/target-x86_64_musl/linux-x86_64/linux-5.10.26'
make[4]: *** [Makefile:23: /home/wong/github/lede-1/build_dir/target-x86_64_musl/linux-x86_64/linux-5.10.26/.modules] Error 2
make[4]: Leaving directory '/home/wong/github/lede-1/target/linux/x86'
make[3]: *** [Makefile:11: compile] Error 2
make[3]: Leaving directory '/home/wong/github/lede-1/target/linux'
time: target/linux/compile#32.74#16.77#48.92
ERROR: target/linux failed to build.

@openwrt-bot
Copy link
Author

ynezz:

Your build tree is tainted and contains old libelf residues after bf4aa0c ("tools/libelf: remove unneeded host library"). That old libelf version doesn't work with kernels 5.8+ https://lore.kernel.org/all/20200421220843.188260-2-samitolvanen@google.com/T/#u so you either need to cleanup your build tree manually (find staging_dir/host -name *libelf* -delete), build from scratch or perform make distclean.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant