Difference between revisions of "News:GCC Update"

From Funtoo
Jump to navigation Jump to search
(Created page with "{{News |Summary=GCC Update |News Format=Extended |News Category=General |Author=Oleg |Publication Status=Draft |Publication Date=2016/11/25 }}")
 
Line 7: Line 7:
|Publication Date=2016/11/25
|Publication Date=2016/11/25
}}
}}
* Update to gcc-5.3.0 now available on both current and stable builds. Due to ABI changes [1], introduced with gcc-5.1, users need to perform additional steps with gcc upgrade:
{{console|body=
# emerge --sync
# emerge -u1 gcc
}}
Now, after gcc update and if your box have multiple gcc versions installed,  it is needed to switch to newly installed version with <code>gcc-config</code>. For example, to check installed version:
{{console|body=
oleg2  # gcc-config -l
[1] x86_64-pc-linux-gnu-4.9.3 *
[2] x86_64-pc-linux-gnu-5.3.0
oleg2  #
}}
Switch to new gcc by:
{{console|body=
oleg2 # gcc-config 2
oleg2 # . /etc/profile
}}
This step makes gcc-5.3.0 your default compiler.
Now, as mentioned before, this version is ABI incompatible with gcc-4.9 and after updating following steps needed:
{{console|body=
oleg2  # emerge -e @system --exclude gcc
}}
Alternatively, rebuilding the packages could be achieved with <code> revdep-rebuild</code>:
{{console|body=
oleg2  # revdep-rebuild --library 'libstdc\+\+.so.6' -- --exclude gcc
}}
[1] https://gcc.gnu.org/onlinedocs/libstdc%2B%2B/manual/using_dual_abi.html

Revision as of 16:08, November 25, 2016

GCC Update

GCC Update

By Oleg / November 25, 2016
  • Update to gcc-5.3.0 now available on both current and stable builds. Due to ABI changes [1], introduced with gcc-5.1, users need to perform additional steps with gcc upgrade:
root # emerge --sync
root # emerge -u1 gcc

Now, after gcc update and if your box have multiple gcc versions installed, it is needed to switch to newly installed version with gcc-config. For example, to check installed version:

oleg2  # gcc-config -l
 [1] x86_64-pc-linux-gnu-4.9.3 *
 [2] x86_64-pc-linux-gnu-5.3.0 
oleg2  #

Switch to new gcc by:

oleg2 # gcc-config 2
oleg2 # . /etc/profile

This step makes gcc-5.3.0 your default compiler. Now, as mentioned before, this version is ABI incompatible with gcc-4.9 and after updating following steps needed:

oleg2  # emerge -e @system --exclude gcc

Alternatively, rebuilding the packages could be achieved with revdep-rebuild:

oleg2  # revdep-rebuild --library 'libstdc\+\+.so.6' -- --exclude gcc

[1] https://gcc.gnu.org/onlinedocs/libstdc%2B%2B/manual/using_dual_abi.html