[U-Boot] libfdt/fdt_ro.c build issues...

Wolfgang Denk wd at denx.de
Wed Aug 27 10:04:48 CEST 2008


Dear Jerry Van Baren,

In message <48B4B62E.5000301 at gmail.com> you wrote:
>
> > ...
> > tools/fdt_ro.c: In function 'fdt_path_offset':
> > tools/fdt_ro.c:158: warning: implicit declaration of function 'fdt_getprop_namelen'
> > tools/fdt_ro.c:158: warning: assignment makes pointer from integer without a cast
> > tools/fdt_ro.c: At top level:
> > tools/fdt_ro.c:281: error: conflicting types for 'fdt_getprop_namelen'
> > tools/fdt_ro.c:158: error: previous implicit declaration of 'fdt_getprop_namelen' was here
> > ...
...

> ??? I'm not seeing this, even with a fresh pull from the u-boot repository.
> 
> The function is declared in include/libfdt.h, properly in my copy.

The problem comes from tools/fdt_host.h which includes:

	/* Make sure to include u-boot version of libfdt include files */
	#include "../include/fdt.h"
	#include "../include/libfdt.h"
	#include "../include/fdt_support.h"

However, the actual compiler run looks like this:

make[1]: Entering directory `/home/wd/git/u-boot/work/tools'
ln -s /home/wd/git/u-boot/work/tools/../libfdt/fdt.c /work/wd/tmp-ppc/tools/fdt.c
ln -s /home/wd/git/u-boot/work/tools/../libfdt/fdt_ro.c /work/wd/tmp-ppc/tools/fdt_ro.c
gcc -g -Wall -idirafter /home/wd/git/u-boot/work/include -idirafter /work/wd/tmp-ppc/include2 -idirafter /work/wd/tmp-ppc/include -DTEXT_BASE=0xFFFA0000 -DUSE_HOSTCC -O -c -o /work/wd/tmp-ppc/tools/fdt_ro.o /work/wd/tmp-ppc/tools/fdt_ro.c

and causes this:

...
# 1 "/work/wd/tmp-ppc/tools/fdt_host.h" 1
# 24 "/work/wd/tmp-ppc/tools/fdt_host.h"
# 1 "/usr/local/include/../include/fdt.h" 1 3
...
# 25 "/work/wd/tmp-ppc/tools/fdt_host.h" 2
# 1 "/usr/local/include/../include/libfdt.h" 1 3
# 54 "/usr/local/include/../include/libfdt.h" 3
...

i. e. it includes the WRONG versions of the header files - not  these
from the U-Boot code, but from the host system.

The problem is the "-idirafter":

  `-idirafter DIR'
     Search DIR for header files, but do it _after_ all directories
     specified with `-I' and the standard system directories have been
     exhausted.  DIR is treated as a system include directory.

Hm... not sure how to fix this.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
"Probably the best operating system in the world  is  the  [operating
system] made for the PDP-11 by Bell Laboratories."
                                           - Ted Nelson, October 1977


More information about the U-Boot mailing list