Comments (7)
This should be fixed with that commit - literally just needed .
changed to _
in the target nameβ¦
from pico-examples.
Same here (CMake 3.19.8), but for RISC-V Embedded (riscv32-unknown-elf) on Windows 7 SP1 x64 finishes mostly ok:
In function 'ip_reass_dequeue_datagram',
inlined from 'ip4_reass' at E:/Download/Pico_2/pico-sdk-2.0.0/lib/lwip/src/core/ipv4/ip4_frag.c:663:5:
E:/Download/Pico_2/pico-sdk-2.0.0/lib/lwip/src/core/ipv4/ip4_frag.c:326:16: warning: potential null pointer dereference [-Wnull-dereference]
326 | prev->next = ipr->next;
| ~~~~~~~~~~~^~~~~~~~~~~
In function 'ip_reass_dequeue_datagram',
inlined from 'ip4_reass' at E:/Download/Pico_2/pico-sdk-2.0.0/lib/lwip/src/core/ipv4/ip4_frag.c:684:5:
E:/Download/Pico_2/pico-sdk-2.0.0/lib/lwip/src/core/ipv4/ip4_frag.c:326:16: warning: null pointer dereference [-Wnull-dereference]
326 | prev->next = ipr->next;
| ~~~~~~~~~~~^~~~~~~~~~~
but "it's only a glitch".
from pico-examples.
@matsobdev that looks like a completely separate issue. Would be good to create a new issue, because like I clarified, the problem I see is not specific to Windows.
from pico-examples.
Edit: I first tried this on Windows but this is also failing on Linux platforms. So not a Windows-specific issue. It's the same error on Linux too.
Looks like it might be specific to Ninja?
On Ubuntu 24.04 if I run cmake with:
cmake .. -DPICO_SDK_PATH=../../pico-sdk -DPICO_BOARD=pico2
then cmake
completes successfully, and running make
(eventually) completes successfully too.
But if I create a separate build-directory and invoke cmake with:
cmake .. -DPICO_SDK_PATH=../../pico-sdk -DPICO_BOARD=pico2 -GNinja
then I get exactly the same error as you do above about multiple rules generate bootloaders/encrypted/enc_bootloader.ld
π I'm running cmake 3.22.1 and ninja 1.10.1
Ahhh.... but if I create yet another build directory and run:
cmake .. -DPICO_SDK_PATH=../../pico-sdk -DPICO_BOARD=pico -GNinja
then this time cmake
completes successfully, and running ninja
builds all the examples. So looks like there's something specific about the linker scripts for RP2350 that Ninja doesn't like, but Make is perfectly happy with?
from pico-examples.
Yes, true:
- Generating Makefiles and building with
make
works fine for all targets; - Building my own projects with
PICO_BOARD=pico2
works fine with bothmake
andninja
; - Building pico-examples with Ninja and
PICO_BOARD=pico2
fails.
The build.ninja
contains these two definitions to build the target in question:
#############################################
# Utility command for enc_bootloader.ld
build bootloaders/encrypted/enc_bootloader.ld: phony bootloaders/encrypted/CMakeFiles/enc_bootloader.ld bootloaders/encrypted/enc_bootloader.ld
#############################################
# Custom command for bootloaders\encrypted\enc_bootloader.ld
build bootloaders/encrypted/enc_bootloader.ld | ${cmake_ninja_workdir}bootloaders/encrypted/enc_bootloader.ld: CUSTOM_COMMAND C$:/Program$ Files/Raspberry$ Pi/Pico$ SDK$ v2.0.0/pico-sdk/src/rp2_common/pico_crt0/rp2350/memmap_no_flash.ld
COMMAND = C:\Windows\system32\cmd.exe /C "cd /D C:\Users\WDAGUtilityAccount\Documents\Pico-v2.0.0\pico-examples\build-pico2\bootloaders\encrypted && "C:\Program Files\Raspberry Pi\Pico SDK v2.0.0\cmake\bin\cmake.exe" "-DPICO_LINKER_SCRIPT_PATH:PATH=C:/Program Files/Raspberry Pi/Pico SDK v2.0.0/pico-sdk/src/rp2_common/pico_crt0/rp2350" -Dorigin="0x20070000" -Dlength="64k" -Doutput_file:FILEPATH=C:/Users/WDAGUtilityAccount/Documents/Pico-v2.0.0/pico-examples/build-pico2/bootloaders/encrypted/enc_bootloader.ld -P C:/Users/WDAGUtilityAccount/Documents/Pico-v2.0.0/pico-examples/build-pico2/bootloaders/encrypted/make_linker_script.cmake"
DESC = Generating enc_bootloader.ld
restat = 1
I guess these are generated by these lines in the source:
I'm not really sure if this is a bug in CMake's Ninja generator, but it is a problem for building these examples on Windows, if I don't want to use nmake
from Visual Studio or similar. Ninja is just a lot faster + easier to install.
from pico-examples.
fixed in develop
from pico-examples.
@will-v-pi @kilograham great, thanks!
from pico-examples.
Related Issues (20)
- No key press detected for pending in [iperf server] example HOT 1
- stdio_usb input available callback can't call other stdio functions, and pico-examples iperf assumes it can. HOT 4
- UART RX Garbage data recived HOT 5
- Pico-W to Pico-W STALL while sending UDP HOT 2
- Bug in BME280 SPI example when reading compensation parameters for humidity HOT 3
- Out-of-Memory Errors When Publishing MQTT Messages HOT 1
- host_cdc_msc_hid: incorrect len parameter in tuh_hid_report_received_cb HOT 1
- Bug in pio/uart_rx /uart_rx_intr.c HOT 6
- ir_nec variable length commands HOT 8
- How to do multiple TLS requests with changing request string HOT 2
- Example of starting and stopping btstack needed
- What does example iperf.c HOT 11
- Why MEMP_NUM_ARP_QUEUE lwIP options is set in lwipopts_examples_common.h if ARP_QUEUEING default value is 0? HOT 1
- Modbus TCP client over Wifi for Raspberry Pi Pico W (RP2040) HOT 1
- Issue in flash_program.c example
- Examples don't build with LWIP_SINGLE_NETIF set
- General usage documentation issues HOT 6
- system/rand/rand.c doesn't cross-compile on x64 Ubuntu HOT 4
- Change access point example to use the lwip http server
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pico-examples.