FS#43629 - [arm-none-eabi-gcc] libstdc++_nano missing

Attached to Project: Community Packages
Opened by Guillaume BINET (gbin) - Thursday, 29 January 2015, 21:36 GMT
Last edited by Anatol Pomozov (anatolik) - Thursday, 05 February 2015, 16:32 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Anatol Pomozov (anatolik)
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:
I try to compile an atmel asf project that uses nano.specs but it fails with:
LN flash.elf
/usr/lib/gcc/arm-none-eabi/4.9.2/../../../../arm-none-eabi/bin/ld: cannot find -lstdc++_nano
collect2: error: ld returned 1 exit status
Makefile:455: recipe for target 'flash.elf' failed


In the file nano.specs itself from this very package, libstdc++_nano is indeed mentioned:
*link:
%(nano_link) %:replace-outfile(-lc -lc_nano) %:replace-outfile(-lg -lg_nano) %:replace-outfile(-lrdimon -lrdimon_nano) %:replace-outfile(-lstdc++ -lstdc++_nano)


If I compare with an ubuntu machine on which the project compiles, I can find it in each arm directories: /usr/arm-none-eabi/lib/armv*/libstdc++_nano.a

Also, the package on ubuntu is 4.9.3 instead of 4.9.2 on arch, maybe this is something upstream took care of ?


Additional info:
* package version(s)
4.9.2

* config and/or log files etc.
see the main description.

Steps to reproduce:
Compile an atmel ASF example project.
This task depends upon

Closed by  Anatol Pomozov (anatolik)
Thursday, 05 February 2015, 16:32 GMT
Reason for closing:  Fixed
Additional comments about closing:  4.9.2-5
Comment by Doug Newgard (Scimmia) - Friday, 30 January 2015, 15:38 GMT
How does Ubuntu have 4.9.3 when it hasn't been released? Are you certain of that number?
Comment by Anatol Pomozov (anatolik) - Friday, 30 January 2015, 16:20 GMT
There is no gcc 4.9.3 release yet https://www.gnu.org/software/gcc/releases.html

I need to look how their cross-tools compiled, what flags are used and what is the difference with ours.
Comment by Guillaume BINET (gbin) - Friday, 30 January 2015, 19:12 GMT
My bad, I have a devel package installed (see below), I should have checked, but still the problem remains as the nano.specs file advertises something the package doesn't give nor depends on.

➜ opt apt-cache show gcc-arm-none-eabi
Package: gcc-arm-none-eabi
Status: install ok installed
Priority: extra
Section: devel
Installed-Size: 203581
Maintainer: Terry Guo <terry.guo@arm.com>
Architecture: amd64
Version: 4.9.3.2014q4-0trusty12
Depends: libc6 (>= 2.14), libexpat1 (>= 2.0.1), libgmp10, libmpc3, libmpfr4 (>= 3.1.2), libncurses5 (>= 5.5-5~), libpython2.7 (>= 2.7), libtinfo5, zlib1g (>= 1:1.2.0)
Description: A GNU-based tool chain for arm embedded processors
Besides this PPA based release, there are other formats for various
platforms which can be found at https://launchpad.net/gcc-arm-embedded.
Description-md5: ea76172bb57eafb785e1986f1df549e8
Homepage: https://launchpad.net/~terry.guo

Package: gcc-arm-none-eabi
Source: gcc-arm-none-eabi (6)
Version: 4.8.2-14ubuntu1+6
Installed-Size: 99527
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Agustin Henze <tin@debian.org>
Architecture: amd64
Depends: libc6 (>= 2.14), libcloog-isl4 (>= 0.17), libgmp10, libisl10 (>= 0.10), libmpc3, libmpfr4 (>= 3.1.2), zlib1g (>= 1:1.1.4), binutils-arm-none-eabi
Recommends: libnewlib-arm-none-eabi
Description: GCC cross compiler for ARM Cortex-A/R/M processors
Bare metal compiler for embedded ARM chips using Cortex-M0/M0+/M3/M4,
Cortex-R4/R5/R7 and Cortex-A* processors.
Description-md5: 85395b75a50917cc4773abfc4610209d
Homepage: http://gcc.gnu.org/
Filename: pool/gcc-arm-none-eabi_4.8.2-14ubuntu1+6_amd64_2e05ff98aaa35e14dc07bb5a3d30387e8a585bb95b57168cdf3d1c24f79db088.deb
Priority: extra
SHA256: 2e05ff98aaa35e14dc07bb5a3d30387e8a585bb95b57168cdf3d1c24f79db088
Section: devel
Size: 15525122
Comment by Anatol Pomozov (anatolik) - Friday, 30 January 2015, 19:20 GMT
libstdc++_nano.a comes from libstdc++-arm-none-eabi-newlib package.

That package compiles libstdc++ in 2 variants: normal and nano. The only difference between them is nano compiled without C++ exceptions support. It makes sense to do the same for Arch. Looking into it.....
Comment by Anatol Pomozov (anatolik) - Monday, 02 February 2015, 01:16 GMT
Could you please try this package (signed with my Arch key) http://pkgbuild.com/~anatolik/arm-embedded/ Please let me know if you see any problems/regressions.
Comment by Anatol Pomozov (anatolik) - Monday, 02 February 2015, 16:38 GMT
4.9.2-5 is in [testing] now. Please install the package and test it.

Loading...