[U-Boot-Users] U-boot-1.3.3-rc2 and 'tools/env/fw_printenv' Compilation Error

Grant Erickson gerickson at nuovations.com
Wed May 7 00:00:43 CEST 2008


In the current GIT top-of-tree (1.3.3-rc2) should tools/env/fw_printenv
compile and link?

Invoking the following build lines:

% CROSS_COMPILE=ppc_4xx- PATH=${PATH}:/usr/local/eldk/4.1/usr/bin make -C
/tmp/u-boot/source/ O=/tmp/u-boot/build/ TOOLSUBDIRS=env kilauea_config

% CROSS_COMPILE=ppc_4xx- PATH=${PATH}:/usr/local/eldk/4.1/usr/bin make -C
/tmp/u-boot/source/ O=/tmp/u-boot/build/ TOOLSUBDIRS=env all

results in:

...
make[2]: Entering directory `/tmp/u-boot/source/tools/env'
ppc_4xx-gcc -Wall -DUSE_HOSTCC /tmp/u-boot/build/tools/env/crc32.c  fw_env.c
fw_env_main.c -o /tmp/u-boot/build/tools/env/fw_printenv
/tmp/u-boot/build/tools/env/crc32.c:17:22: error: watchdog.h: No such file
or directory
/tmp/u-boot/build/tools/env/crc32.c:156: error: conflicting types for
'crc32'
/usr/local/eldk/4.1/usr/../ppc_4xx/usr/include/zlib.h:1244: error: previous
declaration of 'crc32' was here
make[2]: *** [/tmp/u-boot/build/tools/env/fw_printenv] Error 1
...

The watchdog.h issue could* be solved with:

- CPPFLAGS := -Wall -DUSE_HOSTCC
+ CPPFLAGS := -Wall -DUSE_HOSTCC \
+           -idirafter $(SRCTREE)/include \
+           -idirafter $(OBJTREE)/include2 \
+           -idirafter $(OBJTREE)/include

However, it's not clear this is the "Right Thing" to do if fw_printenv is
supposed to be standalone. Alternatively, this would also work:

--- u-boot-1.3.3-rc2/lib_generic/crc32.c    2008-05-02 08:46:36.000000000
-0700
+++ u-boot-1.3.3-rc2.N/lib_generic/crc32.c    2008-05-06 14:53:20.000000000
-0700
@@ -14,7 +14,9 @@
 #include <stdint.h>
 #endif
 
+#if defined(CONFIG_HW_WATCHDOG) || defined(CONFIG_WATCHDOG)
 #include <watchdog.h>
+#endif
 #include "zlib.h"
 
 #define local static
---

Any insights on intended direction with the multiple crc32() prototypes?

Regards,

Grant






More information about the U-Boot mailing list