slackbuilds/development/gcc5/README

49 lines
2.0 KiB
Plaintext

This gcc5 package can be installed alongside Slackware's gcc-11
packages. These version 11 compilers can sometimes be quite a bit
more strict about what they accept as valid code. As a consequence,
you will regularly run into compilation issues with software. Not just
the software made with the scripts on slackbuilds.org, but also some
of the software in the Slackware core distribution requires patches in
order to get them to compile.
Still having the gcc version 5 compilers can sometimes be a lifesaver.
Particulars of the gcc5 package:
- The gcc5 binaries were given a suffix '-5' to make them stand apart
from Slackware's default compilers.
- The gcc5 package only contains the C, C++ and Java compilers.
- One all-encompassing package is built by the SlackBuild script.
- Profile scripts are added to /etc/profile.d/. You can 'source'
the profile script to prefer the gcc-5 compilers over gcc-7.
- On 64bit Slackware, the gcc5.SlackBuild will detect an existing gcc
multilib compiler and will then build a multilib capable gcc5.
If you run pure 64bit Slackware, then a pure 64bit gcc5 package is
built.
How to use these gcc5 compilers instead of Slackware's default ones?
Simple:
In your console or terminal, you 'source' the provided profile script,
like this (a c-shell compatible script is available as well):
source /etc/profile.d/gcc5.sh
The command 'source' is equivalent to the dot command ' . '.
The profile script will (re-)define the common variables that are
used by make and other programs to determine which binary to run as
the compiler:
export CC=gcc-5
export CPP=cpp-5
export CXX=g++-5
export AR=gcc-ar-5
export NM=gcc-nm-5
export RANLIB=gcc-ranlib-5
Nothing else needs to be done after sourcing the profile script.
All you do next is run your compile job as usual in that same console.
Your program will be compiled with the binaries provided by the gcc5
package.
** WARNING: The temporary build location used by the script
** (defaulting here to /tmp/SBo) should *NOT* be a directory path a
** non-root user could create later...