| <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> |
| <html> |
| <!-- Copyright (C) 1988-2015 Free Software Foundation, Inc. |
| |
| Permission is granted to copy, distribute and/or modify this document |
| under the terms of the GNU Free Documentation License, Version 1.3 or |
| any later version published by the Free Software Foundation; with no |
| Invariant Sections, the Front-Cover texts being (a) (see below), and |
| with the Back-Cover Texts being (b) (see below). A copy of the |
| license is included in the section entitled "GNU |
| Free Documentation License". |
| |
| (a) The FSF's Front-Cover Text is: |
| |
| A GNU Manual |
| |
| (b) The FSF's Back-Cover Text is: |
| |
| You have freedom to copy and modify this GNU Manual, like GNU |
| software. Copies published by the Free Software Foundation raise |
| funds for GNU development. --> |
| <!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ --> |
| <head> |
| <title>Installing GCC</title> |
| |
| <meta name="description" content="Installing GCC"> |
| <meta name="keywords" content="Installing GCC"> |
| <meta name="resource-type" content="document"> |
| <meta name="distribution" content="global"> |
| <meta name="Generator" content="makeinfo"> |
| <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> |
| <style type="text/css"> |
| <!-- |
| a.summary-letter {text-decoration: none} |
| blockquote.smallquotation {font-size: smaller} |
| div.display {margin-left: 3.2em} |
| div.example {margin-left: 3.2em} |
| div.indentedblock {margin-left: 3.2em} |
| div.lisp {margin-left: 3.2em} |
| div.smalldisplay {margin-left: 3.2em} |
| div.smallexample {margin-left: 3.2em} |
| div.smallindentedblock {margin-left: 3.2em; font-size: smaller} |
| div.smalllisp {margin-left: 3.2em} |
| kbd {font-style:oblique} |
| pre.display {font-family: inherit} |
| pre.format {font-family: inherit} |
| pre.menu-comment {font-family: serif} |
| pre.menu-preformatted {font-family: serif} |
| pre.smalldisplay {font-family: inherit; font-size: smaller} |
| pre.smallexample {font-size: smaller} |
| pre.smallformat {font-family: inherit; font-size: smaller} |
| pre.smalllisp {font-size: smaller} |
| span.nocodebreak {white-space:nowrap} |
| span.nolinebreak {white-space:nowrap} |
| span.roman {font-family:serif; font-weight:normal} |
| span.sansserif {font-family:sans-serif; font-weight:normal} |
| ul.no-bullet {list-style: none} |
| --> |
| </style> |
| |
| |
| </head> |
| |
| <body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> |
| <h1 class="settitle" align="center">Installing GCC</h1> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <p>Now that GCC has been built (and optionally tested), you can install it with |
| </p><div class="smallexample"> |
| <pre class="smallexample">cd <var>objdir</var> && make install |
| </pre></div> |
| |
| <p>We strongly recommend to install into a target directory where there is |
| no previous version of GCC present. Also, the GNAT runtime should not |
| be stripped, as this would break certain features of the debugger that |
| depend on this debugging information (catching Ada exceptions for |
| instance). |
| </p> |
| <p>That step completes the installation of GCC; user level binaries can |
| be found in <samp><var>prefix</var>/bin</samp> where <var>prefix</var> is the value |
| you specified with the <samp>--prefix</samp> to configure (or |
| <samp>/usr/local</samp> by default). (If you specified <samp>--bindir</samp>, |
| that directory will be used instead; otherwise, if you specified |
| <samp>--exec-prefix</samp>, <samp><var>exec-prefix</var>/bin</samp> will be used.) |
| Headers for the C++ and Java libraries are installed in |
| <samp><var>prefix</var>/include</samp>; libraries in <samp><var>libdir</var></samp> |
| (normally <samp><var>prefix</var>/lib</samp>); internal parts of the compiler in |
| <samp><var>libdir</var>/gcc</samp> and <samp><var>libexecdir</var>/gcc</samp>; documentation |
| in info format in <samp><var>infodir</var></samp> (normally |
| <samp><var>prefix</var>/info</samp>). |
| </p> |
| <p>When installing cross-compilers, GCC’s executables |
| are not only installed into <samp><var>bindir</var></samp>, that |
| is, <samp><var>exec-prefix</var>/bin</samp>, but additionally into |
| <samp><var>exec-prefix</var>/<var>target-alias</var>/bin</samp>, if that directory |
| exists. Typically, such <em>tooldirs</em> hold target-specific |
| binutils, including assembler and linker. |
| </p> |
| <p>Installation into a temporary staging area or into a <code>chroot</code> |
| jail can be achieved with the command |
| </p> |
| <div class="smallexample"> |
| <pre class="smallexample">make DESTDIR=<var>path-to-rootdir</var> install |
| </pre></div> |
| |
| <p>where <var>path-to-rootdir</var> is the absolute path of |
| a directory relative to which all installation paths will be |
| interpreted. Note that the directory specified by <code>DESTDIR</code> |
| need not exist yet; it will be created if necessary. |
| </p> |
| <p>There is a subtle point with tooldirs and <code>DESTDIR</code>: |
| If you relocate a cross-compiler installation with |
| e.g. ‘<samp>DESTDIR=<var>rootdir</var></samp>’, then the directory |
| <samp><var>rootdir</var>/<var>exec-prefix</var>/<var>target-alias</var>/bin</samp> will |
| be filled with duplicated GCC executables only if it already exists, |
| it will not be created otherwise. This is regarded as a feature, |
| not as a bug, because it gives slightly more control to the packagers |
| using the <code>DESTDIR</code> feature. |
| </p> |
| <p>You can install stripped programs and libraries with |
| </p> |
| <div class="smallexample"> |
| <pre class="smallexample">make install-strip |
| </pre></div> |
| |
| <p>If you are bootstrapping a released version of GCC then please |
| quickly review the build status page for your release, available from |
| <a href="http://gcc.gnu.org/buildstat.html">http://gcc.gnu.org/buildstat.html</a>. |
| If your system is not listed for the version of GCC that you built, |
| send a note to |
| <a href="mailto:gcc@gcc.gnu.org">gcc@gcc.gnu.org</a> indicating |
| that you successfully built and installed GCC. |
| Include the following information: |
| </p> |
| <ul> |
| <li> Output from running <samp><var>srcdir</var>/config.guess</samp>. Do not send |
| that file itself, just the one-line output from running it. |
| |
| </li><li> The output of ‘<samp>gcc -v</samp>’ for your newly installed <code>gcc</code>. |
| This tells us which version of GCC you built and the options you passed to |
| configure. |
| |
| </li><li> Whether you enabled all languages or a subset of them. If you used a |
| full distribution then this information is part of the configure |
| options in the output of ‘<samp>gcc -v</samp>’, but if you downloaded the |
| “core” compiler plus additional front ends then it isn’t apparent |
| which ones you built unless you tell us about it. |
| |
| </li><li> If the build was for GNU/Linux, also include: |
| <ul> |
| <li> The distribution name and version (e.g., Red Hat 7.1 or Debian 2.2.3); |
| this information should be available from <samp>/etc/issue</samp>. |
| |
| </li><li> The version of the Linux kernel, available from ‘<samp>uname --version</samp>’ |
| or ‘<samp>uname -a</samp>’. |
| |
| </li><li> The version of glibc you used; for RPM-based systems like Red Hat, |
| Mandrake, and SuSE type ‘<samp>rpm -q glibc</samp>’ to get the glibc version, |
| and on systems like Debian and Progeny use ‘<samp>dpkg -l libc6</samp>’. |
| </li></ul> |
| <p>For other systems, you can include similar information if you think it is |
| relevant. |
| </p> |
| </li><li> Any other information that you think would be useful to people building |
| GCC on the same configuration. The new entry in the build status list |
| will include a link to the archived copy of your message. |
| </li></ul> |
| |
| <p>We’d also like to know if the |
| <a href="specific.html">host/target specific installation notes</a> |
| didn’t include your host/target information or if that information is |
| incomplete or out of date. Send a note to |
| <a href="mailto:gcc@gcc.gnu.org">gcc@gcc.gnu.org</a> detailing how the information should be changed. |
| </p> |
| <p>If you find a bug, please report it following the |
| <a href="../bugs/">bug reporting guidelines</a>. |
| </p> |
| <p>If you want to print the GCC manuals, do ‘<samp>cd <var>objdir</var>; make |
| dvi</samp>’. You will need to have <code>texi2dvi</code> (version at least 4.7) |
| and TeX installed. This creates a number of <samp>.dvi</samp> files in |
| subdirectories of <samp><var>objdir</var></samp>; these may be converted for |
| printing with programs such as <code>dvips</code>. Alternately, by using |
| ‘<samp>make pdf</samp>’ in place of ‘<samp>make dvi</samp>’, you can create documentation |
| in the form of <samp>.pdf</samp> files; this requires <code>texi2pdf</code>, which |
| is included with Texinfo version 4.8 and later. You can also |
| <a href="http://shop.fsf.org/">buy printed manuals from the |
| Free Software Foundation</a>, though such manuals may not be for the most |
| recent version of GCC. |
| </p> |
| <p>If you would like to generate online HTML documentation, do ‘<samp>cd |
| <var>objdir</var>; make html</samp>’ and HTML will be generated for the gcc manuals in |
| <samp><var>objdir</var>/gcc/HTML</samp>. |
| </p> |
| <hr /> |
| <p><p><a href="./index.html">Return to the GCC Installation page</a> |
| </p> |
| |
| |
| |
| |
| |
| |
| |
| |
| </body> |
| </html> |