xref: /netbsd-src/external/gpl3/gcc/dist/INSTALL/finalinstall.html (revision 4fe0f936ff464bca8e6277bde90f477ef5a4d004)
1<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2<html>
3<!-- Created by GNU Texinfo 6.8, https://www.gnu.org/software/texinfo/ -->
4<head>
5<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
6<!-- Copyright (C) 1988-2022 Free Software Foundation, Inc.
7
8Permission is granted to copy, distribute and/or modify this document
9under the terms of the GNU Free Documentation License, Version 1.3 or
10any later version published by the Free Software Foundation; with no
11Invariant Sections, the Front-Cover texts being (a) (see below), and
12with the Back-Cover Texts being (b) (see below).  A copy of the
13license is included in the section entitled "GNU
14Free Documentation License".
15
16(a) The FSF's Front-Cover Text is:
17
18A GNU Manual
19
20(b) The FSF's Back-Cover Text is:
21
22You have freedom to copy and modify this GNU Manual, like GNU
23     software.  Copies published by the Free Software Foundation raise
24     funds for GNU development. -->
25<title>Installing GCC: Final installation</title>
26
27<meta name="description" content="Installing GCC: Final installation">
28<meta name="keywords" content="Installing GCC: Final installation">
29<meta name="resource-type" content="document">
30<meta name="distribution" content="global">
31<meta name="Generator" content="makeinfo">
32<meta name="viewport" content="width=device-width,initial-scale=1">
33
34<style type="text/css">
35<!--
36a.copiable-anchor {visibility: hidden; text-decoration: none; line-height: 0em}
37a.summary-letter {text-decoration: none}
38blockquote.indentedblock {margin-right: 0em}
39div.display {margin-left: 3.2em}
40div.example {margin-left: 3.2em}
41kbd {font-style: oblique}
42pre.display {font-family: inherit}
43pre.format {font-family: inherit}
44pre.menu-comment {font-family: serif}
45pre.menu-preformatted {font-family: serif}
46span.nolinebreak {white-space: nowrap}
47span.roman {font-family: initial; font-weight: normal}
48span.sansserif {font-family: sans-serif; font-weight: normal}
49span:hover a.copiable-anchor {visibility: visible}
50ul.no-bullet {list-style: none}
51-->
52</style>
53
54
55</head>
56
57<body lang="en">
58<h1 class="settitle" align="center">Installing GCC: Final installation</h1>
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82<p>Now that GCC has been built (and optionally tested), you can install it with
83</p><div class="example">
84<pre class="example">cd <var>objdir</var> &amp;&amp; make install
85</pre></div>
86
87<p>We strongly recommend to install into a target directory where there is
88no previous version of GCC present.  Also, the GNAT runtime should not
89be stripped, as this would break certain features of the debugger that
90depend on this debugging information (catching Ada exceptions for
91instance).
92</p>
93<p>That step completes the installation of GCC; user level binaries can
94be found in <samp><var>prefix</var>/bin</samp> where <var>prefix</var> is the value
95you specified with the <samp>--prefix</samp> to configure (or
96<samp>/usr/local</samp> by default).  (If you specified <samp>--bindir</samp>,
97that directory will be used instead; otherwise, if you specified
98<samp>--exec-prefix</samp>, <samp><var>exec-prefix</var>/bin</samp> will be used.)
99Headers for the C++ library are installed in
100<samp><var>prefix</var>/include</samp>; libraries in <samp><var>libdir</var></samp>
101(normally <samp><var>prefix</var>/lib</samp>); internal parts of the compiler in
102<samp><var>libdir</var>/gcc</samp> and <samp><var>libexecdir</var>/gcc</samp>; documentation
103in info format in <samp><var>infodir</var></samp> (normally
104<samp><var>prefix</var>/info</samp>).
105</p>
106<p>When installing cross-compilers, GCC&rsquo;s executables
107are not only installed into <samp><var>bindir</var></samp>, that
108is, <samp><var>exec-prefix</var>/bin</samp>, but additionally into
109<samp><var>exec-prefix</var>/<var>target-alias</var>/bin</samp>, if that directory
110exists.  Typically, such <em>tooldirs</em> hold target-specific
111binutils, including assembler and linker.
112</p>
113<p>Installation into a temporary staging area or into a <code>chroot</code>
114jail can be achieved with the command
115</p>
116<div class="example">
117<pre class="example">make DESTDIR=<var>path-to-rootdir</var> install
118</pre></div>
119
120<p>where <var>path-to-rootdir</var> is the absolute path of
121a directory relative to which all installation paths will be
122interpreted.  Note that the directory specified by <code>DESTDIR</code>
123need not exist yet; it will be created if necessary.
124</p>
125<p>There is a subtle point with tooldirs and <code>DESTDIR</code>:
126If you relocate a cross-compiler installation with
127e.g. &lsquo;<samp>DESTDIR=<var>rootdir</var></samp>&rsquo;, then the directory
128<samp><var>rootdir</var>/<var>exec-prefix</var>/<var>target-alias</var>/bin</samp> will
129be filled with duplicated GCC executables only if it already exists,
130it will not be created otherwise.  This is regarded as a feature,
131not as a bug, because it gives slightly more control to the packagers
132using the <code>DESTDIR</code> feature.
133</p>
134<p>You can install stripped programs and libraries with
135</p>
136<div class="example">
137<pre class="example">make install-strip
138</pre></div>
139
140<p>If you are bootstrapping a released version of GCC then please
141quickly review the build status page for your release, available from
142<a href="https://gcc.gnu.org/buildstat.html">https://gcc.gnu.org/buildstat.html</a>.
143If your system is not listed for the version of GCC that you built,
144send a note to
145<a href="mailto:gcc@gcc.gnu.org">gcc@gcc.gnu.org</a> indicating
146that you successfully built and installed GCC.
147Include the following information:
148</p>
149<ul>
150<li> Output from running <samp><var>srcdir</var>/config.guess</samp>.  Do not send
151that file itself, just the one-line output from running it.
152
153</li><li> The output of &lsquo;<samp>gcc -v</samp>&rsquo; for your newly installed <code>gcc</code>.
154This tells us which version of GCC you built and the options you passed to
155configure.
156
157</li><li> Whether you enabled all languages or a subset of them.  If you used a
158full distribution then this information is part of the configure
159options in the output of &lsquo;<samp>gcc -v</samp>&rsquo;, but if you downloaded the
160&ldquo;core&rdquo; compiler plus additional front ends then it isn&rsquo;t apparent
161which ones you built unless you tell us about it.
162
163</li><li> If the build was for GNU/Linux, also include:
164<ul>
165<li> The distribution name and version (e.g., Red Hat 7.1 or Debian 2.2.3);
166this information should be available from <samp>/etc/issue</samp>.
167
168</li><li> The version of the Linux kernel, available from &lsquo;<samp>uname --version</samp>&rsquo;
169or &lsquo;<samp>uname -a</samp>&rsquo;.
170
171</li><li> The version of glibc you used; for RPM-based systems like Red Hat,
172Mandrake, and SuSE type &lsquo;<samp>rpm -q glibc</samp>&rsquo; to get the glibc version,
173and on systems like Debian and Progeny use &lsquo;<samp>dpkg -l libc6</samp>&rsquo;.
174</li></ul>
175<p>For other systems, you can include similar information if you think it is
176relevant.
177</p>
178</li><li> Any other information that you think would be useful to people building
179GCC on the same configuration.  The new entry in the build status list
180will include a link to the archived copy of your message.
181</li></ul>
182
183<p>We&rsquo;d also like to know if the
184<a href="specific.html">host/target specific installation notes</a>
185didn&rsquo;t include your host/target information or if that information is
186incomplete or out of date.  Send a note to
187<a href="mailto:gcc@gcc.gnu.org">gcc@gcc.gnu.org</a> detailing how the information should be changed.
188</p>
189<p>If you find a bug, please report it following the
190<a href="../bugs/">bug reporting guidelines</a>.
191</p>
192<p>If you want to print the GCC manuals, do &lsquo;<samp>cd <var>objdir</var>; make
193dvi</samp>&rsquo;.  You will need to have <code>texi2dvi</code> (version at least 4.7)
194and TeX installed.  This creates a number of <samp>.dvi</samp> files in
195subdirectories of <samp><var>objdir</var></samp>; these may be converted for
196printing with programs such as <code>dvips</code>.  Alternately, by using
197&lsquo;<samp>make pdf</samp>&rsquo; in place of &lsquo;<samp>make dvi</samp>&rsquo;, you can create documentation
198in the form of <samp>.pdf</samp> files; this requires <code>texi2pdf</code>, which
199is included with Texinfo version 4.8 and later.  You can also
200<a href="https://shop.fsf.org/">buy printed manuals from the
201Free Software Foundation</a>, though such manuals may not be for the most
202recent version of GCC.
203</p>
204<p>If you would like to generate online HTML documentation, do &lsquo;<samp>cd
205<var>objdir</var>; make html</samp>&rsquo; and HTML will be generated for the gcc manuals in
206<samp><var>objdir</var>/gcc/HTML</samp>.
207</p>
208<hr />
209<p>
210<p><a href="./index.html">Return to the GCC Installation page</a>
211</p>
212
213
214
215
216
217
218
219</body>
220</html>
221