View previous topic :: View next topic |
Author |
Message |
schorsch_76 Guru
Joined: 19 Jun 2012 Posts: 450
|
Posted: Thu Mar 02, 2017 7:35 am Post subject: Transition to gcc 5 / gcc 6 ABI |
|
|
Hi,
i just want to know what the current issue with the transition to gcc 5 and gcc 6. I use it now since pretty long time as my default Compiler. I checked bugzilla about the gcc-5 [1] bug, but it seems there is not much progress.
I know there is the ABI incompatibility [2] that needs the whole system to be rebuild. I rebuilt it 3 times and then i was done. Even Debian is with Stretch on gcc-6.3.0. Stretch is in freeze now and is soon stable.
Anthony G. Basile wrote: |
The syntactic/semantic differences is the first “incompatiblity” and it is really not our problem downstream. Our problem in Gentoo comes because of ABI incompatibilities between the two standards arrising from two sources: 1) Linking between objects compiled with –std=c++98 and –std=c++11 is not guaranteed to work. 2) Neither is linking between objects both compiled with –std=c+11 but with different versions of GCC differing in their minior release number. (The minor release number is x in gcc-4.x.y.)
|
How about a poll to check if the people are willing to rebuild their systems with gcc 5/6 ABI? This would rule the issue withthe linking between different version of the libstdc++ out. THe binary distributions rebuilt it on their Servers and had transitional packages for some problematic packages.
There is also a thread about people who run gcc5/6 on gentoo [3]
[1] https://bugs.gentoo.org/show_bug.cgi?id=gcc-5
[2] https://blogs.gentoo.org/blueness/2015/03/10/the-c11-abi-incompatibility-problem-in-gentoo/
[3] https://forums.gentoo.org/viewtopic-t-1024198-highlight-gcc.html _________________ // valid again: I forgot about the git access. Now 1.2GB big. Start: 2015-06-25
git daily portage tree
Web: https://github.com/schorsch1976/portage
git clone https://github.com/schorsch1976/portage |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54317 Location: 56N 3W
|
Posted: Thu Mar 02, 2017 8:47 am Post subject: |
|
|
schorsch_76,
Its only the C++ ABI that changes, so only the C++ code on your system needs to be rebuilt.
There are a few one liners around to do that.
A poll about rebuilds won't change anything.
To migrate from gcc-4 to gcc-5, the C++ rebuild is not an option.
The ABI is not changed from gcc-5 to gcc-6, so no rebuild required. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
asturm Developer
Joined: 05 Apr 2007 Posts: 8938
|
Posted: Thu Mar 02, 2017 10:11 am Post subject: Re: Transition to gcc 5 / gcc 6 ABI |
|
|
schorsch_76 wrote: | I rebuilt it 3 times and then i was done. |
It is certainly not necessary to rebuild 3 times, but only once - only when a package fails in between [for some unrelated reason, it should not happen on stable] this will need to be rebuilt. No, from gcc-5 to 6 this is not necessary. |
|
Back to top |
|
|
schorsch_76 Guru
Joined: 19 Jun 2012 Posts: 450
|
|
Back to top |
|
|
schorsch_76 Guru
Joined: 19 Jun 2012 Posts: 450
|
Posted: Thu Mar 02, 2017 11:48 am Post subject: |
|
|
NeddySeagoon wrote: | ...A poll about rebuilds won't change anything.
To migrate from gcc-4 to gcc-5, the C++ rebuild is not an option.
... |
When i moved from gcc 4.9 to 5.3 the rebuild changed the used ABI. The Problem was, first there could be libraries linked in to the new binary, which had still the old ABI.
Why is a rebuild not an option?
My way was:
First world rebuild: Change the used ABI of most programs. Some had still linked libraries which had the old ABI
Second world rebuild: rebuild all libraries and binaries which had linking Trouble within the first rebuild.
Third world rebuild: cleanup everything. make sure we are all clean on the new ABI. _________________ // valid again: I forgot about the git access. Now 1.2GB big. Start: 2015-06-25
git daily portage tree
Web: https://github.com/schorsch1976/portage
git clone https://github.com/schorsch1976/portage |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54317 Location: 56N 3W
|
Posted: Thu Mar 02, 2017 3:27 pm Post subject: |
|
|
schorsch_76,
I messed that up a bit.
When you migrate from gcc-4.x to gcc-5.x you must rebuild all your C++ code.
Rebuilding that is not optional. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
|