Error building libpico #2549
Replies: 4 comments 3 replies
-
Windows, I can't really help with. I'd stick w/Linux if you want to keep your sanity. The Linux error looks like you don't have the normal build tools installed. You need to be able to run |
Beta Was this translation helpful? Give feedback.
-
I have gcc installed on ubuntu $ gcc --version
gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Edit: g++ was not installed. Installing + for type in boot2_generic_03h boot2_is25lp080 boot2_w25q080 boot2_w25x10cl
+ for div in 2 4
+ arm-none-eabi-gcc -march=armv6-m -mcpu=cortex-m0plus -mthumb -O3 -DNDEBUG -DPICO_FLASH_SPI_CLKDIV=2 -c /home/andy/Projects/arduino-pico/pico-sdk/src/rp2040/boot_stage2/boot2_w25x10cl.S -I /home/andy/Projects/arduino-pico/pico-sdk/src/boards/include/boards/ -I /home/andy/Projects/arduino-pico/pico-sdk/src/rp2040/hardware_regs/include/ -I /home/andy/Projects/arduino-pico/pico-sdk/src/rp2_common/pico_platform/include/ -I /home/andy/Projects/arduino-pico/pico-sdk/src/rp2_common/boot_stage2/asminclude/ -I /home/andy/Projects/arduino-pico/pico-sdk/src/rp2040/pico_platform/include/ -I /home/andy/Projects/arduino-pico/pico-sdk/src/rp2040/boot_stage2/asminclude/ -I .
/home/andy/Projects/arduino-pico/pico-sdk/src/rp2040/boot_stage2/boot2_w25x10cl.S: Assembler messages:
/home/andy/Projects/arduino-pico/pico-sdk/src/rp2040/boot_stage2/boot2_w25x10cl.S:147: Error: junk at end of line, first unrecognized character is `0'
/home/andy/Projects/arduino-pico/pico-sdk/src/rp2040/boot_stage2/boot2_w25x10cl.S:150: Error: garbage following instruction -- `beq 00b' What is the purpose of these binaries? |
Beta Was this translation helpful? Give feedback.
-
I have the same problem: Garbage following instruction "Branch if Equal". # Ubuntu 24.04 server
lsb_release --all
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 24.04.1 LTS
Release: 24.04
Codename: noble
git --version
git version 2.43.0
cd ~/arduino-pico$ git branch
* master
cd pico-sdk
git branch
* (HEAD detached at efe2103)
master
cd lib/mbedtls
git branch
* (HEAD detached at 5a764e5555)
development
sudo apt install build-essential pkg-config libusb-1.0-0-dev
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
build-essential is already the newest version (12.10ubuntu1).
pkg-config is already the newest version (1.8.1-2build1).
libusb-1.0-0-dev is already the newest version (2:1.0.27-1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
which picotool
/usr/local/bin/picotool
picotool version
picotool v2.0.0 (Linux, GNU-13.2.0, Release)
which cmake
/usr/bin/cmake
cmake --version
cmake version 3.28.3
which gcc
/usr/bin/gcc
gcc --version
gcc (Ubuntu 13.2.0-23ubuntu4) 13.2.0
ll ../system/
total 86
drwxrwxr-x 9 ubuntu ubuntu 10 Nov 8 14:14 ./
drwxrwxr-x 18 ubuntu ubuntu 28 Nov 5 22:53 ../
drwxr-xr-x 9 ubuntu ubuntu 11 Sep 29 17:29 arm-none-eabi/
drwxr-xr-x 2 ubuntu ubuntu 5 Sep 29 16:25 mklittlefs/
drwxr-xr-x 5 ubuntu ubuntu 7 Sep 29 16:29 openocd/
drwxr-xr-x 2 ubuntu ubuntu 6 Sep 29 16:28 picotool/
drwxr-xr-x 2 ubuntu ubuntu 5 Sep 29 16:25 pioasm/
-rw-rw-r-- 1 ubuntu ubuntu 12 Nov 5 22:53 placeholder
drwxr-xr-x 2 ubuntu ubuntu 4 Dec 29 2019 python3/
drwxr-xr-x 9 ubuntu ubuntu 11 Sep 29 17:29 riscv32-unknown-elf/
cd libpico/
./make-libpico.sh
++ cd ../../pico-sdk/
++ pwd
+ export PICO_SDK_PATH=/home/ubuntu/arduino-pico/pico-sdk
+ PICO_SDK_PATH=/home/ubuntu/arduino-pico/pico-sdk
++ cd ../../system/arm-none-eabi/bin
++ pwd
+ export PATH=/home/ubuntu/arduino-pico/system/arm-none-eabi/bin:/home/ubuntu/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
+ PATH=/home/ubuntu/arduino-pico/system/arm-none-eabi/bin:/home/ubuntu/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
++ cd ../../system/riscv32-unknown-elf/bin
++ pwd
+ export PATH=/home/ubuntu/arduino-pico/system/riscv32-unknown-elf/bin:/home/ubuntu/arduino-pico/system/arm-none-eabi/bin:/home/ubuntu/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
+ PATH=/home/ubuntu/arduino-pico/system/riscv32-unknown-elf/bin:/home/ubuntu/arduino-pico/system/arm-none-eabi/bin:/home/ubuntu/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
+ rm -rf build-rp2040
+ mkdir build-rp2040
+ cd build-rp2040
+ CPU=rp2040
+ cmake ..
Building for CPU rp2040
Using PICO_SDK_PATH from environment ('/home/ubuntu/arduino-pico/pico-sdk')
PICO_SDK_PATH is /home/ubuntu/arduino-pico/pico-sdk
Target board (PICO_BOARD) is 'pico_w'.
Using board configuration from /home/ubuntu/arduino-pico/pico-sdk/src/boards/include/boards/pico_w.h
Pico Platform (PICO_PLATFORM) is 'rp2040'.
-- Defaulting build type to 'Release' since not specified.
Defaulting compiler (PICO_COMPILER) to 'pico_arm_cortex_m0plus_gcc' since not specified.
Configuring toolchain based on PICO_COMPILER 'pico_arm_cortex_m0plus_gcc'
Defaulting PICO_GCC_TRIPLE to 'arm-none-eabi'
-- The C compiler identification is GNU 14.2.0
-- The CXX compiler identification is GNU 14.2.0
-- The ASM compiler identification is GNU
-- Found assembler: /home/ubuntu/arduino-pico/system/arm-none-eabi/bin/arm-none-eabi-gcc
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /home/ubuntu/arduino-pico/system/arm-none-eabi/bin/arm-none-eabi-gcc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /home/ubuntu/arduino-pico/system/arm-none-eabi/bin/arm-none-eabi-g++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
Build type is RelWithDebInfo
-- Found Python3: /usr/bin/python3 (found version "3.12.3") found components: Interpreter
TinyUSB available at /home/ubuntu/arduino-pico/pico-sdk/lib/tinyusb/src/portable/raspberrypi/rp2040; enabling build support for USB.
BTstack available at /home/ubuntu/arduino-pico/pico-sdk/lib/btstack
cyw43-driver available at /home/ubuntu/arduino-pico/pico-sdk/lib/cyw43-driver
Pico W Bluetooth build support available.
lwIP available at /home/ubuntu/arduino-pico/pico-sdk/lib/lwip
Pico W Wi-Fi build support available.
mbedtls available at /home/ubuntu/arduino-pico/pico-sdk/lib/mbedtls
-- Configuring done (0.7s)
-- Generating done (0.4s)
-- Build files have been written to: /home/ubuntu/arduino-pico/tools/libpico/build-rp2040
# building until
[100%] Built target ipv4-bt-big-rp2040
+ rm -rf boot
+ mkdir boot
+ cd boot
+ mkdir -p pico
+ touch pico/config.h
+ for type in boot2_generic_03h boot2_is25lp080 boot2_w25q080 boot2_w25x10cl
+ for div in 2 4
+ arm-none-eabi-gcc -march=armv6-m -mcpu=cortex-m0plus -mthumb -O3 -DNDEBUG -DPICO_FLASH_SPI_CLKDIV=2 -c /home/ubuntu/arduino-pico/pico-sdk/src/rp2040/boot_stage2/boot2_generic_03h.S -I /home/ubuntu/arduino-pico/pico-sdk/src/boards/include/boards/ -I /home/ubuntu/arduino-pico/pico-sdk/src/rp2040/hardware_regs/include/ -I /home/ubuntu/arduino-pico/pico-sdk/src/rp2_common/pico_platform/include/ -I /home/ubuntu/arduino-pico/pico-sdk/src/rp2_common/boot_stage2/asminclude/ -I /home/ubuntu/arduino-pico/pico-sdk/src/rp2040/pico_platform/include/ -I /home/ubuntu/arduino-pico/pico-sdk/src/rp2040/boot_stage2/asminclude/ -I .
+ arm-none-eabi-gcc -march=armv6-m -mcpu=cortex-m0plus -mthumb -O3 -DNDEBUG -Wl,--build-id=none --specs=nosys.specs -nostartfiles -Wl,--script=/home/ubuntu/arduino-pico/pico-sdk/src/rp2040/boot_stage2/boot_stage2.ld -Wl,-Map=boot2_generic_03h.2.elf.map boot2_generic_03h.o -o boot2_generic_03h.2.elf
+ arm-none-eabi-objdump -h boot2_generic_03h.2.elf
+ arm-none-eabi-objdump -d boot2_generic_03h.2.elf
+ arm-none-eabi-objcopy -Obinary boot2_generic_03h.2.elf boot2_generic_03h.2.bin
+ python3 /home/ubuntu/arduino-pico/pico-sdk/src/rp2040/boot_stage2/pad_checksum -s 0xffffffff boot2_generic_03h.2.bin boot2_generic_03h_2_padded_checksum.S
+ for div in 2 4
+ arm-none-eabi-gcc -march=armv6-m -mcpu=cortex-m0plus -mthumb -O3 -DNDEBUG -DPICO_FLASH_SPI_CLKDIV=4 -c /home/ubuntu/arduino-pico/pico-sdk/src/rp2040/boot_stage2/boot2_generic_03h.S -I /home/ubuntu/arduino-pico/pico-sdk/src/boards/include/boards/ -I /home/ubuntu/arduino-pico/pico-sdk/src/rp2040/hardware_regs/include/ -I /home/ubuntu/arduino-pico/pico-sdk/src/rp2_common/pico_platform/include/ -I /home/ubuntu/arduino-pico/pico-sdk/src/rp2_common/boot_stage2/asminclude/ -I /home/ubuntu/arduino-pico/pico-sdk/src/rp2040/pico_platform/include/ -I /home/ubuntu/arduino-pico/pico-sdk/src/rp2040/boot_stage2/asminclude/ -I .
+ arm-none-eabi-gcc -march=armv6-m -mcpu=cortex-m0plus -mthumb -O3 -DNDEBUG -Wl,--build-id=none --specs=nosys.specs -nostartfiles -Wl,--script=/home/ubuntu/arduino-pico/pico-sdk/src/rp2040/boot_stage2/boot_stage2.ld -Wl,-Map=boot2_generic_03h.4.elf.map boot2_generic_03h.o -o boot2_generic_03h.4.elf
+ arm-none-eabi-objdump -h boot2_generic_03h.4.elf
+ arm-none-eabi-objdump -d boot2_generic_03h.4.elf
+ arm-none-eabi-objcopy -Obinary boot2_generic_03h.4.elf boot2_generic_03h.4.bin
+ python3 /home/ubuntu/arduino-pico/pico-sdk/src/rp2040/boot_stage2/pad_checksum -s 0xffffffff boot2_generic_03h.4.bin boot2_generic_03h_4_padded_checksum.S
+ for type in boot2_generic_03h boot2_is25lp080 boot2_w25q080 boot2_w25x10cl
+ for div in 2 4
+ arm-none-eabi-gcc -march=armv6-m -mcpu=cortex-m0plus -mthumb -O3 -DNDEBUG -DPICO_FLASH_SPI_CLKDIV=2 -c /home/ubuntu/arduino-pico/pico-sdk/src/rp2040/boot_stage2/boot2_is25lp080.S -I /home/ubuntu/arduino-pico/pico-sdk/src/boards/include/boards/ -I /home/ubuntu/arduino-pico/pico-sdk/src/rp2040/hardware_regs/include/ -I /home/ubuntu/arduino-pico/pico-sdk/src/rp2_common/pico_platform/include/ -I /home/ubuntu/arduino-pico/pico-sdk/src/rp2_common/boot_stage2/asminclude/ -I /home/ubuntu/arduino-pico/pico-sdk/src/rp2040/pico_platform/include/ -I /home/ubuntu/arduino-pico/pico-sdk/src/rp2040/boot_stage2/asminclude/ -I .
+ arm-none-eabi-gcc -march=armv6-m -mcpu=cortex-m0plus -mthumb -O3 -DNDEBUG -Wl,--build-id=none --specs=nosys.specs -nostartfiles -Wl,--script=/home/ubuntu/arduino-pico/pico-sdk/src/rp2040/boot_stage2/boot_stage2.ld -Wl,-Map=boot2_is25lp080.2.elf.map boot2_is25lp080.o -o boot2_is25lp080.2.elf
+ arm-none-eabi-objdump -h boot2_is25lp080.2.elf
+ arm-none-eabi-objdump -d boot2_is25lp080.2.elf
+ arm-none-eabi-objcopy -Obinary boot2_is25lp080.2.elf boot2_is25lp080.2.bin
+ python3 /home/ubuntu/arduino-pico/pico-sdk/src/rp2040/boot_stage2/pad_checksum -s 0xffffffff boot2_is25lp080.2.bin boot2_is25lp080_2_padded_checksum.S
+ for div in 2 4
+ arm-none-eabi-gcc -march=armv6-m -mcpu=cortex-m0plus -mthumb -O3 -DNDEBUG -DPICO_FLASH_SPI_CLKDIV=4 -c /home/ubuntu/arduino-pico/pico-sdk/src/rp2040/boot_stage2/boot2_is25lp080.S -I /home/ubuntu/arduino-pico/pico-sdk/src/boards/include/boards/ -I /home/ubuntu/arduino-pico/pico-sdk/src/rp2040/hardware_regs/include/ -I /home/ubuntu/arduino-pico/pico-sdk/src/rp2_common/pico_platform/include/ -I /home/ubuntu/arduino-pico/pico-sdk/src/rp2_common/boot_stage2/asminclude/ -I /home/ubuntu/arduino-pico/pico-sdk/src/rp2040/pico_platform/include/ -I /home/ubuntu/arduino-pico/pico-sdk/src/rp2040/boot_stage2/asminclude/ -I .
+ arm-none-eabi-gcc -march=armv6-m -mcpu=cortex-m0plus -mthumb -O3 -DNDEBUG -Wl,--build-id=none --specs=nosys.specs -nostartfiles -Wl,--script=/home/ubuntu/arduino-pico/pico-sdk/src/rp2040/boot_stage2/boot_stage2.ld -Wl,-Map=boot2_is25lp080.4.elf.map boot2_is25lp080.o -o boot2_is25lp080.4.elf
+ arm-none-eabi-objdump -h boot2_is25lp080.4.elf
+ arm-none-eabi-objdump -d boot2_is25lp080.4.elf
+ arm-none-eabi-objcopy -Obinary boot2_is25lp080.4.elf boot2_is25lp080.4.bin
+ python3 /home/ubuntu/arduino-pico/pico-sdk/src/rp2040/boot_stage2/pad_checksum -s 0xffffffff boot2_is25lp080.4.bin boot2_is25lp080_4_padded_checksum.S
+ for type in boot2_generic_03h boot2_is25lp080 boot2_w25q080 boot2_w25x10cl
+ for div in 2 4
+ arm-none-eabi-gcc -march=armv6-m -mcpu=cortex-m0plus -mthumb -O3 -DNDEBUG -DPICO_FLASH_SPI_CLKDIV=2 -c /home/ubuntu/arduino-pico/pico-sdk/src/rp2040/boot_stage2/boot2_w25q080.S -I /home/ubuntu/arduino-pico/pico-sdk/src/boards/include/boards/ -I /home/ubuntu/arduino-pico/pico-sdk/src/rp2040/hardware_regs/include/ -I /home/ubuntu/arduino-pico/pico-sdk/src/rp2_common/pico_platform/include/ -I /home/ubuntu/arduino-pico/pico-sdk/src/rp2_common/boot_stage2/asminclude/ -I /home/ubuntu/arduino-pico/pico-sdk/src/rp2040/pico_platform/include/ -I /home/ubuntu/arduino-pico/pico-sdk/src/rp2040/boot_stage2/asminclude/ -I .
+ arm-none-eabi-gcc -march=armv6-m -mcpu=cortex-m0plus -mthumb -O3 -DNDEBUG -Wl,--build-id=none --specs=nosys.specs -nostartfiles -Wl,--script=/home/ubuntu/arduino-pico/pico-sdk/src/rp2040/boot_stage2/boot_stage2.ld -Wl,-Map=boot2_w25q080.2.elf.map boot2_w25q080.o -o boot2_w25q080.2.elf
+ arm-none-eabi-objdump -h boot2_w25q080.2.elf
+ arm-none-eabi-objdump -d boot2_w25q080.2.elf
+ arm-none-eabi-objcopy -Obinary boot2_w25q080.2.elf boot2_w25q080.2.bin
+ python3 /home/ubuntu/arduino-pico/pico-sdk/src/rp2040/boot_stage2/pad_checksum -s 0xffffffff boot2_w25q080.2.bin boot2_w25q080_2_padded_checksum.S
+ for div in 2 4
+ arm-none-eabi-gcc -march=armv6-m -mcpu=cortex-m0plus -mthumb -O3 -DNDEBUG -DPICO_FLASH_SPI_CLKDIV=4 -c /home/ubuntu/arduino-pico/pico-sdk/src/rp2040/boot_stage2/boot2_w25q080.S -I /home/ubuntu/arduino-pico/pico-sdk/src/boards/include/boards/ -I /home/ubuntu/arduino-pico/pico-sdk/src/rp2040/hardware_regs/include/ -I /home/ubuntu/arduino-pico/pico-sdk/src/rp2_common/pico_platform/include/ -I /home/ubuntu/arduino-pico/pico-sdk/src/rp2_common/boot_stage2/asminclude/ -I /home/ubuntu/arduino-pico/pico-sdk/src/rp2040/pico_platform/include/ -I /home/ubuntu/arduino-pico/pico-sdk/src/rp2040/boot_stage2/asminclude/ -I .
+ arm-none-eabi-gcc -march=armv6-m -mcpu=cortex-m0plus -mthumb -O3 -DNDEBUG -Wl,--build-id=none --specs=nosys.specs -nostartfiles -Wl,--script=/home/ubuntu/arduino-pico/pico-sdk/src/rp2040/boot_stage2/boot_stage2.ld -Wl,-Map=boot2_w25q080.4.elf.map boot2_w25q080.o -o boot2_w25q080.4.elf
+ arm-none-eabi-objdump -h boot2_w25q080.4.elf
+ arm-none-eabi-objdump -d boot2_w25q080.4.elf
+ arm-none-eabi-objcopy -Obinary boot2_w25q080.4.elf boot2_w25q080.4.bin
+ python3 /home/ubuntu/arduino-pico/pico-sdk/src/rp2040/boot_stage2/pad_checksum -s 0xffffffff boot2_w25q080.4.bin boot2_w25q080_4_padded_checksum.S
+ for type in boot2_generic_03h boot2_is25lp080 boot2_w25q080 boot2_w25x10cl
+ for div in 2 4
+ arm-none-eabi-gcc -march=armv6-m -mcpu=cortex-m0plus -mthumb -O3 -DNDEBUG -DPICO_FLASH_SPI_CLKDIV=2 -c /home/ubuntu/arduino-pico/pico-sdk/src/rp2040/boot_stage2/boot2_w25x10cl.S -I /home/ubuntu/arduino-pico/pico-sdk/src/boards/include/boards/ -I /home/ubuntu/arduino-pico/pico-sdk/src/rp2040/hardware_regs/include/ -I /home/ubuntu/arduino-pico/pico-sdk/src/rp2_common/pico_platform/include/ -I /home/ubuntu/arduino-pico/pico-sdk/src/rp2_common/boot_stage2/asminclude/ -I /home/ubuntu/arduino-pico/pico-sdk/src/rp2040/pico_platform/include/ -I /home/ubuntu/arduino-pico/pico-sdk/src/rp2040/boot_stage2/asminclude/ -I .
/home/ubuntu/arduino-pico/pico-sdk/src/rp2040/boot_stage2/boot2_w25x10cl.S: Assembler messages:
/home/ubuntu/arduino-pico/pico-sdk/src/rp2040/boot_stage2/boot2_w25x10cl.S:147: Error: junk at end of line, first unrecognized character is `0'
/home/ubuntu/arduino-pico/pico-sdk/src/rp2040/boot_stage2/boot2_w25x10cl.S:150: Error: garbage following instruction -- `beq 00b'
LC_ALL=C grep -l '[^[:print:]]' boot2_w25x10cl.S
# yields nothing, of course Let me know if I can provide further information. |
Beta Was this translation helpful? Give feedback.
-
This code is from Raspberry and it uses a label ("00") that is no long supported by the current ARM gcc assembler, see This has been fixed in the pico-sdk (thanks to Earle), but a new version has not been released so far. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
I am trying to build the pico-sdk static library using
make-libpico.sh
. I have run the install instructions here.The only thing I changed was the directory path for the
arduino-pico
git cloneAfter this I run
cd libpico ./make-libpico.sh
Windows Error
I have changed the cmake generator to
"MSYS Makefiles"
inmake-libpico.sh
And get the following error
Linux Error
I have also tried compiling the library on Linux and got the following error
It seems related to
picotool
, I don't know if it is intentional or not but it seems to be redownloading as part of the CMake build instead of using the version retrieved withpython3 get.py
pico-sdk/tools/Findpicotool.cmake
warns against doing this:Do you have any suggestions for what might be wrong?
Beta Was this translation helpful? Give feedback.
All reactions