0

I'm adding a generic-package to Buildroot 2019.02.1. This package (fbi) includes <asm/page.h> in the fbtools.c, but the headers are not available in output/target. Compiling the package causes the following error:

$ make fbi-rebuild
[...]
  CC      fbi.o
  CC      fbtools.o
fbtools.c:24:30: fatal error: asm/page.h: No such file or directory
 #include <asm/page.h>
                              ^
compilation terminated.
[...]

I've added patches to and selected necessary packages for fbi:

$ grep -E '^[^#].*(HEADERS|FBI|JPEG)' .config
 BR2_KERNEL_HEADERS_VERSION=y
 BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y
 BR2_DEFAULT_KERNEL_HEADERS="4.9.17"
 BR2_PACKAGE_LINUX_HEADERS=y
 BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0=y
 [...]
 BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9=y
 BR2_TOOLCHAIN_HEADERS_AT_LEAST="4.9"
 BR2_PACKAGE_FBI=y
 BR2_PACKAGE_JPEG=y
 BR2_PACKAGE_JPEG_SIMD_SUPPORT=y
 BR2_PACKAGE_LIBJPEG=y
 BR2_PACKAGE_HAS_JPEG=y
 BR2_PACKAGE_PROVIDES_JPEG="libjpeg" 

$ for i in `ls package/fbi/000*`; do echo $i; cat $i | grep -E '^[-+][^-+]'; done
 package/fbi/0001-fix-verion.patch
 -    fprintf(stderr, "fbi version " VERSION
 +    fprintf(stderr, "fbi version 1.32 " 
 package/fbi/0002-fix-makefile.patch
 -       @echo -e "$(make-config-q)" > $@
 +       @echo "$(make-config-q)" > $@

$ find output/ -name page.h
 output/build/linux-headers-4.9.17/fs/nilfs2/page.h
 output/build/linux-headers-4.9.17/include/asm-generic/page.h
 [...]
 output/build/linux-headers-4.9.17/arch/score/include/asm/page.h

The kernel I use (also 4.9.17) is not part of Buildroot, but I think that shouldn't be a problem.

What is the correct way to compile against the kernel headers within Buildroot?

https://www.kraxel.org/releases/fbida/fbi_1.31.tar.gz

1 Answer 1

0

It seems impossible to compile against the headers without integrating them into the root file system. I tried to compile fbi out of the Buildroot tree, but this takes too much effort.

I'm trying fbv instead of fbi, because it's already in Buildroot.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .