
Earlier I found this error occurs because during the tool build, it uses list.h file not in the include/linux directory of u-boot but in my host computer's /usr/local/include/linux directory. So if I temporarily rename the /usr/local/include/linux/list.h, u-boot compiles ok.
From https://lists.denx.de/pipermail/u-boot/2015-June/217687.html I found it
is correct to use the include path in my host system during the tool build. (because it happend during tools/lib/sha1.c.) But I don't have that hlist_node_list definition in my system header file. What is wrong with my system? (ubuntu 20.04).
Chan Kim
-----Original Message----- From: Chan Kim ckim@etri.re.kr Sent: Sunday, June 4, 2023 11:41 PM To: U-Boot Mailing List u-boot@lists.denx.de Subject: compile error
Hello all, For commit 26659d42654 (Fri Jun 2 12:13:01 2023 -0400)
When I do 'make qemu_arm64_defconfig' and 'make', I get this compile error.
ckim@ckim-ubuntu:~/u-boot-test/u-boot$ make -j28 ENVC include/generated/env.txt UPD include/generated/timestamp_autogenerated.h ENVP include/generated/env.in ENVT include/generated/environment.h HOSTCC tools/lib/sha1.o HOSTCC tools/lib/sha256.o HOSTCC tools/lib/sha512.o In file included from include/watchdog.h:13, from ./tools/../lib/sha512.c:20, from tools/lib/sha512.c:1: include/cyclic.h:40:20: error: field ??list?? has incomplete type 40 | struct hlist_node list; | ^~~~ In file included from include/watchdog.h:13, from ./tools/../lib/sha1.c:25, from tools/lib/sha1.c:1: include/cyclic.h:40:20: error: field ??list?? has incomplete type 40 | struct hlist_node list; | ^~~~ In file included from include/watchdog.h:13, from ./tools/../lib/sha256.c:14, from tools/lib/sha256.c:1: include/cyclic.h:40:20: error: field ??list?? has incomplete type 40 | struct hlist_node list; | ^~~~ make[1]: *** [scripts/Makefile.host:112: tools/lib/sha512.o] Error 1 make[1]: *** Waiting for unfinished jobs.... make[1]: *** [scripts/Makefile.host:112: tools/lib/sha1.o] Error 1 make[1]: *** [scripts/Makefile.host:112: tools/lib/sha256.o] Error 1 make: *** [Makefile:1853: tools] Error 2
Can anyone please fix it?
Thank you!
Chan Kim

Hi Chan,
On Mon, 5 Jun 2023 at 06:30, Chan Kim ckim@etri.re.kr wrote:
Earlier I found this error occurs because during the tool build, it uses list.h file not in the include/linux directory of u-boot but in my host computer's /usr/local/include/linux directory. So if I temporarily rename the /usr/local/include/linux/list.h, u-boot compiles ok. From https://lists.denx.de/pipermail/u-boot/2015-June/217687.html I found it is correct to use the include path in my host system during the tool build. (because it happend during tools/lib/sha1.c.) But I don't have that hlist_node_list definition in my system header file. What is wrong with my system? (ubuntu 20.04).
It is strange that you have /usr/local/include/linux
Really you should not have that...did you build something locally, perhaps?
Regards, Simon
Chan Kim
-----Original Message----- From: Chan Kim ckim@etri.re.kr Sent: Sunday, June 4, 2023 11:41 PM To: U-Boot Mailing List u-boot@lists.denx.de Subject: compile error
Hello all, For commit 26659d42654 (Fri Jun 2 12:13:01 2023 -0400)
When I do 'make qemu_arm64_defconfig' and 'make', I get this compile error.
ckim@ckim-ubuntu:~/u-boot-test/u-boot$ make -j28 ENVC include/generated/env.txt UPD include/generated/timestamp_autogenerated.h ENVP include/generated/env.in ENVT include/generated/environment.h HOSTCC tools/lib/sha1.o HOSTCC tools/lib/sha256.o HOSTCC tools/lib/sha512.o In file included from include/watchdog.h:13, from ./tools/../lib/sha512.c:20, from tools/lib/sha512.c:1: include/cyclic.h:40:20: error: field ??list?? has incomplete type 40 | struct hlist_node list; | ^~~~ In file included from include/watchdog.h:13, from ./tools/../lib/sha1.c:25, from tools/lib/sha1.c:1: include/cyclic.h:40:20: error: field ??list?? has incomplete type 40 | struct hlist_node list; | ^~~~ In file included from include/watchdog.h:13, from ./tools/../lib/sha256.c:14, from tools/lib/sha256.c:1: include/cyclic.h:40:20: error: field ??list?? has incomplete type 40 | struct hlist_node list; | ^~~~ make[1]: *** [scripts/Makefile.host:112: tools/lib/sha512.o] Error 1 make[1]: *** Waiting for unfinished jobs.... make[1]: *** [scripts/Makefile.host:112: tools/lib/sha1.o] Error 1 make[1]: *** [scripts/Makefile.host:112: tools/lib/sha256.o] Error 1 make: *** [Makefile:1853: tools] Error 2
Can anyone please fix it?
Thank you!
Chan Kim
participants (2)
-
Chan Kim
-
Simon Glass