Compilation Issues with LVGL 9.2 on Yocto - libjpeg-turbo Integration

What MCU/Processor/Board and compiler are you using?

  • Processor/Board: Cavli C10QM (ARM Cortex-A7)
  • Operating System: Yocto Linux 4.14
  • Compiler: arm-oe-linux-gnueabi-gcc (Cross-compilation with sysroot)

What LVGL version are you using?

  • LVGL Version: 9.2.0

What do you want to achieve?

We are trying to compile LVGL 9.2 with libjpeg-turbo for image decoding on our target hardware. The goal is to build the project and include libjpeg-turbo in the cross-compilation environment.

What have you tried so far?

  1. Installed libjpeg-turbo on the host (Ubuntu 16.04) and confirmed that jpegint.h exists in /usr/include.
  2. Verified the presence of required files and updated include paths in the Makefile to point to the correct location for cross-compiling.
  3. Attempted to build LVGL 9.2 with the following Makefile:

INCLUDES = -I./lvgl
-I./drivers/display
-I/home/cavli/C10QM-CS-SDK/apps_proc/cavli/examples/lvgl-9.2.0/cavli_lvgl/libjpeg-turbo-2.1.2/build/include
-I/home/cavli/C10QM-CS-SDK/apps_proc/cavli/examples/lvgl-9.2.0/cavli_lvgl/libjpeg-turbo-2.1.2

CFLAGS = -Wall -O2 -std=c99 -D_POSIX_C_SOURCE=199309L $(INCLUDES)

LIBRARY_PATHS = -L/home/cavli/C10QM-CS-SDK/apps_proc/cavli/examples/lvgl-9.2.0/cavli_lvgl/libjpeg-turbo-2.1.2/lib

LDFLAGS = -lpthread -lrt -ljpeg $(LIBRARY_PATHS)

all: lvgl_fb

  1. Encountered the following error during the build process:
    lvgl/src/libs/libjpeg_turbo/lv_libjpeg_turbo.c:16:21: fatal error: jpegint.h: No such file or directory
    #include <jpegint.h>
    ^
    compilation terminated.

The file jpegint.h exists in /usr/include but seems to be missing during the cross-compilation process.

What do you want to achieve?

I want to include and properly compile libjpeg-turbo in my LVGL project on the Cavli C10QM board with Yocto Linux.