Bug 998957

Summary: Missing binaries (arm-none-eabi-g++, ...)
Product: [Fedora] Fedora Reporter: Loïc GRENON <difool>
Component: arm-none-eabi-gcc-csAssignee: Michal Hlavinka <mhlavink>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 19CC: fredericg_99, itai.nahshon, mhlavink
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: arm-none-eabi-gcc-cs-2013.05.23-1.fc19 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-04-09 10:50:32 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Loïc GRENON 2013-08-20 12:24:36 UTC
Description of problem:
arm-none-eabi-g++ is not installed with arm-none-eabi-gcc-cs-c++ so I can't cross compile C++ programs

Version-Release number of selected component (if applicable):
Name          : arm-none-eabi-gcc-cs-c++
Architecture  : x86_64
Version       : 2012.09.63
Revision      : 1.fc19

How reproducible:
100% (on x86_64 and i386) 

Steps to Reproduce:
1. Install arm-none-eabi-gcc-cs-c++
2. Launch arm-none-eabi-g++

Actual results:
command not found: arm-none-eabi-g++

Expected results:
arm-none-eabi-g++ should be provided by arm-none-eabi-gcc-cs-c++

Additional info:

% arm-none-eabi-
arm-none-eabi-addr2line   arm-none-eabi-cpp         arm-none-eabi-gcc-ar      arm-none-eabi-gprof       arm-none-eabi-objcopy     arm-none-eabi-size
arm-none-eabi-ar          arm-none-eabi-elfedit     arm-none-eabi-gcc-nm      arm-none-eabi-ld          arm-none-eabi-objdump     arm-none-eabi-strings
arm-none-eabi-as          arm-none-eabi-gcc         arm-none-eabi-gcc-ranlib  arm-none-eabi-ld.bfd      arm-none-eabi-ranlib      arm-none-eabi-strip
arm-none-eabi-c++filt     arm-none-eabi-gcc-4.7.2   arm-none-eabi-gcov        arm-none-eabi-nm          arm-none-eabi-readelf

Comment 1 Michal Hlavinka 2013-08-20 14:37:58 UTC
Thanks for reporting this. 
This is somehow expected. arm-none-eabi-gcc needs arm-none-eabi-newlib, but arm-none-eabi-newlib must be compiled with arm-none-eabi-gcc. To make this possible, -gcc is in bootstrap mode - it should be good enough to compile -newlib, but otherwise it's not expected to work.

The problem is that -newlib package review is stuck (bug #913254 comment #1), still waiting for legal review.

Until the above dependency is solved and -gcc package is rebuilt with all needed options, this will have to wait. Sorry.

Comment 2 Itai Nahshon 2013-10-10 21:35:10 UTC
Michal, I hit a related problem and I did not want to open a separate bug. Using Fedora-19 32bit. This may actually be the same problem that Loïc is experiencing because after resolving it I have arm-none-eabi-g++.

I'm trying the rawhide arm-none-eabi-gcc and find that it does not contain libgcc.a. It is probably only the bootstrap and not the final package!

Trying to rebuild it from the source package (http://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/source/SRPMS/a/arm-none-eabi-gcc-cs-2013.05.23-1.fc21.src.rpm ) I found two errors in the %check step.

+ missing pushd gcc-%{target} (make check happens in the parent directory where there is no Makefile).
+ missing BuildRequires autogen (used by make check).

After these changes I could finally compile TI's small examples for the LaunchPad Stellaris.

There is no dependency in newlib when gcc is built as a cross-compiler!

-- Itai

Comment 3 Michal Hlavinka 2013-10-11 08:35:35 UTC
I'm sorry that this situation is confusing to some people. I thought it would take only a few days to complete everything, but newlib got stuck for quite some time.

What you see in repositories is compiler that can compile newlib. Just for bootstrap. Nothing more. Compiler is not expected to work for usual use.

I'll package to include arm-*-g++ script that will print the explanation.
Thanks for %check bugs, I'll fix it.