Hi, I'm trying to build libbpf-0.5 against libelf provided by elftoolchain, I've been able to build previous libbpf versions fine, but 0.5 is failing with the following errors:
make --jobs=8 BUILD_SHARED=y LIBSUBDIR=lib64 BUILD_STATIC=y CC=x86_64-multilib-linux-gnu-gcc AR=x86_64-multilib-linux-gnu-ar MKDIR staticobjs MKDIR sharedobjs CC bpf.o CC btf.o CC libbpf.o CC libbpf_errno.o CC netlink.o CC nlattr.o CC str_error.o CC libbpf_probes.o CC bpf_prog_linfo.o CC xsk.o CC btf_dump.o CC hashmap.o CC ringbuf.o CC strset.o CC linker.o CC gen_loader.o CC relo_core.o CC bpf.o CC btf.o In file included from /usr/x86_64-multilib-linux-gnu/usr/include/libelf.h:34, from linker.c:17: /usr/x86_64-multilib-linux-gnu/usr/include/elfdefinitions.h:111:2: error: expected identifier before numeric constant 111 | _ELF_DEFINE_DYN_FLAGS() | ^~~~~~~~~~~~~~~~~~~~~ /usr/x86_64-multilib-linux-gnu/usr/include/elfdefinitions.h:377:2: error: expected identifier before numeric constant 377 | _ELF_DEFINE_DYN_TYPES() | ^~~~~~~~~~~~~~~~~~~~~ /usr/x86_64-multilib-linux-gnu/usr/include/elfdefinitions.h:498:2: error: expected identifier before numeric constant 498 | _ELF_DEFINE_EHDR_FLAGS() | ^~~~~~~~~~~~~~~~~~~~~~ /usr/x86_64-multilib-linux-gnu/usr/include/elfdefinitions.h:521:2: error: expected identifier before numeric constant 521 | _ELF_DEFINE_EI_OFFSETS() | ^~~~~~~~~~~~~~~~~~~~~~ /usr/x86_64-multilib-linux-gnu/usr/include/elfdefinitions.h:536:2: error: expected identifier before numeric constant 536 | _ELF_DEFINE_ELFCLASS() | ^~~~~~~~~~~~~~~~~~~~ /usr/x86_64-multilib-linux-gnu/usr/include/elfdefinitions.h:552:2: error: expected identifier before numeric constant 552 | _ELF_DEFINE_ELF_DATA_ENDIANNESS() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/x86_64-multilib-linux-gnu/usr/include/elfdefinitions.h:568:2: error: expected identifier before numeric constant 568 | _ELF_DEFINE_ELF_MAGIC() | ^~~~~~~~~~~~~~~~~~~~~ /usr/x86_64-multilib-linux-gnu/usr/include/elfdefinitions.h:609:2: error: expected identifier before numeric constant 609 | _ELF_DEFINE_ELF_OSABI() | ^~~~~~~~~~~~~~~~~~~~~ /usr/x86_64-multilib-linux-gnu/usr/include/elfdefinitions.h:906:2: error: expected identifier before numeric constant 906 | _ELF_DEFINE_ELF_MACHINES() | ^~~~~~~~~~~~~~~~~~~~~~~~ /usr/x86_64-multilib-linux-gnu/usr/include/elfdefinitions.h:931:2: error: expected identifier before numeric constant 931 | _ELF_DEFINE_ELF_TYPES() | ^~~~~~~~~~~~~~~~~~~~~ /usr/x86_64-multilib-linux-gnu/usr/include/elfdefinitions.h:972:2: error: expected identifier before ‘(’ token 972 | _ELF_DEFINE_PHDR_FLAGS() | ^~~~~~~~~~~~~~~~~~~~~~ /usr/x86_64-multilib-linux-gnu/usr/include/elfdefinitions.h:1035:2: error: expected identifier before numeric constant 1035 | _ELF_DEFINE_PHDR_TYPES() | ^~~~~~~~~~~~~~~~~~~~~~ /usr/x86_64-multilib-linux-gnu/usr/include/elfdefinitions.h:1104:2: error: expected identifier before ‘(’ token 1104 | _ELF_DEFINE_SECTION_FLAGS() | ^~~~~~~~~~~~~~~~~~~~~~~~~ /usr/x86_64-multilib-linux-gnu/usr/include/elfdefinitions.h:1145:2: error: expected identifier before numeric constant 1145 | _ELF_DEFINE_SECTION_INDICES() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/x86_64-multilib-linux-gnu/usr/include/elfdefinitions.h:1300:2: error: expected identifier before numeric constant 1300 | _ELF_DEFINE_SECTION_TYPES() | ^~~~~~~~~~~~~~~~~~~~~~~~~ /usr/x86_64-multilib-linux-gnu/usr/include/elfdefinitions.h:1332:2: error: expected identifier before numeric constant 1332 | _ELF_DEFINE_SYMBOL_BINDING() | ^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/x86_64-multilib-linux-gnu/usr/include/elfdefinitions.h:1362:2: error: expected identifier before numeric constant 1362 | _ELF_DEFINE_SYMBOL_TYPES() | ^~~~~~~~~~~~~~~~~~~~~~~~ /usr/x86_64-multilib-linux-gnu/usr/include/elfdefinitions.h:1381:2: error: expected identifier before numeric constant 1381 | _ELF_DEFINE_SYMBOL_BINDING_KINDS() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/x86_64-multilib-linux-gnu/usr/include/elfdefinitions.h:1402:2: error: expected identifier before numeric constant 1402 | _ELF_DEFINE_SYMBOL_VISIBILITY() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/x86_64-multilib-linux-gnu/usr/include/elfdefinitions.h:1424:2: error: expected identifier before numeric constant 1424 | _ELF_DEFINE_SYMBOL_FLAGS() | ^~~~~~~~~~~~~~~~~~~~~~~~ /usr/x86_64-multilib-linux-gnu/usr/include/elfdefinitions.h:1437:2: error: expected identifier before numeric constant 1437 | _ELF_DEFINE_VERSIONING_DEPENDENCIES() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/x86_64-multilib-linux-gnu/usr/include/elfdefinitions.h:1450:2: error: expected identifier before numeric constant 1450 | _ELF_DEFINE_VERSIONING_FLAGS() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/x86_64-multilib-linux-gnu/usr/include/elfdefinitions.h:1463:2: error: expected identifier before numeric constant 1463 | _ELF_DEFINE_VERSIONING_NEEDS() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/x86_64-multilib-linux-gnu/usr/include/elfdefinitions.h:1476:2: error: expected identifier before numeric constant 1476 | _ELF_DEFINE_VERSIONING_NUMBERS() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/x86_64-multilib-linux-gnu/usr/include/elfdefinitions.h:2341:2: error: expected identifier before numeric constant 2341 | _ELF_DEFINE_RELOCATIONS() | ^~~~~~~~~~~~~~~~~~~~~~~ /usr/x86_64-multilib-linux-gnu/usr/include/elfdefinitions.h:2401:3: error: conflicting types for ‘Elf32_Conflict’ 2401 | } Elf32_Conflict; | ^~~~~~~~~~~~~~ In file included from linker.c:16: /usr/x86_64-multilib-linux-gnu/usr/include/elf.h:2021:20: note: previous declaration of ‘Elf32_Conflict’ was here 2021 | typedef Elf32_Addr Elf32_Conflict; | ^~~~~~~~~~~~~~ In file included from /usr/x86_64-multilib-linux-gnu/usr/include/libelf.h:34, from linker.c:17: /usr/x86_64-multilib-linux-gnu/usr/include/elfdefinitions.h:2419:3: error: conflicting types for ‘Elf32_Dyn’ 2419 | } Elf32_Dyn; | ^~~~~~~~~ In file included from linker.c:16: /usr/x86_64-multilib-linux-gnu/usr/include/elf.h:836:3: note: previous declaration of ‘Elf32_Dyn’ was here 836 | } Elf32_Dyn; | ^~~~~~~~~ In file included from /usr/x86_64-multilib-linux-gnu/usr/include/libelf.h:34, from linker.c:17: /usr/x86_64-multilib-linux-gnu/usr/include/elfdefinitions.h:2428:3: error: conflicting types for ‘Elf64_Dyn’ 2428 | } Elf64_Dyn; | ^~~~~~~~~ In file included from linker.c:16: /usr/x86_64-multilib-linux-gnu/usr/include/elf.h:846:3: note: previous declaration of ‘Elf64_Dyn’ was here 846 | } Elf64_Dyn; | ^~~~~~~~~ In file included from /usr/x86_64-multilib-linux-gnu/usr/include/libelf.h:34, from linker.c:17: /usr/x86_64-multilib-linux-gnu/usr/include/elfdefinitions.h:2451:3: error: conflicting types for ‘Elf32_Ehdr’ 2451 | } Elf32_Ehdr; | ^~~~~~~~~~ In file included from linker.c:16: /usr/x86_64-multilib-linux-gnu/usr/include/elf.h:79:3: note: previous declaration of ‘Elf32_Ehdr’ was here 79 | } Elf32_Ehdr; | ^~~~~~~~~~ In file included from /usr/x86_64-multilib-linux-gnu/usr/include/libelf.h:34, from linker.c:17: /usr/x86_64-multilib-linux-gnu/usr/include/elfdefinitions.h:2470:3: error: conflicting types for ‘Elf64_Ehdr’ 2470 | } Elf64_Ehdr; | ^~~~~~~~~~ In file included from linker.c:16: /usr/x86_64-multilib-linux-gnu/usr/include/elf.h:97:3: note: previous declaration of ‘Elf64_Ehdr’ was here 97 | } Elf64_Ehdr; | ^~~~~~~~~~ In file included from /usr/x86_64-multilib-linux-gnu/usr/include/libelf.h:34, from linker.c:17: /usr/x86_64-multilib-linux-gnu/usr/include/elfdefinitions.h:2484:3: error: conflicting types for ‘Elf32_Lib’ 2484 | } Elf32_Lib; | ^~~~~~~~~ In file included from linker.c:16: /usr/x86_64-multilib-linux-gnu/usr/include/elf.h:1997:3: note: previous declaration of ‘Elf32_Lib’ was here 1997 | } Elf32_Lib; | ^~~~~~~~~ In file included from /usr/x86_64-multilib-linux-gnu/usr/include/libelf.h:34, from linker.c:17: /usr/x86_64-multilib-linux-gnu/usr/include/elfdefinitions.h:2493:3: error: conflicting types for ‘Elf64_Lib’ 2493 | } Elf64_Lib; | ^~~~~~~~~ In file included from linker.c:16: /usr/x86_64-multilib-linux-gnu/usr/include/elf.h:2006:3: note: previous declaration of ‘Elf64_Lib’ was here 2006 | } Elf64_Lib; | ^~~~~~~~~ In file included from /usr/x86_64-multilib-linux-gnu/usr/include/libelf.h:34, from linker.c:17: /usr/x86_64-multilib-linux-gnu/usr/include/elfdefinitions.h:2514:2: error: expected identifier before numeric constant 2514 | _ELF_DEFINE_LL_FLAGS() | ^~~~~~~~~~~~~~~~~~~~ /usr/x86_64-multilib-linux-gnu/usr/include/elfdefinitions.h:2546:2: error: expected identifier before numeric constant 2546 | _ELF_DEFINE_NOTE_ENTRY_TYPES() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/x86_64-multilib-linux-gnu/usr/include/elfdefinitions.h:2566:18: error: conflicting types for ‘Elf32_Nhdr’ 2566 | typedef Elf_Note Elf32_Nhdr; /* 32-bit note header. */ | ^~~~~~~~~~ In file included from linker.c:16: /usr/x86_64-multilib-linux-gnu/usr/include/elf.h:1240:3: note: previous declaration of ‘Elf32_Nhdr’ was here 1240 | } Elf32_Nhdr; | ^~~~~~~~~~ In file included from /usr/x86_64-multilib-linux-gnu/usr/include/libelf.h:34, from linker.c:17: /usr/x86_64-multilib-linux-gnu/usr/include/elfdefinitions.h:2567:18: error: conflicting types for ‘Elf64_Nhdr’ 2567 | typedef Elf_Note Elf64_Nhdr; /* 64-bit note header. */ | ^~~~~~~~~~ In file included from linker.c:16: /usr/x86_64-multilib-linux-gnu/usr/include/elf.h:1247:3: note: previous declaration of ‘Elf64_Nhdr’ was here 1247 | } Elf64_Nhdr; | ^~~~~~~~~~ In file included from /usr/x86_64-multilib-linux-gnu/usr/include/libelf.h:34, from linker.c:17: /usr/x86_64-multilib-linux-gnu/usr/include/elfdefinitions.h:2578:3: error: conflicting types for ‘Elf_Options’ 2578 | } Elf_Options; | ^~~~~~~~~~~ In file included from linker.c:16: /usr/x86_64-multilib-linux-gnu/usr/include/elf.h:1779:3: note: previous declaration of ‘Elf_Options’ was here 1779 | } Elf_Options; | ^~~~~~~~~~~ In file included from /usr/x86_64-multilib-linux-gnu/usr/include/libelf.h:34, from linker.c:17: /usr/x86_64-multilib-linux-gnu/usr/include/elfdefinitions.h:2602:2: error: expected identifier before numeric constant 2602 | _ELF_DEFINE_OPTION_KINDS() | ^~~~~~~~~~~~~~~~~~~~~~~~ /usr/x86_64-multilib-linux-gnu/usr/include/elfdefinitions.h:2627:2: error: expected identifier before numeric constant 2627 | _ELF_DEFINE_ODK_EXCEPTIONS_MASK() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/x86_64-multilib-linux-gnu/usr/include/elfdefinitions.h:2643:2: error: expected identifier before numeric constant 2643 | _ELF_DEFINE_ODK_PAD_MASK() | ^~~~~~~~~~~~~~~~~~~~~~~~ /usr/x86_64-multilib-linux-gnu/usr/include/elfdefinitions.h:2666:2: error: expected identifier before numeric constant 2666 | _ELF_DEFINE_ODK_HWPATCH_MASK() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/x86_64-multilib-linux-gnu/usr/include/elfdefinitions.h:2685:2: error: expected identifier before numeric constant 2685 | _ELF_DEFINE_ODK_HWP_MASK() | ^~~~~~~~~~~~~~~~~~~~~~~~ /usr/x86_64-multilib-linux-gnu/usr/include/elfdefinitions.h:2714:3: error: conflicting types for ‘Elf32_RegInfo’ 2714 | } Elf32_RegInfo; | ^~~~~~~~~~~~~ In file included from linker.c:16: /usr/x86_64-multilib-linux-gnu/usr/include/elf.h:1767:3: note: previous declaration of ‘Elf32_RegInfo’ was here 1767 | } Elf32_RegInfo; | ^~~~~~~~~~~~~ In file included from /usr/x86_64-multilib-linux-gnu/usr/include/libelf.h:34, from linker.c:17: /usr/x86_64-multilib-linux-gnu/usr/include/elfdefinitions.h:2738:3: error: conflicting types for ‘Elf32_Phdr’ 2738 | } Elf32_Phdr; | ^~~~~~~~~~ In file included from linker.c:16: /usr/x86_64-multilib-linux-gnu/usr/include/elf.h:686:3: note: previous declaration of ‘Elf32_Phdr’ was here 686 | } Elf32_Phdr; | ^~~~~~~~~~ In file included from /usr/x86_64-multilib-linux-gnu/usr/include/libelf.h:34, from linker.c:17: /usr/x86_64-multilib-linux-gnu/usr/include/elfdefinitions.h:2750:3: error: conflicting types for ‘Elf64_Phdr’ 2750 | } Elf64_Phdr; | ^~~~~~~~~~ In file included from linker.c:16: /usr/x86_64-multilib-linux-gnu/usr/include/elf.h:698:3: note: previous declaration of ‘Elf64_Phdr’ was here 698 | } Elf64_Phdr; | ^~~~~~~~~~ In file included from /usr/x86_64-multilib-linux-gnu/usr/include/libelf.h:34, from linker.c:17: /usr/x86_64-multilib-linux-gnu/usr/include/elfdefinitions.h:2765:3: error: conflicting types for ‘Elf32_Move’ 2765 | } Elf32_Move; | ^~~~~~~~~~ In file included from linker.c:16: /usr/x86_64-multilib-linux-gnu/usr/include/elf.h:1363:3: note: previous declaration of ‘Elf32_Move’ was here 1363 | } Elf32_Move; | ^~~~~~~~~~ In file included from /usr/x86_64-multilib-linux-gnu/usr/include/libelf.h:34, from linker.c:17: /usr/x86_64-multilib-linux-gnu/usr/include/elfdefinitions.h:2774:3: error: conflicting types for ‘Elf64_Move’ 2774 | } Elf64_Move; | ^~~~~~~~~~ In file included from linker.c:16: /usr/x86_64-multilib-linux-gnu/usr/include/elf.h:1372:3: note: previous declaration of ‘Elf64_Move’ was here 1372 | } Elf64_Move; | ^~~~~~~~~~ In file included from /usr/x86_64-multilib-linux-gnu/usr/include/libelf.h:34, from linker.c:17: /usr/x86_64-multilib-linux-gnu/usr/include/elfdefinitions.h:2800:3: error: conflicting types for ‘Elf32_Shdr’ 2800 | } Elf32_Shdr; | ^~~~~~~~~~ In file included from linker.c:16: /usr/x86_64-multilib-linux-gnu/usr/include/elf.h:393:3: note: previous declaration of ‘Elf32_Shdr’ was here 393 | } Elf32_Shdr; | ^~~~~~~~~~ In file included from /usr/x86_64-multilib-linux-gnu/usr/include/libelf.h:34, from linker.c:17: /usr/x86_64-multilib-linux-gnu/usr/include/elfdefinitions.h:2814:3: error: conflicting types for ‘Elf64_Shdr’ 2814 | } Elf64_Shdr; | ^~~~~~~~~~ In file included from linker.c:16: /usr/x86_64-multilib-linux-gnu/usr/include/elf.h:407:3: note: previous declaration of ‘Elf64_Shdr’ was here 407 | } Elf64_Shdr; | ^~~~~~~~~~ In file included from /usr/x86_64-multilib-linux-gnu/usr/include/libelf.h:34, from linker.c:17: /usr/x86_64-multilib-linux-gnu/usr/include/elfdefinitions.h:2828:3: error: conflicting types for ‘Elf32_Sym’ 2828 | } Elf32_Sym; | ^~~~~~~~~ In file included from linker.c:16: /usr/x86_64-multilib-linux-gnu/usr/include/elf.h:524:3: note: previous declaration of ‘Elf32_Sym’ was here 524 | } Elf32_Sym; | ^~~~~~~~~ In file included from /usr/x86_64-multilib-linux-gnu/usr/include/libelf.h:34, from linker.c:17: /usr/x86_64-multilib-linux-gnu/usr/include/elfdefinitions.h:2837:3: error: conflicting types for ‘Elf64_Sym’ 2837 | } Elf64_Sym; | ^~~~~~~~~ In file included from linker.c:16: /usr/x86_64-multilib-linux-gnu/usr/include/elf.h:534:3: note: previous declaration of ‘Elf64_Sym’ was here 534 | } Elf64_Sym; | ^~~~~~~~~ In file included from /usr/x86_64-multilib-linux-gnu/usr/include/libelf.h:34, from linker.c:17: /usr/x86_64-multilib-linux-gnu/usr/include/elfdefinitions.h:2858:3: error: conflicting types for ‘Elf32_Syminfo’ 2858 | } Elf32_Syminfo; | ^~~~~~~~~~~~~ In file included from linker.c:16: /usr/x86_64-multilib-linux-gnu/usr/include/elf.h:543:3: note: previous declaration of ‘Elf32_Syminfo’ was here 543 | } Elf32_Syminfo; | ^~~~~~~~~~~~~ In file included from /usr/x86_64-multilib-linux-gnu/usr/include/libelf.h:34, from linker.c:17: /usr/x86_64-multilib-linux-gnu/usr/include/elfdefinitions.h:2864:3: error: conflicting types for ‘Elf64_Syminfo’ 2864 | } Elf64_Syminfo; | ^~~~~~~~~~~~~ In file included from linker.c:16: /usr/x86_64-multilib-linux-gnu/usr/include/elf.h:549:3: note: previous declaration of ‘Elf64_Syminfo’ was here 549 | } Elf64_Syminfo; | ^~~~~~~~~~~~~ In file included from /usr/x86_64-multilib-linux-gnu/usr/include/libelf.h:34, from linker.c:17: /usr/x86_64-multilib-linux-gnu/usr/include/elfdefinitions.h:2873:3: error: conflicting types for ‘Elf32_Rel’ 2873 | } Elf32_Rel; | ^~~~~~~~~ In file included from linker.c:16: /usr/x86_64-multilib-linux-gnu/usr/include/elf.h:635:3: note: previous declaration of ‘Elf32_Rel’ was here 635 | } Elf32_Rel; | ^~~~~~~~~ In file included from /usr/x86_64-multilib-linux-gnu/usr/include/libelf.h:34, from linker.c:17: /usr/x86_64-multilib-linux-gnu/usr/include/elfdefinitions.h:2879:3: error: conflicting types for ‘Elf32_Rela’ 2879 | } Elf32_Rela; | ^~~~~~~~~~ In file included from linker.c:16: /usr/x86_64-multilib-linux-gnu/usr/include/elf.h:655:3: note: previous declaration of ‘Elf32_Rela’ was here 655 | } Elf32_Rela; | ^~~~~~~~~~ In file included from /usr/x86_64-multilib-linux-gnu/usr/include/libelf.h:34, from linker.c:17: /usr/x86_64-multilib-linux-gnu/usr/include/elfdefinitions.h:2884:3: error: conflicting types for ‘Elf64_Rel’ 2884 | } Elf64_Rel; | ^~~~~~~~~ In file included from linker.c:16: /usr/x86_64-multilib-linux-gnu/usr/include/elf.h:646:3: note: previous declaration of ‘Elf64_Rel’ was here 646 | } Elf64_Rel; | ^~~~~~~~~ In file included from /usr/x86_64-multilib-linux-gnu/usr/include/libelf.h:34, from linker.c:17: /usr/x86_64-multilib-linux-gnu/usr/include/elfdefinitions.h:2890:3: error: conflicting types for ‘Elf64_Rela’ 2890 | } Elf64_Rela; | ^~~~~~~~~~ In file included from linker.c:16: /usr/x86_64-multilib-linux-gnu/usr/include/elf.h:662:3: note: previous declaration of ‘Elf64_Rela’ was here 662 | } Elf64_Rela; | ^~~~~~~~~~ In file included from /usr/x86_64-multilib-linux-gnu/usr/include/libelf.h:34, from linker.c:17: /usr/x86_64-multilib-linux-gnu/usr/include/elfdefinitions.h:2911:3: error: conflicting types for ‘Elf32_Verdaux’ 2911 | } Elf32_Verdaux; | ^~~~~~~~~~~~~ In file included from linker.c:16: /usr/x86_64-multilib-linux-gnu/usr/include/elf.h:1057:3: note: previous declaration of ‘Elf32_Verdaux’ was here 1057 | } Elf32_Verdaux; | ^~~~~~~~~~~~~ In file included from /usr/x86_64-multilib-linux-gnu/usr/include/libelf.h:34, from linker.c:17: /usr/x86_64-multilib-linux-gnu/usr/include/elfdefinitions.h:2920:3: error: conflicting types for ‘Elf32_Vernaux’ 2920 | } Elf32_Vernaux; | ^~~~~~~~~~~~~ In file included from linker.c:16: /usr/x86_64-multilib-linux-gnu/usr/include/elf.h:1107:3: note: previous declaration of ‘Elf32_Vernaux’ was here 1107 | } Elf32_Vernaux; | ^~~~~~~~~~~~~ In file included from /usr/x86_64-multilib-linux-gnu/usr/include/libelf.h:34, from linker.c:17: /usr/x86_64-multilib-linux-gnu/usr/include/elfdefinitions.h:2931:3: error: conflicting types for ‘Elf32_Verdef’ 2931 | } Elf32_Verdef; | ^~~~~~~~~~~~ In file included from linker.c:16: /usr/x86_64-multilib-linux-gnu/usr/include/elf.h:1020:3: note: previous declaration of ‘Elf32_Verdef’ was here 1020 | } Elf32_Verdef; | ^~~~~~~~~~~~ In file included from /usr/x86_64-multilib-linux-gnu/usr/include/libelf.h:34, from linker.c:17: /usr/x86_64-multilib-linux-gnu/usr/include/elfdefinitions.h:2940:3: error: conflicting types for ‘Elf32_Verneed’ 2940 | } Elf32_Verneed; | ^~~~~~~~~~~~~ In file included from linker.c:16: /usr/x86_64-multilib-linux-gnu/usr/include/elf.h:1078:3: note: previous declaration of ‘Elf32_Verneed’ was here 1078 | } Elf32_Verneed; | ^~~~~~~~~~~~~ In file included from /usr/x86_64-multilib-linux-gnu/usr/include/libelf.h:34, from linker.c:17: /usr/x86_64-multilib-linux-gnu/usr/include/elfdefinitions.h:2949:3: error: conflicting types for ‘Elf64_Verdaux’ 2949 | } Elf64_Verdaux; | ^~~~~~~~~~~~~ In file included from linker.c:16: /usr/x86_64-multilib-linux-gnu/usr/include/elf.h:1064:3: note: previous declaration of ‘Elf64_Verdaux’ was here 1064 | } Elf64_Verdaux; | ^~~~~~~~~~~~~ In file included from /usr/x86_64-multilib-linux-gnu/usr/include/libelf.h:34, from linker.c:17: /usr/x86_64-multilib-linux-gnu/usr/include/elfdefinitions.h:2957:3: error: conflicting types for ‘Elf64_Vernaux’ 2957 | } Elf64_Vernaux; | ^~~~~~~~~~~~~ In file included from linker.c:16: /usr/x86_64-multilib-linux-gnu/usr/include/elf.h:1117:3: note: previous declaration of ‘Elf64_Vernaux’ was here 1117 | } Elf64_Vernaux; | ^~~~~~~~~~~~~ In file included from /usr/x86_64-multilib-linux-gnu/usr/include/libelf.h:34, from linker.c:17: /usr/x86_64-multilib-linux-gnu/usr/include/elfdefinitions.h:2967:3: error: conflicting types for ‘Elf64_Verdef’ 2967 | } Elf64_Verdef; | ^~~~~~~~~~~~ In file included from linker.c:16: /usr/x86_64-multilib-linux-gnu/usr/include/elf.h:1032:3: note: previous declaration of ‘Elf64_Verdef’ was here 1032 | } Elf64_Verdef; | ^~~~~~~~~~~~ In file included from /usr/x86_64-multilib-linux-gnu/usr/include/libelf.h:34, from linker.c:17: /usr/x86_64-multilib-linux-gnu/usr/include/elfdefinitions.h:2975:3: error: conflicting types for ‘Elf64_Verneed’ 2975 | } Elf64_Verneed; | ^~~~~~~~~~~~~ In file included from linker.c:16: /usr/x86_64-multilib-linux-gnu/usr/include/elf.h:1089:3: note: previous declaration of ‘Elf64_Verneed’ was here 1089 | } Elf64_Verneed; | ^~~~~~~~~~~~~ make: *** [Makefile:114: staticobjs/linker.o] Error 1 make: *** Waiting for unfinished jobs....