micropython-ulab: Cannot build latest MicroPython v1.18 w/ ulab
Hi I tried to build the Pico port of MicroPython (v1.18, pulled today) together with ulab (latest version, pulled today). The targeted board is the Nano RP2040 Connect. The building process failed with the following message:
/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: CMakeFiles/firmware.dir/home/tom/ulab/code/numpy/io/io.c.obj: in function `io_save':
io.c:(.text.io_save+0x42): undefined reference to `mp_builtin_open'
/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: CMakeFiles/firmware.dir/home/tom/ulab/code/numpy/io/io.c.obj: in function `io_load':
io.c:(.text.io_load+0x34): undefined reference to `mp_builtin_open'
collect2: error: ld returned 1 exit status
mcd
I guess this may be related to the latest optimizations in the 1.18 release of MicroPython.
A work-arround is to set ULAB_NUMPY_HAS_LOAD and ULAB_NUMPY_HAS_SAVE both to 0 - then in builds perfectly fine.
I am using Ubuntu 20.04 running in the Windows 11 Linux subsystem. The build command is:
make -j 8 BOARD=ARDUINO_NANO_RP2040_CONNECT USER_C_MODULES=$BUILD_DIR/../ulab/code/micropython.cmake
Thanks.
About this issue
- Original URL
- State: closed
- Created 2 years ago
- Comments: 19 (18 by maintainers)
@dpgeorge Many thanks for the feedback! I will try to go with your first suggestion. I’ll ping you once more, if we still have difficulties.