Docker Build Error for Himax WEI Plus board

Facing some error while building image for my Himax WEI plus board from edge-impulse C++ library using docker.
The Build process goes upto 100% but give error after ‘Linking CXX executable app.elf’ step.
Even though I included the ‘hx_drv_tflm.h’ header file in my main.cc, why I am still getting errors for already included files like:
undefined reference to hx_drv_swuart_write' undefined reference to hx_drv_swuart_single_read’

@aureleq Please try to help me.
I ran these command:
sudo docker build -t himax-build-gnu -f Dockerfile.gnu .
mkdir -p build-gnu
sudo docker run --rm -it -v $PWD:/app himax-build-gnu /bin/bash -c "cd build-gnu && cmake -DCMAKE_TOOLCHAIN_FILE=toolchain.gnu.cmake …"

sudo docker run --rm -it -v $PWD:/app:delegated himax-build-gnu /bin/bash -c "cd build-gnu && make -j && sh …/make-image.sh GNU"

The last command popped the attached error. Please help.

Start of command execution image

@JayeshRajam I think this function comes from liblibtflm.a - is that linked in? E.g. see the linker flags in toolchain.gnu.cmake in our examples:

set(MY_LINKER_FLAGS "\
-Wl,-lmli -Wl,-lmwdepend -Wl,-marcv2elfx -Wl,-Map=${PROJECT_NAME}.map -Wl,--strip-debug -Wl,--stats,--gc-sections -Wl,--cref \
-L${CMAKE_SOURCE_DIR}/ \
-L${CMAKE_SOURCE_DIR}/arc_mli_package/bin/himax_arcem9d_r16/release \
-L${CMAKE_SOURCE_DIR}/mw_gnu_dependencies/gnu_depend_lib \
-Wl,--start-group \
${CMAKE_SOURCE_DIR}/libcpuarc.a \
${CMAKE_SOURCE_DIR}/libbss.a \
${CMAKE_SOURCE_DIR}/libboard_open_socket.a \
${CMAKE_SOURCE_DIR}/libboard_socket.a \
${CMAKE_SOURCE_DIR}/liblibcommon.a \
${CMAKE_SOURCE_DIR}/liblibaudio.a \
${CMAKE_SOURCE_DIR}/liblibsecurity.a \
${CMAKE_SOURCE_DIR}/liblibsensordp.a \
${CMAKE_SOURCE_DIR}/liblibtflm.a \        <---
-Wl,--end-group")
2 Likes

Yes, I replaced the file and the undefined reference errors are now gone. Thank you for that.
But still I am unable to complete the buid process. Can you help…

@janjongboom I think the error I got is due to size of my model i.e. storage shortage.
Is it so? Can it be resolved without changing my model.
I noticed as I changed the .a file from my another directory, the excess size displayed in bytes increased.

I don’t think so, but @rjames is having a similar issue and is fixing the build pipeline as we speak so hopefully we’ll have this resolved tomorrow.

1 Like

@JayeshRajam we’ve updated https://github.com/edgeimpulse/firmware-himax-we-i-plus and https://github.com/edgeimpulse/example-standalone-inferencing-himax to Himax SDK 18, which should resolve this issue.

1 Like