Hi,
(I am working under Linux…)
The last few days I tried to build a lvgl-enable micropython for the esp32 platform.
For that I cloned the git repositories of micropython, lv_micropython and lv_binding_micropython
side by side into one directory:
<directory>/micropython
<directory>/lv_micropython
<directory>/lv_binding_micropython
I followed the instructions on how to build lv_micropython and failed.
Then I compared the files, which need to be modified between the older lv_micropython
and “my version” of micropython and found a lot more differences as those mentioned in
the description online.
I modified “my version of micropython” accordingly at places, where those changes look like
of being lvgl-related and recompiled the stuff again.
No the compilation process runs fine (beside some warnings about comparisons between unsigned and unsigned types). But the linker process failed with this output:
printf "build-GENERIC/esp-idf/bootloader_support/libbootloader_support.a\n build-GENERIC/esp-idf/driver/libdriver.a\n build-GENERIC/esp-idf/efuse/libefuse.a\n build-GENERIC/esp-idf/esp32/libesp32.a\n build-GENERIC/esp-idf/esp_ringbuf/libesp_ringbuf.a\n build-GENERIC/esp-idf/heap/libheap.a\n build-GENERIC/esp-idf/soc/libsoc.a\n build-GENERIC/esp-idf/cxx/libcxx.a\n build-GENERIC/esp-idf/pthread/libpthread.a\n build-GENERIC/esp-idf/freertos/libfreertos.a\n build-GENERIC/esp-idf/vfs/libvfs.a\n build-GENERIC/esp-idf/json/libjson.a\n build-GENERIC/esp-idf/log/liblog.a\n build-GENERIC/esp-idf/xtensa-debug-module/libxtensa-debug-module.a\n build-GENERIC/esp-idf/tcpip_adapter/libtcpip_adapter.a\n build-GENERIC/esp-idf/app_trace/libapp_trace.a\n build-GENERIC/esp-idf/app_update/libapp_update.a\n build-GENERIC/esp-idf/newlib/libnewlib.a\n build-GENERIC/esp-idf/nvs_flash/libnvs_flash.a\n build-GENERIC/esp-idf/smartconfig_ack/libsmartconfig_ack.a\n build-GENERIC/esp-idf/spi_flash/libspi_flash.a\n build-GENERIC/esp-idf/ulp/libulp.a\n build-GENERIC/esp-idf/lwip/liblwip.a\n build-GENERIC/esp-idf/mbedtls/libmbedtls.a\n build-GENERIC/esp-idf/mdns/libmdns.a\n build-GENERIC/esp-idf/esp_http_client/libesp_http_client.a\n build-GENERIC/esp-idf/esp_nghttp/libesp_nghttp.a\n build-GENERIC/esp-idf/esp_tcp_transport/libesp_tcp_transport.a\n build-GENERIC/esp-idf/esp_tls/libesp_tls.a\n build-GENERIC/esp-idf/wpa_supplicant/libwpa_supplicant.a\n build-GENERIC/esp-idf/sdmmc/libsdmmc.a\n build-GENERIC/esp-idf/bt_nimble/libbt_nimble.a\n build-GENERIC/esp-idf/esp_common/libesp_common.a\n build-GENERIC/esp-idf/esp_event/libesp_event.a\n build-GENERIC/esp-idf/esp_wifi/libesp_wifi.a\n build-GENERIC/esp-idf/esp_eth/libesp_eth.a\n build-GENERIC/esp-idf/xtensa/libxtensa.a\n" > build-GENERIC/esp-idf/ldgen_libraries
GEN build-GENERIC/esp32.project.ld
LINK build-GENERIC/application.elf
build-GENERIC/esp-idf/esp_tcp_transport/libesp_tcp_transport.a(transport_tcp.o):(.literal.tcp_close+0x0): undefined reference to `close'
build-GENERIC/esp-idf/esp_tcp_transport/libesp_tcp_transport.a(transport_tcp.o):(.literal.tcp_write+0x0): undefined reference to `write'
build-GENERIC/esp-idf/esp_tcp_transport/libesp_tcp_transport.a(transport_tcp.o):(.literal.tcp_read+0x0): undefined reference to `read'
build-GENERIC/esp-idf/esp_tcp_transport/libesp_tcp_transport.a(transport_tcp.o): In function `tcp_close':
transport_tcp.c:(.text.tcp_close+0x17): undefined reference to `close'
build-GENERIC/esp-idf/esp_tcp_transport/libesp_tcp_transport.a(transport_tcp.o): In function `tcp_write':
transport_tcp.c:(.text.tcp_write+0x22): undefined reference to `write'
build-GENERIC/esp-idf/esp_tcp_transport/libesp_tcp_transport.a(transport_tcp.o): In function `tcp_read':
transport_tcp.c:(.text.tcp_read+0x22): undefined reference to `read'
build-GENERIC/esp-idf/esp_tcp_transport/libesp_tcp_transport.a(transport_tcp.o): In function `tcp_connect':
transport_tcp.c:(.text.tcp_connect+0xc8): undefined reference to `close'
build-GENERIC/esp-idf/esp_tls/libesp_tls.a(esp_tls.o): In function `esp_tls_low_level_conn':
esp_tls.c:(.text.esp_tls_low_level_conn+0x26f): undefined reference to `close'
build-GENERIC/esp-idf/esp_tls/libesp_tls.a(esp_tls.o): In function `esp_tls_conn_delete':
esp_tls.c:(.text.esp_tls_conn_delete+0x26): undefined reference to `close'
build-GENERIC/esp-idf/mbedtls/libmbedtls.a(net_sockets.o):(.literal.mbedtls_net_recv+0x4): undefined reference to `read'
build-GENERIC/esp-idf/mbedtls/libmbedtls.a(net_sockets.o):(.literal.mbedtls_net_send+0x4): undefined reference to `write'
build-GENERIC/esp-idf/mbedtls/libmbedtls.a(net_sockets.o):(.literal.mbedtls_net_free+0x4): undefined reference to `close'
build-GENERIC/esp-idf/mbedtls/libmbedtls.a(net_sockets.o): In function `mbedtls_net_recv':
net_sockets.c:(.text.mbedtls_net_recv+0x12): undefined reference to `read'
build-GENERIC/esp-idf/mbedtls/libmbedtls.a(net_sockets.o): In function `mbedtls_net_send':
net_sockets.c:(.text.mbedtls_net_send+0x12): undefined reference to `write'
build-GENERIC/esp-idf/mbedtls/libmbedtls.a(net_sockets.o): In function `mbedtls_net_free':
net_sockets.c:(.text.mbedtls_net_free+0x12): undefined reference to `close'
make: *** [Makefile:841: build-GENERIC/application.elf] Error 1
[1] 150038 exit 2 make clean all
I tried to figure out, what is missing, but found nothing.
Any help how to get a working lv_micropython for esp32 is very appreciated and an updated version
of the instruction how to build it would be very welcomed.
EDT: Kinda success: Compilation runs fine now (I had used “make” instead of the extended commandline given with the docs).
BUT: After flashing the firmware (which works fine too), I got a no REPL (/dev/ttyUSB0 exists though)…rshell couldn’t managed to connect.
I am out of ideas…
What can I try additionally?
Cheers!
mcc