Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ instructions for other platforms, and just in general, we recommend you see [Ras

1. Install CMake (at least version 3.13), and GCC cross compiler
```
sudo apt install cmake gcc-arm-none-eabi libnewlib-arm-none-eabi
sudo apt install cmake gcc-arm-none-eabi libnewlib-arm-none-eabi libstdc++-arm-none-eabi-newlib
Copy link
Contributor

@aallan aallan Feb 10, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would prefer build-essential to match the Getting Started book.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I checked Ubuntu 20.04 and Debian 10 and build-essential does not depend on libstdc++-arm-none-eabi-newlib. So I do not think that would solve this issue.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

libstdc++-arm-none-eabi-newlib is a recommended package for libnewlib-arm-none-eabi, but was not installed on my rather default Debian Bullseye and Ubuntu 20.04 installations. It is probably better to fix the Getting Started book.

Copy link
Contributor

@aallan aallan Feb 10, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Instructions are for Raspberry Pi OS where build-essential does include this package.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe add to the regular text: '(Ubuntu and Debian users might need to also install libstdc++-arm-none-eabi-newlib)'? That would really be useful and prevents frustration.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I ran the following on a reasonably clean Raspbian 10 install on a 2B.

sudo apt install cmake gcc-arm-none-eabi libnewlib-arm-none-eabi build-essential

The result was this.

The following additional packages will be installed:
  binutils-arm-none-eabi cmake-data libarchive13 libjsoncpp1 libnewlib-dev
  librhash0 **libstdc++-arm-none-eabi-newlib** libuv1

Checking the package dependencies, libnewlib-arm-none-eabi recommends libstdc++-arm-none-eabi-newlib. I also checked Debian 10 and Ubuntu 20.04 LTS and this is also the case.

For my Ubuntu workstation I did not have automatic installation of recommendations and had some of the ARM packages installed already, hence this package was missing for me. Thus I think my PR might be better off as this.

sudo apt install **--install-recommends** cmake gcc-arm-none-eabi libnewlib-arm-none-eabi build-essential

However, re-running apt a second time with --install-recommends does not go back and reinstall the missed recommended packages. So in my case where I already had libnewlib-arm-none-eabi installed, I did not get the libstdc++-arm-none-eabi-newlib installed running apt. In that case, only including this package on the apt line explicitly results in its installation.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm fine with adding this in the README... it didn't break my pi or ubuntu installations, so it seems like it does no harm

```
1. Set up your project to point to use the Raspberry Pi Pico SDK

Expand Down