johnttaylor / colony.pico

Raspberry Pico support the Colony.* repositories and sandbox for embedded dual-core 'stuffs'
BSD 3-Clause "New" or "Revised" License
3 stars 0 forks source link

Compilation errors while building projects\examples\blink_w #1

Closed deepakSehjpal closed 9 months ago

deepakSehjpal commented 9 months ago

I followed the instuctions given but I am facing compilation errors:

C:\Users\Lenovo\Documents\GitHub\colony.pico\projects\examples\blink_w\pico_w\windows\gcc>nqbp.py

================================================================================
= START of build for:  blink
= Project Directory:   C:\Users\Lenovo\Documents\GitHub\colony.pico\projects\examples\blink_w\pico_w\windows\gcc
= Toolchain:           GCC Arm-Cortex (none-eabi) Compiler
= Build Configuration: pico
= Begin (UTC):         Tue, 09 Jan 2024 09:18:05
= Build Time:          1704791885 (659d0f4d)
================================================================================
[1/103] Assembling: /Users/Lenovo/Documents/GitHub/colony..../pico-sdk/src/rp2_common/boot_stage2/compile_time_choice.S
FAILED: xsrc/pico-sdk/src/rp2_common/boot_stage2/compile_time_choice.o
arm-none-eabi-gcc -MMD -MT xsrc/pico-sdk/src/rp2_common/boot_stage2/compile_time_choice.o -MF xsrc/pico-sdk/src/rp2_common/boot_stage2/compile_time_choice.o.d -DBUILD_TIME_UTC=0 -DCYW43_LWIP=0 -DLIB_PICO_CYW43_ARCH=1 -DPICO_CYW43_ARCH_THREADSAFE_BACKGROUND=1 -DPICO_STACK_SIZE=2048 -DPICO_COPY_TO_RAM=0 -DPICO_CXX_ENABLE_EXCEPTIONS=0 -DPICO_NO_FLASH=0 -DPICO_NO_HARDWARE=0 -DPICO_ON_DEVICE=1 -DPICO_USE_BLOCKED_RAM=0  -c  -O3 -DPICO_CONFIG_HEADER=/Users/Lenovo/Documents/GitHub/colony.pico/xsrc/pico-sdk/src/boards/include/boards/pico_w.h -mcpu=cortex-m0plus -mthumb -ffunction-sections -fdata-sections -Wno-array-bounds -Wno-stringop-truncation -DPICO_TARGET_NAME=\"blink\" -DPICO_BOARD=\"pico_w\" -DLIB_PICO_BIT_OPS=1 -DLIB_PICO_BIT_OPS_PICO=1 -DLIB_PICO_DIVIDER=1 -DLIB_PICO_DIVIDER_HARDWARE=1 -DLIB_PICO_DOUBLE=1 -DLIB_PICO_DOUBLE_PICO=1 -DLIB_PICO_FLOAT=1 -DLIB_PICO_FLOAT_PICO=1 -DLIB_PICO_INT64_OPS=1 -DLIB_PICO_INT64_OPS_PICO=1 -DLIB_PICO_MALLOC=1 -DLIB_PICO_MEM_OPS=1 -DLIB_PICO_MEM_OPS_PICO=1 -DLIB_PICO_PLATFORM=1 -DLIB_PICO_PRINTF=1 -DLIB_PICO_PRINTF_PICO=1 -DLIB_PICO_RUNTIME=1 -DLIB_PICO_STANDARD_LINK=1 -DLIB_PICO_STDIO=1 -DLIB_PICO_STDLIB=1 -DLIB_PICO_SYNC=1 -DLIB_PICO_SYNC_CORE=1 -DLIB_PICO_SYNC_CRITICAL_SECTION=1 -DLIB_PICO_SYNC_MUTEX=1 -DLIB_PICO_SYNC_SEM=1 -DLIB_PICO_TIME=1 -DLIB_PICO_UTIL=1 -DPICO_BUILD=1 -DLIB_PICO_UNIQUE_ID=1 -DLIB_PICO_STDIO_UART=1 -DBUILD_VARIANT_PICO -DBUILD_NUMBER=0     -I. -I/Users/Lenovo/Documents/GitHub/colony.pico/src  -IC:/Users/Lenovo/Documents/GitHub/colony.pico/projects/examples/blink_w/pico_w/windows/gcc -I/Users/Lenovo/Documents/GitHub/colony.pico/xsrc-I. -I/Users/Lenovo/Documents/GitHub/colony.pico/src  -IC:/Users/Lenovo/Documents/GitHub/colony.pico/projects/examples/blink_w/pico_w/windows/gcc -I/Users/Lenovo/Documents/GitHub/colony.pico/xsrc -I/Users/Lenovo/Documents/GitHub/colony.pico/xsrc/pico-sdk/src/common/pico_stdlib/include -I/Users/Lenovo/Documents/GitHub/colony.pico/xsrc/pico-sdk/src/common/pico_base/include -I/Users/Lenovo/Documents/GitHub/colony.pico/xsrc/pico-sdk/src/common/pico_sync/include -I/Users/Lenovo/Documents/GitHub/colony.pico/xsrc/pico-sdk/src/common/pico_bit_opts/include -I/Users/Lenovo/Documents/GitHub/colony.pico/xsrc/pico-sdk/src/common/pico_divider/include -I/Users/Lenovo/Documents/GitHub/colony.pico/xsrc/pico-sdk/src/common/pico_binary_info/include -I/Users/Lenovo/Documents/GitHub/colony.pico/xsrc/pico-sdk/src/common/pico_time/include -I/Users/Lenovo/Documents/GitHub/colony.pico/xsrc/pico-sdk/src/common/pico_util/include -I/Users/Lenovo/Documents/GitHub/colony.pico/xsrc/pico-sdk/src/rp2_common/pico_cyw43_arch/include -I/Users/Lenovo/Documents/GitHub/colony.pico/xsrc/pico-sdk/src/rp2_common/pico_lwip/include -I/Users/Lenovo/Documents/GitHub/colony.pico/xsrc/pico-sdk/src/rp2_common/cyw43_driver -I/Users/Lenovo/Documents/GitHub/colony.pico/xsrc/pico-sdk/src/rp2_common/hardware_gpio/include -I/Users/Lenovo/Documents/GitHub/colony.pico/xsrc/pico-sdk/src/rp2_common/pico_platform/include -I/Users/Lenovo/Documents/GitHub/colony.pico/xsrc/pico-sdk/src/rp2_common/hardware_dma/include -I/Users/Lenovo/Documents/GitHub/colony.pico/xsrc/pico-sdk/src/rp2_common/hardware_pio/include -I/Users/Lenovo/Documents/GitHub/colony.pico/xsrc/pico-sdk/src/rp2_common/hardware_base/include -I/Users/Lenovo/Documents/GitHub/colony.pico/xsrc/pico-sdk/src/rp2_common/hardware_claim/include -I/Users/Lenovo/Documents/GitHub/colony.pico/xsrc/pico-sdk/src/rp2_common/hardware_sync/include -I/Users/Lenovo/Documents/GitHub/colony.pico/xsrc/pico-sdk/src/rp2_common/hardware_ireq/include -I/Users/Lenovo/Documents/GitHub/colony.pico/xsrc/pico-sdk/src/rp2_common/hardware_timer/include -I/Users/Lenovo/Documents/GitHub/colony.pico/xsrc/pico-sdk/src/rp2_common/hardware_uart/include -I/Users/Lenovo/Documents/GitHub/colony.pico/xsrc/pico-sdk/src/rp2_common/hardware_pwm/include -I/Users/Lenovo/Documents/GitHub/colony.pico/xsrc/pico-sdk/src/rp2_common/hardware_adc/include -I/Users/Lenovo/Documents/GitHub/colony.pico/xsrc/pico-sdk/src/rp2_common/hardware_i2c/include -I/Users/Lenovo/Documents/GitHub/colony.pico/xsrc/pico-sdk/src/rp2_common/hardware_spi/include -I/Users/Lenovo/Documents/GitHub/colony.pico/xsrc/pico-sdk/src/rp2_common/hardware_divider/include -I/Users/Lenovo/Documents/GitHub/colony.pico/xsrc/pico-sdk/src/rp2_common/pico_runtime/include -I/Users/Lenovo/Documents/GitHub/colony.pico/xsrc/pico-sdk/src/rp2_common/hardware_clocks/include -I/Users/Lenovo/Documents/GitHub/colony.pico/xsrc/pico-sdk/src/rp2_common/hardware_resets/include -I/Users/Lenovo/Documents/GitHub/colony.pico/xsrc/pico-sdk/src/rp2_common/hardware_irq/include -I/Users/Lenovo/Documents/GitHub/colony.pico/xsrc/pico-sdk/src/rp2_common/hardware_pll/include -I/Users/Lenovo/Documents/GitHub/colony.pico/xsrc/pico-sdk/src/rp2_common/hardware_vreg/include -I/Users/Lenovo/Documents/GitHub/colony.pico/xsrc/pico-sdk/src/rp2_common/hardware_watchdog/include -I/Users/Lenovo/Documents/GitHub/colony.pico/xsrc/pico-sdk/src/rp2_common/hardware_xosc/include -I/Users/Lenovo/Documents/GitHub/colony.pico/xsrc/pico-sdk/src/rp2_common/hardware_flash/include -I/Users/Lenovo/Documents/GitHub/colony.pico/xsrc/pico-sdk/src/rp2_common/pico_printf/include -I/Users/Lenovo/Documents/GitHub/colony.pico/xsrc/pico-sdk/src/rp2_common/pico_bootrom/include -I/Users/Lenovo/Documents/GitHub/colony.pico/xsrc/pico-sdk/src/rp2_common/pico_double/include -I/Users/Lenovo/Documents/GitHub/colony.pico/xsrc/pico-sdk/src/rp2_common/pico_int64_ops/include -I/Users/Lenovo/Documents/GitHub/colony.pico/xsrc/pico-sdk/src/rp2_common/pico_float/include -I/Users/Lenovo/Documents/GitHub/colony.pico/xsrc/pico-sdk/src/rp2_common/pico_malloc/include -I/Users/Lenovo/Documents/GitHub/colony.pico/xsrc/pico-sdk/src/rp2_common/pico_mem_ops/include -I/Users/Lenovo/Documents/GitHub/colony.pico/xsrc/pico-sdk/src/rp2_common/boot_stage2/include -I/Users/Lenovo/Documents/GitHub/colony.pico/xsrc/pico-sdk/src/rp2_common/pico_stdio/include -I/Users/Lenovo/Documents/GitHub/colony.pico/xsrc/pico-sdk/src/rp2_common/pico_stdio_uart/include -I/Users/Lenovo/Documents/GitHub/colony.pico/xsrc/pico-sdk/src/rp2_common/pico_multicore/include -I/Users/Lenovo/Documents/GitHub/colony.pico/xsrc/pico-sdk/src/rp2_common/pico_unique_id/include  -I/Users/Lenovo/Documents/GitHub/colony.pico/xsrc/pico-sdk/src/rp2040/hardware_regs/include -I/Users/Lenovo/Documents/GitHub/colony.pico/xsrc/pico-sdk/src/rp2040/hardware_structs/include -I/Users/Lenovo/Documents/GitHub/colony.pico/xsrc/pico-sdk/lib/cyw43-driver/firmware -I/Users/Lenovo/Documents/GitHub/colony.pico/xsrc/pico-sdk/lib/cyw43-driver/src -I /Users/Lenovo/Documents/GitHub/colony.pico/xsrc/pico-sdk/src/rp2_common/boot_stage2/asminclude    /Users/Lenovo/Documents/GitHub/colony.pico/xsrc/pico-sdk/src/rp2_common/boot_stage2/compile_time_choice.S -o xsrc/pico-sdk/src/rp2_common/boot_stage2/compile_time_choice.o
In file included from /Users/Lenovo/Documents/GitHub/colony.pico/xsrc/pico-sdk/src/common/pico_base/include/pico/config.h:19,
                 from /Users/Lenovo/Documents/GitHub/colony.pico/xsrc/pico-sdk/src/rp2_common/boot_stage2/include/boot_stage2/config.h:12,
                 from /Users/Lenovo/Documents/GitHub/colony.pico/xsrc/pico-sdk/src/rp2_common/boot_stage2/compile_time_choice.S:11:
/Users/Lenovo/Documents/GitHub/colony.pico/xsrc/pico-sdk/src/common/pico_base/include/pico/config_autogen.h:7:10: fatal error: C:/_workspaces/raspberry/pico-sdk/src/boards/include/boards/pico.h: No such file or directory
    7 | #include "C:/_workspaces/raspberry/pico-sdk/src/boards/include/boards/pico.h"
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
[6/103] Compiling: /Users/Lenovo/Documents/GitHub/colony.pico/xsrc/pico-sdk/src/rp2_common/pico_stdlib/stdlib.c
ninja: build stopped: subcommand failed.
ERROR: Build failed.
johnttaylor commented 9 months ago

Good catch. The issue is that when the Pico SDK is installed, it auto-generates a header file (xsrc/pico-sdk/src/common/pico_base/include/pico/config_autogen.h) that contains absolute paths to where the SDK is installed. Since, I only tested on my one box - I never discovered this error.

The above header file needs to modified to use relative paths, i.e. change the following code:

include "C:/_workspaces/raspberry/pico-sdk/src/boards/include/boards/pico.h"

include "C:/_workspaces/raspberry/pico-sdk/src/rp2_common/cmsis/include/cmsis/rename_exceptions.h"

TO:

include "pico-sdk/src/boards/include/boards/pico.h"

include "pico-sdk/src/rp2_common/cmsis/include/cmsis/rename_exceptions.h"

I will work on verifying that the above changes actually resolves the issue.

johnttaylor commented 9 months ago

I have update the repo with a fix to remove the absolute path issue

deepakSehjpal commented 8 months ago

Thanks @johnttaylor , I am able to get build running on my windows machine. Any plans to support linux build?