Packaging for Ubuntu 14.04 (trusty)

Bug #1309060 reported by Sam Lin on 2014-04-17
58
This bug affects 11 people
Affects Status Importance Assigned to Milestone
GNU Arm Embedded Toolchain
Critical
Thomas Preud'homme

Bug Description

Ubuntu 14.04 is just released. please add package for 14.04 (trusty)

Terry Guo (terry.guo) on 2014-04-18
Changed in gcc-arm-embedded:
assignee: nobody → Terry Guo (terry.guo)
status: New → In Progress
importance: Undecided → Critical
Terry Guo (terry.guo) wrote :

It's available now. But will be clashed with gcc-arm-none-eabi from Ubuntu official repository. Suggest you to remove all Ubuntu gcc-arm-none-eabi related packages by command:

sudo apt-get remove binutils-arm-none-eabi gcc-arm-none-eabi

then install our tool chain by command:

sudo apt-get install gcc-arm-none-eabi=4-8-2014q1-0trusty8

Geoffrey Espin (geoffrey-espin) wrote :

Yes, I got burned and confused when upgrading to Trusty, re-executed your PPA instructions:

  sudo add-apt-repository ppa:terry.guo/gcc-arm-embedded
  sudo apt-get update

then the above and all was well again. Thanks!

Kishore (kitts) wrote :

Can you change the version number so that this package is preferred over the official one? Infact, This package contains 4.8.3 while the official package contains 4.8.2.

Also both the packages seem to differ. This package contains the header "cmath" while the official package does not.

Terry Guo (terry.guo) wrote :

The tool chain package included in Ubuntu is actually generated by Debian. Now we are talking with the package's Debian maintainer to see if we can consolidate both sides effort to maintain an unified tool chain. It looks to me that the Debian gcc-arm-none-eabi is also targeting cortex-a/r/m bare metal targets.

Meanwhile we really appreciate if you can list more differences between those two tool chains. We already notice that the Ubuntu gcc-arm-none-eabi doesn't support newlib-nano.

Sam Lin (itrs-lin) wrote :

BTW official one doesn't contain libstdc++ support.

Mike Purvis (mikepurvis) wrote :

Yeah, it's missing all the headers which live inside of /usr/arm-none-eabi/include/c++

Definitely prefer the way the PPA is set up.

James Gowans (gowans-james) wrote :

Hi,
Just wanted to see if there's any progress on getting this version numbering business sorted out?
The fact that your version of the package contains newlib-nano makes is significantly preferred, and it really should override the Debian supplied one when your PPA is added to a system.

Simply bumping your version number might resolve this temporarily until you get some consolidated effort going?
According to apt, the Debian version is 4.8.2 (specifically: 4.8.2-14ubuntu1+6), while this version is just 4 (specifically: 4-8-2014q2-0trusty10).

Mike Purvis (mikepurvis) wrote :

Hey, just hoping for a status update here— what's the current likelihood of the Debian package either being fixed, or other Debian packages added containing the missing libraries?

Is it realistic to expect either fix as part of Trusty?

Terry Guo (terry.guo) on 2014-07-31
Changed in gcc-arm-embedded:
assignee: Terry Guo (terry.guo) → nobody
assignee: nobody → Thomas Preud'homme (thomas-preudhomme)

Hi Mike,

The likelihood of the Debian package being fixed is high as we are currently working with the Debian maintainer on this. However, this should only show up after Trusty as the Debian import freeze for Trusty was in February (see [1]). In the meantime, I would appreciate on this bug any comments about bugs that affect Debian packaging but not this PPA. We are already aware of the missing C++ support but if there is any other bugs, please let us know.

[1] https://wiki.ubuntu.com/TrustyTahr/ReleaseSchedule

Mike Purvis (mikepurvis) wrote :

I gave the gcc-arm-none-eabi package in Utopic a try, and it seems that the introduction of the libstdc++-arm-none-eabi-newlib package has restored the issues I was having with C++ builds: http://packages.ubuntu.com/utopic/devel/libstdc++-arm-none-eabi-newlib

For the purposes of fixing Trusty, I set up a PPA for myself and used backportpackage to release the Utopic versions of the compiler, binutils and newlib into Trusty:

https://launchpad.net/~mikepurvis/+archive/ubuntu/stm32/+packages

Now unfortunately, the GCC builds are failing for reasons which are not entirely apparent to me, and the critical /usr/include/newlib/c++/4.8/ path while present (via the backported libstdc++-arm-none-eabi-newlib) isn't on the default include path for the compiler. Note that the update-alternatives symlinks do seem to be configured correctly:

$ ls /etc/alternatives/ -la | grep newlib
lrwxrwxrwx 1 root root 19 Aug 21 14:20 gcc-arm-none-eabi-include -> /usr/include/newlib
lrwxrwxrwx 1 root root 29 Aug 21 14:20 gcc-arm-none-eabi-lib -> /usr/lib/arm-none-eabi/newlib

Anyhow, this isn't a final answer, but I just wanted to provide an update of some progress, if others are wanting to do any further work or investigation. I'd really like to have a PPA solution for a full C++ gnuarm on Trusty that doesn't rely on apt pinning.

Hi Mike,

Thank you for your report. I'll take a look on this issue while working on packaging 2014Q3 release.

Best regards,

Thomas

Mike Purvis (mikepurvis) wrote :

Upon further investigation, it seems that the build issue for gcc-arm-none-eabi is that the the patches for Utopic's gcc-arm-none-eabi are against GCC 4.8.3, whereas the gcc-4.8-source package on Trusty is 4.8.2.

Am presently experimenting with adding GCC 4.8.3 to the PPA as well, though that may be a case of the cure being worse than the disease. The ideal would really be to get Trusty's GCC to include and link against the backported libstdc++-arm-none-eabi-newlib.

Mike Purvis (mikepurvis) wrote :

Okay, I'm now supplying GCC 4.8.3 in my PPA, and now the gcc-arm-none-eabi package available there works correctly to build my embedded C++ firmware binaries. Yay!

PPA is here: https://launchpad.net/~mikepurvis/+archive/ubuntu/stm32

Liyang HU (liyang.hu) wrote :

@terry.guo I found the installation instructions for Trusty rather more complicated than necessary. I don't know if you were aware that it's possible to configure apt to prefer your PPA over the distro packages, by simply creating the following file:

```
$ sudo tee /etc/apt/preferences.d/terry_guo-gcc-arm-embedded
Package: *
Pin: release o=LP-PPA-terry.guo-gcc-arm-embedded
Pin-Priority: 1000
```

after doing apt-add-repository.

Hi Liyang,

Yes we are aware of that possibility but we decided that it might feel more complicated for some people. We could of course give the two possibilities but an alternative would equally confuse users IMHO. But now thanks to you users who are looking for another possibility can find your solution.

Best regards,

Thomas

Bommel (u-launchpad-h) on 2016-02-28
Changed in gcc-arm-embedded:
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers