Bug 1006053
Summary: | x86_64-linux-gnu-gcc doesn't support c++ | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Brendan Long <self> |
Component: | cross-gcc | Assignee: | David Howells <dhowells> |
Status: | CLOSED WONTFIX | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | medium | Docs Contact: | |
Priority: | unspecified | ||
Version: | 19 | CC: | dan, dhowells, jakub, law, mjuszkie |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | i686 | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2013-09-18 16:19:07 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
Brendan Long
2013-09-09 22:03:25 UTC
Interestingly, there's even a binary called `x86_64-linux-gcc-cpp`, but it doesn't work:
> $ x86_64-linux-gnu-gcc test.cpp
> x86_64-linux-gnu-gcc: error: test.cpp: C++ compiler not installed on this system
*-cpp is a preprocessor, not a C++ compiler, that would be *-c++, but I bet cross-gcc is meant to support only C, it is there mainly for kernel people, building usable cross compilers for C++ requires usually more effort, you need target libraries which cross-gcc doesn't bother with. Jakub is right. We don't support any userspace side at this time because of the massive multiplication factor that it would incur and the messiness it incurs. The SRPM that builds this also builds 23 other cross-compilers RPMs at the same time in the same build. Multiply those by the different arch variants the kernel supports (MIPS has at least 6 for example) and the different C libraries that may be available (glibc and uClibc) and you start getting huge RPM counts. Then you need to inflate the SRPM because it needs kernel headers, glibc sources, uClibc sources and libstdc++ library sources in addition to the compiler sources. (Does libstdc++ even build for uClibc?) Further, there's no guarantee that we can build C++ for every cross-compiler. If you need C++ cross compiler then fetch source, select only required target architecture and change configure call to enable also c++ language. I understand why there is no such one enabled. |