mirror of
https://github.com/Zeckmathederg/glfs.git
synced 2025-01-24 23:32:12 +08:00
157 lines
5.2 KiB
XML
157 lines
5.2 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
|
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
|
<!ENTITY % general-entities SYSTEM "../../../general.ent">
|
|
%general-entities;
|
|
|
|
<!-- Let's use the older binary release for now until they make a binary
|
|
build. - Zeckma -->
|
|
<!ENTITY gnat-binary-amd64-download-http "https://github.com/alire-project/GNAT-FSF-builds/releases/download/gnat-14.1.0-3/gnat-x86_64-linux-14.1.0-3.tar.gz">
|
|
<!ENTITY gnat-binary-amd64-download-ftp " ">
|
|
|
|
<!ENTITY gnat-binary-i686-download-http "https://community.download.adacore.com/v1/c5e9e6fdff5cb77ed90cf8c62536653e27c0bed6?filename=gnat-gpl-2014-x86-linux-bin.tar.gz&rand=1247">
|
|
<!ENTITY gnat-binary-i686-download-ftp " ">
|
|
]>
|
|
|
|
<sect1 id="gnat-binary" xreflabel="Binary GNAT">
|
|
<?dbhtml filename="gnat-binary.html"?>
|
|
|
|
|
|
<title>Binary GNAT</title>
|
|
|
|
<indexterm zone="gnat-binary">
|
|
<primary sortas="a-gnat-binary">gnat-binary</primary>
|
|
</indexterm>
|
|
|
|
<sect2 role="package">
|
|
<title>About GNAT</title>
|
|
|
|
<para>
|
|
Ada is a modern programming language designed for large, long-lived
|
|
applications — and embedded systems in particular — where
|
|
reliability and efficiency are essential. It has a set of unique technical
|
|
features that make it highly effective for use in large, complex and
|
|
safety-critical projects.
|
|
</para>
|
|
|
|
<para>
|
|
The compiler and associated tools on this page are known as the
|
|
<application>GNAT</application> technology, developed by the Adacore
|
|
company, using the <application>GCC</application> backend. Since
|
|
parts of the Ada compiler are written in Ada, there is a circular
|
|
dependency on an Ada compiler. The instructions below install a
|
|
binary compiler. You do not need to do that if you already have built
|
|
<application>GNAT</application> tools. The next section covers how to
|
|
build GNAT once the circular dependency is satisfied.
|
|
</para>
|
|
|
|
&lfs121_checked;
|
|
|
|
<itemizedlist spacing="compact">
|
|
<listitem>
|
|
<para>
|
|
Binary Download (x86): <ulink url="&gnat-binary-i686-download-http;"/>
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<itemizedlist spacing="compact">
|
|
<listitem>
|
|
<para>
|
|
Binary Download (x86_64): <ulink url="&gnat-binary-amd64-download-http;"/>
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<note>
|
|
<para>
|
|
If you are currently in a TTY and relying on command-line
|
|
tools to obtain software, it is recommended to open the
|
|
x86 GNAT download link with
|
|
<ulink url="https://www.linuxfromscratch.org/blfs/view/svn/basicnet/lynx.html">
|
|
lynx</ulink> or
|
|
<ulink url="https://www.linuxfromscratch.org/blfs/view/svn/basicnet/links.html">
|
|
links</ulink>. You can use
|
|
<xref linkend="wget"/> but not <xref linkend="curl"/>.
|
|
If you do end up using <application>wget</application>
|
|
regardless of the recommendation against it, please run
|
|
the following the command before unpacking:
|
|
</para>
|
|
|
|
<screen><userinput>mv c5e9e6fdff5cb77ed90cf8c62536653e27c0bed6\?filename\=gnat-gpl-2014-x86-linux-bin.tar.gz\&rand\=1247 \
|
|
gnat-gpl-2014-x86-linux-bin.tar.gz</userinput></screen>
|
|
|
|
</note>
|
|
|
|
<important>
|
|
<para>
|
|
If you are doing multilib, just download the x86_64
|
|
<application>GNAT</application> binary tarball.
|
|
The instructions in the next section for multilib will
|
|
work as expected and <application>GCC</application>
|
|
will continue to have multilib support.
|
|
</para>
|
|
</important>
|
|
|
|
</sect2>
|
|
|
|
<sect2 role="installation">
|
|
<title>Installation of GNAT Binaries</title>
|
|
|
|
<para>
|
|
Install the x86_64 <application>GNAT</application>
|
|
binaries by running the following commands as the
|
|
<systemitem class="username">root</systemitem> user
|
|
while still in the directory the tarball is in:
|
|
</para>
|
|
|
|
<screen role="root"><userinput>export GNATTBPATH=$PWD &&
|
|
cd /opt &&
|
|
tar xpvf "$GNATTBPATH"/gnat-x86_64-linux-14.1.0-3.tar.gz
|
|
|
|
ln -sv gnat-x86_64-linux-14.1.0-3 gnat &&
|
|
cd $GNATTBPATH
|
|
|
|
unset GNATTBPATH</userinput></screen>
|
|
|
|
<para>
|
|
Or install the x86 <application>GNAT</application>
|
|
binaries by running the following commands as the
|
|
<systemitem class="username">root</systemitem> user
|
|
while still in the directory the tarball is in:
|
|
</para>
|
|
|
|
<screen role="root"><userinput>export GNATTBPATH=$PWD &&
|
|
cd /opt &&
|
|
tar xpvf "$GNATTBPATH"/gnat-gpl-2014-x86-linux-bin.tar.gz
|
|
|
|
ln -sv gnat-gpl-2014-x86-linux-bin gnat &&
|
|
chown -R root:root gnat &&
|
|
cd $GNATTBPATH
|
|
|
|
unset GNATTBPATH</userinput></screen>
|
|
|
|
<para>
|
|
Now adjust the <filename>PATH</filename> variable so
|
|
the <application>GNAT</application> software can be found
|
|
and used:
|
|
</para>
|
|
|
|
<screen><userinput>PATH_HOLD=$PATH &&
|
|
export PATH=/opt/gnat/bin:$PATH_HOLD</userinput></screen>
|
|
|
|
<para>
|
|
Ensure <command>ld</command> and <command>as</command>
|
|
from the <application>GNAT</application> package aren't
|
|
used as to prevent issues with aging by issuing the
|
|
following as the <systemitem class="username">root
|
|
</systemitem> user:
|
|
</para>
|
|
|
|
<screen><userinput>find /opt/gnat -name ld -exec mv -v {} {}.old \;
|
|
find /opt/gnat -name as -exec mv -v {} {}.old \;</userinput></screen>
|
|
|
|
</sect2>
|
|
|
|
</sect1>
|