PicoPiFi icon indicating copy to clipboard operation
PicoPiFi copied to clipboard

Compiling current head is impossible due to submodule version mismatches

Open iAmInActions opened this issue 6 months ago • 1 comments

Due to this change in the pico-sdk, the build now fails while compiling the cyw43 driver:

[ 92%] Building C object CMakeFiles/PicoPiFi.dir/pico-sdk/src/rp2_common/pico_cyw43_driver/cyw43_bus_pio_spi.c.o
/home/mueller/PicoPiFi/pico-sdk/src/rp2_common/pico_cyw43_driver/cyw43_bus_pio_spi.c: In function '_cyw43_write_reg':
/home/mueller/PicoPiFi/pico-sdk/src/rp2_common/pico_cyw43_driver/cyw43_bus_pio_spi.c:456:13: error: 'cyw43_int_t' {aka 'struct _cyw43_int_t'} has no member named 'last_size'
  456 |         self->last_size = 8;
      |             ^~
/home/mueller/PicoPiFi/pico-sdk/src/rp2_common/pico_cyw43_driver/cyw43_bus_pio_spi.c:457:13: error: 'cyw43_int_t' {aka 'struct _cyw43_int_t'} has no member named 'last_header'
  457 |         self->last_header[0] = buf[0];
      |             ^~
/home/mueller/PicoPiFi/pico-sdk/src/rp2_common/pico_cyw43_driver/cyw43_bus_pio_spi.c:458:13: error: 'cyw43_int_t' {aka 'struct _cyw43_int_t'} has no member named 'last_header'
  458 |         self->last_header[1] = buf[1];
      |             ^~
/home/mueller/PicoPiFi/pico-sdk/src/rp2_common/pico_cyw43_driver/cyw43_bus_pio_spi.c:459:15: error: 'cyw43_int_t' {aka 'struct _cyw43_int_t'} has no member named 'last_backplane_window'; did you mean 'cur_backplane_window'?
  459 |         self->last_backplane_window = self->cur_backplane_window;
      |               ^~~~~~~~~~~~~~~~~~~~~
      |               cur_backplane_window
make[2]: *** [CMakeFiles/PicoPiFi.dir/build.make:2263: CMakeFiles/PicoPiFi.dir/pico-sdk/src/rp2_common/pico_cyw43_driver/cyw43_bus_pio_spi.c.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:1785: CMakeFiles/PicoPiFi.dir/all] Error 2
make: *** [Makefile:91: all] Error 2

If anyone wants to recreate it, follow the build instructions from the README on the current version of the project

iAmInActions avatar May 25 '25 14:05 iAmInActions

I found a temporary workaround: in the CMakeLists.txt, add add_definitions(-DCYW43_INCLUDE_LEGACY_F1_OVERFLOW_WORKAROUND_VARIABLES=1) before include(pico-sdk/pico_sdk_init.cmake)

after that, the project compiles without errors.

iAmInActions avatar May 25 '25 14:05 iAmInActions