Changeset 70e3220
- Timestamp:
- 05/04/2005 08:49:36 PM (19 years ago)
- Branches:
- 10.0, 10.1, 11.0, 11.1, 11.2, 11.3, 12.0, 12.1, 6.1, 6.2, 6.2.0, 6.2.0-rc1, 6.2.0-rc2, 6.3, 6.3-rc1, 6.3-rc2, 6.3-rc3, 7.10, 7.4, 7.5, 7.6, 7.6-blfs, 7.6-systemd, 7.7, 7.8, 7.9, 8.0, 8.1, 8.2, 8.3, 8.4, 9.0, 9.1, basic, bdubbs/svn, elogind, gnome, kde5-13430, kde5-14269, kde5-14686, kea, ken/TL2024, ken/inkscape-core-mods, ken/tuningfonts, krejzi/svn, lazarus, lxqt, nosym, perl-modules, plabs/newcss, plabs/python-mods, python3.11, qt5new, rahul/power-profiles-daemon, renodr/vulkan-addition, systemd-11177, systemd-13485, trunk, upgradedb, xry111/intltool, xry111/llvm18, xry111/soup3, xry111/test-20220226, xry111/xf86-video-removal
- Children:
- 3c63b3f1
- Parents:
- 9db83697
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
general/prog/gcc.xml
r9db83697 r70e3220 23 23 24 24 <sect1 id="gcc" xreflabel="GCC-&gcc-version;"> 25 <sect1info> 26 <othername>$LastChangedBy$</othername> 27 <date>$Date$</date> 28 </sect1info> 29 <?dbhtml filename="gcc.html" ?> 30 <title>GCC-&gcc-version;</title> 31 <indexterm zone="gcc"> 32 <primary sortas="a-gcc-3-4">GCC-&gcc-version;</primary></indexterm> 33 34 <sect2> 35 <title>Introduction to <application><acronym>GCC</acronym></application></title> 36 37 <para>The <application><acronym>GCC</acronym></application> package contains 38 <acronym>GNU</acronym> compilers. This is useful for compiling programs 39 written in <application>C</application>, <application>C++</application>, 40 <application>Fortran</application>, <application>Java</application>, 41 <application>Objective C</application> and 42 <application>Ada</application>.</para> 43 44 <sect3><title>Package Information</title> 45 <itemizedlist spacing='compact'> 46 <listitem><para>Download (HTTP): <ulink 47 url="&gcc-download-http;"/></para></listitem> 48 <listitem><para>Download (FTP): <ulink 49 url="&gcc-download-ftp;"/></para></listitem> 50 <listitem><para>Download MD5 sum: &gcc-md5sum;</para></listitem> 51 <listitem><para>Download size: &gcc-size;</para></listitem> 52 <listitem><para>Estimated disk space required: 53 &gcc-buildsize;</para></listitem> 54 <listitem><para>Estimated build time: 55 &gcc-time;</para></listitem></itemizedlist> 56 </sect3> 57 58 <sect3><title>Additional Downloads</title> 59 <itemizedlist spacing='compact'> 60 <listitem><para>Required patch: <ulink 61 url="&patch-root;/gcc-&gcc-version;-no_fixincludes-1.patch"/></para></listitem> 62 <listitem><para>Required patch: <ulink 63 url="&patch-root;/gcc-&gcc-version;-linkonce-1.patch"/></para></listitem> 64 <listitem><para>Test suite: <ulink url="&gcc-testsuite-url;"/></para></listitem> 65 <listitem><para>Test suite MD5 sum: &gcc-testsuite-md5sum;</para></listitem> 66 </itemizedlist></sect3> 67 68 <sect3><title><application><acronym>GCC</acronym></application> 69 Dependencies</title> 70 <sect4><title>Recommended</title> 71 <itemizedlist spacing='compact'> 72 <listitem><para><xref linkend="dejagnu"/></para></listitem> 73 </itemizedlist> 74 </sect4> 75 </sect3> 76 77 </sect2> 78 79 <sect2> 80 <title>Installation of <application><acronym>GCC</acronym></application></title> 81 82 <para>If you plan to compile Ada, you will need to install 83 <application><acronym>GNAT</acronym></application> temporarily to 84 satisfy the circular dependency when you recompile 85 <application><acronym>GCC</acronym></application> to include 86 <application>Ada</application>.</para> 87 88 <sect3><title>Package information</title> 89 <itemizedlist spacing='compact'> 90 <listitem><para>Download (HTTP): <ulink 91 url="&gnat-download-http;"/></para></listitem> 92 <listitem><para>Download (FTP): <ulink 93 url="&gnat-download-ftp;"/></para></listitem> 94 <listitem><para>Download MD5 sum: &gnat-md5sum;</para></listitem> 95 <listitem><para>Download size: &gnat-size;</para></listitem> 96 <listitem><para>Estimated build time: 97 &gnat-time;</para></listitem></itemizedlist> 98 </sect3> 99 100 <sect3><title><application><acronym>GNAT</acronym></application> 101 dependencies</title> 102 <sect4><title>Required</title> 103 <para><xref linkend="tcsh"/></para> 104 </sect4> 105 </sect3> 106 107 </sect2> 108 109 <sect2> 110 <title>Installation of <application><acronym>GNAT</acronym></application> 111 </title> 112 113 <para>Install <application><acronym>GNAT</acronym></application> by running 114 the following commands:</para> 115 116 <screen><userinput><command>./doconfig</command></userinput></screen> 117 118 <para>The above script will ask you how and where you would like to install 119 <application><acronym>GNAT</acronym></application>. To avoid conflicts with 120 the system <command>gcc</command>, the package will be installed in a separate 121 directory, that can later be removed from the system.</para> 122 123 <para>In response to the questions asked by the <command>doconfig</command> 124 script, enter <userinput>3</userinput> in response to the first question 125 and <userinput>/opt/gnat</userinput> in response to the second question.</para> 126 127 <para>To finish the install, run the following command as the root user:</para> 128 129 <screen><userinput role='root'><command>./doinstall</command></userinput></screen> 130 131 <para>The <application><acronym>GNAT</acronym></application> compiler can be 132 invoked by executing the <command>gcc</command> binary installed by the above 133 script.</para> 134 135 <para>You may now remove the <application><acronym>GNAT</acronym></application> 136 source directory:</para> 137 138 <screen><userinput><command>cd .. && 139 rm -rf gnat-3.15p-i686-pc-linux-gnu-bin</command></userinput></screen> 140 141 <para>Prepare to compile <application>GCC</application> by placing the 142 <application>GNAT</application> <command>gcc</command> at the beginning of 143 the <envar>PATH</envar> variable by using the following commands:</para> 144 145 <screen><userinput><command>PATH_HOLD=$PATH && 146 export PATH=/opt/gnat/bin:$PATH</command></userinput></screen> 147 148 </sect2> 149 150 <sect2><title>Return to Installation of 151 <application><acronym>GCC</acronym></application></title> 152 153 <para>Install <application><acronym>GCC</acronym></application> by running the 154 following commands:</para> 155 156 <important><para>The installation process may overwrite your existing 157 <application><acronym>GCC</acronym></application> compiler and libraries. It 158 is highly recommended that you have the <application>Tcl</application>, 159 <application>Expect</application> and <application>DejaGnu</application> 160 packages installed, as well as unpacking the 161 <application><acronym>GCC</acronym></application> testsuite tarball before 162 beginning the build.</para> 163 164 <para>Do not continue with the <command>make install</command> command until 165 you're confident the build was successful. You can compare your test results 166 with those found at <ulink 167 url="http://gcc.gnu.org/ml/gcc-testresults/"/>. There's also an i686 platform 168 test result produced by an <acronym>LFS</acronym>-SVN-20050316 system at 169 <ulink url="http://linuxfromscratch.org/~randy/gcc343_test.txt"/>. You 170 may also want to refer to the information found in the 171 <application><acronym>GCC</acronym></application>-Pass 2 section of Chapter 5 172 in the <acronym>LFS</acronym> book 173 (<ulink url="&lfs-root;/chapter05/gcc-pass2.html"/>).</para></important> 174 175 <note><para>Some of the <application>Java</application> programs installed by 176 the <application><acronym>GCC</acronym></application> package conflict (have 177 the same names) with programs from the <xref linkend="jdk"/> package. If 178 you're installing the <application>Java</application> language from the 179 <application><acronym>GCC</acronym></application> package but you wish to 180 use the programs from the <application>JDK</application> as the defaults, 181 ensure <filename class='directory'>$JAVA_HOME/bin</filename> is listed before 182 <filename class='directory'>/usr/bin</filename> in your <envar>PATH</envar> 183 variable after the <application><acronym>GCC</acronym></application> 184 installation is complete.</para></note> 185 186 <screen><userinput><command>patch -Np1 -i ../gcc-&gcc-version;-no_fixincludes-1.patch && 25 <?dbhtml filename="gcc.html" ?> 26 27 <sect1info> 28 <othername>$LastChangedBy$</othername> 29 <date>$Date$</date> 30 </sect1info> 31 32 <title>GCC-&gcc-version;</title> 33 34 <indexterm zone="gcc"> 35 <primary sortas="a-gcc-3-4">GCC-&gcc-version;</primary> 36 </indexterm> 37 38 <sect2 role="package"> 39 <title>Introduction to GCC</title> 40 41 <para>The <application>GCC</application> package contains GNU compilers. 42 This is useful for compiling programs written in <application>C</application>, 43 <application>C++</application>, <application>Fortran</application>, 44 <application>Java</application>, <application>Objective C</application> and 45 <application>Ada</application>.</para> 46 47 <bridgehead renderas="sect3">Package Information</bridgehead> 48 <itemizedlist spacing="compact"> 49 <listitem> 50 <para>Download (HTTP): <ulink url="&gcc-download-http;"/></para> 51 </listitem> 52 <listitem> 53 <para>Download (FTP): <ulink url="&gcc-download-ftp;"/></para> 54 </listitem> 55 <listitem> 56 <para>Download MD5 sum: &gcc-md5sum;</para> 57 </listitem> 58 <listitem> 59 <para>Download size: &gcc-size;</para> 60 </listitem> 61 <listitem> 62 <para>Estimated disk space required: &gcc-buildsize;</para> 63 </listitem> 64 <listitem> 65 <para>Estimated build time: &gcc-time;</para> 66 </listitem> 67 </itemizedlist> 68 69 <bridgehead renderas="sect3">Additional Downloads</bridgehead> 70 <itemizedlist spacing='compact'> 71 <listitem> 72 <para>Required patch: <ulink 73 url="&patch-root;/gcc-&gcc-version;-no_fixincludes-1.patch"/></para> 74 </listitem> 75 <listitem> 76 <para>Required patch: <ulink 77 url="&patch-root;/gcc-&gcc-version;-linkonce-1.patch"/></para> 78 </listitem> 79 <listitem> 80 <para>Test suite: <ulink url="&gcc-testsuite-url;"/></para> 81 </listitem> 82 <listitem> 83 <para>Test suite MD5 sum: &gcc-testsuite-md5sum;</para> 84 </listitem> 85 </itemizedlist> 86 87 <bridgehead renderas="sect3">GCC Dependencies</bridgehead> 88 89 <bridgehead renderas="sect4">Recommended</bridgehead> 90 <para><xref linkend="dejagnu"/></para> 91 92 <note> 93 <para>If you plan to compile Ada, you will need to install 94 <application>GNAT</application> temporarily to satisfy the circular 95 dependency when you recompile <application>GCC</application> 96 to include Ada.</para> 97 </note> 98 99 <bridgehead renderas="sect3">Package Information</bridgehead> 100 <itemizedlist spacing="compact"> 101 <listitem> 102 <para>Download (HTTP): <ulink url="&gnat-download-http;"/></para> 103 </listitem> 104 <listitem> 105 <para>Download (FTP): <ulink url="&gnat-download-ftp;"/></para> 106 </listitem> 107 <listitem> 108 <para>Download MD5 sum: &gnat-md5sum;</para> 109 </listitem> 110 <listitem> 111 <para>Download size: &gnat-size;</para> 112 </listitem> 113 <listitem> 114 <para>Estimated build time: &gnat-time;</para> 115 </listitem> 116 </itemizedlist> 117 118 <bridgehead renderas="sect3">GNAT Dependencies</bridgehead> 119 120 <bridgehead renderas="sect4">Required</bridgehead> 121 <para><xref linkend="tcsh"/></para> 122 123 </sect2> 124 125 <sect2 role="installation"> 126 <title>Installation of GNAT</title> 127 128 <para>Install <application>GNAT</application> by running 129 the following commands:</para> 130 131 <screen><userinput>./doconfig</userinput></screen> 132 133 <para>The above script will ask you how and where you would like to install 134 <application>GNAT</application>. To avoid conflicts with 135 the system <command>gcc</command>, the package will be installed in a separate 136 directory, that can later be removed from the system.</para> 137 138 <para>In response to the questions asked by the <command>doconfig</command> 139 script, enter <userinput>3</userinput> in response to the first question 140 and <userinput>/opt/gnat</userinput> in response to the second question.</para> 141 142 <para>To finish the install, run the following command as the 143 <systemitem class="username">root</systemitem> user:</para> 144 145 <screen role="root"><userinput>./doinstall</userinput></screen> 146 147 <para>The <application>GNAT</application> compiler can be 148 invoked by executing the <command>gcc</command> binary installed 149 by the above script.</para> 150 151 <para>You may now remove the <application>GNAT</application> 152 source directory:</para> 153 154 <screen><userinput>cd .. && 155 rm -rf gnat-3.15p-i686-pc-linux-gnu-bin</userinput></screen> 156 157 <para>Prepare to compile <application>GCC</application> by placing the 158 <application>GNAT</application> <command>gcc</command> at the beginning of 159 the <envar>PATH</envar> variable by using the following commands:</para> 160 161 <screen><userinput>PATH_HOLD=$PATH && 162 export PATH=/opt/gnat/bin:$PATH</userinput></screen> 163 164 </sect2> 165 166 <sect2 role="installation"> 167 <title>Installation of GCC</title> 168 169 <para>Install <application>GCC</application> by running the 170 following commands:</para> 171 172 <important> 173 <para>The installation process may overwrite your existing 174 <application>GCC</application> compiler and libraries. It 175 is highly recommended that you have the <application>Tcl</application>, 176 <application>Expect</application> and <application>DejaGnu</application> 177 packages installed, as well as unpacking the <application>GCC</application> 178 testsuite tarball before beginning the build.</para> 179 180 <para>Do not continue with the <command>make install</command> command 181 until you're confident the build was successful. You can compare your test results 182 with those found at <ulink url="http://gcc.gnu.org/ml/gcc-testresults/"/>. There's 183 also an i686 platform test result produced by an LFS-SVN-20050316 system at 184 <ulink url="http://linuxfromscratch.org/~randy/gcc343_test.txt"/>. You may also 185 want to refer to the information found in the 186 <application>GCC</application>-Pass 2 section of Chapter 5 in the LFS book 187 (<ulink url="&lfs-root;/chapter05/gcc-pass2.html"/>).</para> 188 </important> 189 190 <note> 191 <para>Some of the <application>Java</application> programs installed by 192 the <application>GCC</application> package conflict (have the same names) 193 with programs from the <xref linkend="jdk"/> package. If you're installing the 194 <application>Java</application> language from the 195 <application>GCC</application> package but you wish to use the programs 196 from the <application>JDK</application> as the defaults, ensure 197 <filename class='directory'>$JAVA_HOME/bin</filename> is listed before 198 <filename class='directory'>/usr/bin</filename> in your <envar>PATH</envar> 199 variable after the <application>GCC</application> installation is complete.</para> 200 </note> 201 202 <screen><userinput>patch -Np1 -i ../gcc-&gcc-version;-no_fixincludes-1.patch && 187 203 patch -Np1 -i ../gcc-&gcc-version;-linkonce-1.patch && 188 204 sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in && … … 196 212 make -C gcc gnattools && 197 213 make -k check && 198 ../gcc-&gcc-version;/contrib/test_summary</ command></userinput></screen>199 200 <para>Now, as the rootuser:</para>201 202 <screen ><userinput role='root'><command>make install &&214 ../gcc-&gcc-version;/contrib/test_summary</userinput></screen> 215 216 <para>Now, as the <systemitem class="username">root</systemitem> user:</para> 217 218 <screen role="root"><userinput>make install && 203 219 ln -v -sf ../usr/bin/cpp /lib && 204 220 ln -v -sf gcc /usr/bin/cc && … … 207 223 /usr/lib/gcc/i686-pc-linux-gnu/&gcc-version;/include && 208 224 chown -v -R root:root \ 209 /usr/lib/gcc/i686-pc-linux-gnu/&gcc-version;/ada{lib,include}</command></userinput></screen> 210 211 <para>There is a bug in the installation of the 212 <filename class='libraryfile'>libffi</filename> interface headers. The 213 architecture specific <filename>ffitarget.h</filename> file is not installed. 214 If you included Java as one of the installed languages, install the missing 215 file using the command below. Substitute for the 216 <replaceable>[arch]</replaceable> in the command with the appropriate 217 directory path for your system.</para> 218 219 <screen><userinput role='root'><command>install -v -m644 libffi/src/<replaceable>[arch]</replaceable>/ffitarget.h \ 220 /usr/include</command></userinput></screen> 221 222 <para>As the root user, remove the 223 <application><acronym>GNAT</acronym></application> installation:</para> 224 225 <screen><userinput role='root'><command>rm -rf /opt/gnat</command></userinput></screen> 226 227 <para>Now, as the unprivileged user, restore your old 228 <envar>PATH</envar>:</para> 229 230 <screen><userinput><command>export PATH=$PATH_HOLD && 231 unset PATH_HOLD</command></userinput></screen> 232 233 </sect2> 234 235 <sect2> 236 <title>Command explanations</title> 237 238 <para><command>sed -i 's/install_to_$(INSTALL_DEST) //' 239 libiberty/Makefile.in</command>: This command suppresses the installation of 240 <filename class='libraryfile'>libiberty.a</filename> as the version provided 241 by <application>Binutils</application> is used instead.</para> 242 243 <para><command>mkdir ../gcc-build; cd ../gcc-build</command>: The 244 <application><acronym>GCC</acronym></application> documentation recommends 245 building the package in a dedicated build directory.</para> 246 247 <para><parameter>--enable-shared --enable-threads=posix 248 --enable-__cxa_atexit</parameter>: These commands are required to build 249 the <application>C++</application> libraries to published standards.</para> 250 251 <para><parameter>--enable-clocale=gnu</parameter>: This command is a 252 failsafe for incomplete locale data.</para> 253 254 <para><parameter>--enable-languages=c,c++,objc,f77,ada,java</parameter>: 255 This command identifies which languages to build. You may modify this command 256 to remove undesired languages.</para> 257 258 <para><command>make -C gcc gnatlib-shared</command>: This command builds the 259 Ada shared and static libraries. Skip this step if you have not enabled 260 <application>Ada</application> as one of the languages.</para> 261 262 <para><command>make -C gcc gnattools</command>: This command builds the 263 Ada development tools and binaries. Skip this step if you have not enabled 264 <application>Ada</application> as one of the languages.</para> 265 266 <para><command>make -k check</command>: This command runs the test suite 267 without stopping should any errors be encountered.</para> 268 269 <para><command>../gcc-&gcc-version;/contrib/test_summary</command>: This 270 command will produce a summary of the test suite results. You can append 271 <command>| grep -A7 Summ</command> to the command to produce an even more 272 condensed version of the summary. You may also wish to redirect the output to 273 a file for review and comparison later on.</para> 274 275 <para><command>ln -sf ../usr/bin/cpp /lib</command>: This command creates a 276 link to the C PreProcessor as some packages expect it to be installed in the 277 <filename class='directory'>/lib</filename> directory.</para> 278 279 <para><command>ln -sf gcc /usr/bin/cc; ln -sf g77 /usr/bin/f77</command>: 280 These links are created as some packages refer to the C and Fortran compilers 281 using an alternate name.</para> 282 283 <para><command>chown -R root:root /usr/lib/gcc/i686-pc-linux-gnu/...</command>: 284 If the package is built by a user other than root, the ownership of the 285 installed <filename class='directory'>include</filename> and 286 <filename class='directory'>adalib</filename> directories (and their 287 contents) will be incorrect. These commands change the ownership to 288 root:root. Omit the command changing the Ada directories if you did not 289 include Ada as one of the installed languages.</para> 290 291 </sect2> 292 293 <sect2> 294 <title>Contents</title> 295 296 <segmentedlist> 297 <segtitle>Installed Programs</segtitle> 298 <segtitle>Installed Libraries</segtitle> 299 <segtitle>Installed Directories</segtitle> 300 301 <seglistitem> 302 <seg>addr2name.awk, cc, c++, cpp, f77, g++, g77, gcc, gccbug, gcj, gcjh, gcov, 303 gij, gnat, gnatbind, gnatbl, gnatchop, gnatclean, gnatfind, gnatkr, gnatlink, 304 gnatls, gnatmake, gnatname, gnatprep, gnatxref, gpr2make, gprcmd, grepjar, 305 jar, jcf-dump, jv-convert, jv-scan, rmic, rmiregistry and architecture 306 specific names for c++, g++, gcc, gcc-&gcc-version;, gcj and gcjh</seg> 307 <seg>lib-org-w3c-dom.[so,a], lib-org-xml-sax.[so,a], libffi-2.00-beta.so, 308 libffi.[so,a], libfrtbegin.a, libg2c.[so,a], libgcc_s.so, libgcj.[so,a], 309 libobjc.[so,a], libstdc++.[so.6,a], libsupc++.a and numerous other run-time 310 libraries and executables in /usr/lib/gcc</seg> 311 <seg>/usr/include/c++, /usr/include/gcj, /usr/include/gnu, /usr/include/java, 312 /usr/include/javax, /usr/lib/gcc, /usr/lib/security, /usr/share/gnat and 313 /usr/share/java</seg> 314 </seglistitem> 315 </segmentedlist> 316 317 <variablelist> 318 <bridgehead renderas="sect3">Short Descriptions</bridgehead> 319 <?dbfo list-presentation="list"?> 320 321 <para>Some program and library descriptions are not listed here, but can be 322 found at <ulink url="&lfs-root;/chapter06/gcc.html#contents-gcc"/>.</para> 323 324 <varlistentry id="addr2name.awk"> 325 <term><command>addr2name.awk</command></term> 326 <listitem><para> emulates some of the functionality of addr2line.</para> 327 <indexterm zone="gcc addr2name.awk"> 328 <primary sortas="b-addr2name.awk">addr2name.awk</primary> 329 </indexterm></listitem> 330 </varlistentry> 331 332 <varlistentry id="f77"> 333 <term><command>f77</command></term> 334 <listitem><para>is a symlink to <command>g77</command>, created for 335 compatibility purposes.</para> 336 <indexterm zone="gcc f77"> 337 <primary sortas="g-f77">f77</primary> 338 </indexterm></listitem> 339 </varlistentry> 340 341 <varlistentry id="g77"> 342 <term><command>g77</command></term> 343 <listitem><para>is the <application>Fortran</application> compiler invoked by 344 <command>gcc</command>.</para> 345 <indexterm zone="gcc g77"> 346 <primary sortas="b-g77">g77</primary> 347 </indexterm></listitem> 348 </varlistentry> 349 350 <varlistentry id="gcj"> 351 <term><command>gcj</command></term> 352 <listitem><para>is an ahead-of-time compiler for the 353 <application>Java</application> language.</para> 354 <indexterm zone="gcc gcj"> 355 <primary sortas="b-gcj">gcj</primary> 356 </indexterm></listitem> 357 </varlistentry> 358 359 <varlistentry id="gcjh"> 360 <term><command>gcjh</command></term> 361 <listitem><para>generates header files from <application>Java</application> 362 class files.</para> 363 <indexterm zone="gcc gcjh"> 364 <primary sortas="b-gcjh">gcjh</primary> 365 </indexterm></listitem> 366 </varlistentry> 367 368 <varlistentry id="gij"> 369 <term><command>gij</command></term> 370 <listitem><para>is the <acronym>GNU</acronym> interpreter for 371 <application>Java</application> bytecode.</para> 372 <indexterm zone="gcc gij"> 373 <primary sortas="b-gij">gij</primary> 374 </indexterm></listitem> 375 </varlistentry> 376 377 <varlistentry id="gnat"> 378 <term><command>gnat</command></term> 379 <listitem><para>is the <application>Ada</application> compiler invoked by 380 <command>gcc</command>.</para> 381 <indexterm zone="gcc gnat"> 382 <primary sortas="b-gnat">gnat</primary> 383 </indexterm></listitem> 384 </varlistentry> 385 386 <varlistentry id="gnatbind"> 387 <term><command>gnatbind</command></term> 388 <listitem><para>is used to bind compiled objects.</para> 389 <indexterm zone="gcc gnatbind"> 390 <primary sortas="b-gnatbind">gnatbind</primary> 391 </indexterm></listitem> 392 </varlistentry> 393 394 <varlistentry id="gnatbl"> 395 <term><command>gnatbl</command></term> 396 <listitem><para>is the <application>Ada</application> linker.</para> 397 <indexterm zone="gcc gnatbl"> 398 <primary sortas="b-gnatbl">gnatbl</primary> 399 </indexterm></listitem> 400 </varlistentry> 401 402 <varlistentry id="gnatchop"> 403 <term><command>gnatchop</command></term> 404 <listitem><para> is useful for renaming files to meet the standard 405 <application>Ada</application> default file naming conventions.</para> 406 <indexterm zone="gcc gnatchop"> 407 <primary sortas="b-gnatchop">gnatchop</primary> 408 </indexterm></listitem> 409 </varlistentry> 410 411 <varlistentry id="gnatclean"> 412 <term><command>gnatclean</command></term> 413 <listitem><para>is used to remove files associated with a 414 <application><acronym>GNAT</acronym></application> project.</para> 415 <indexterm zone="gcc gnatclean"> 416 <primary sortas="b-gnatclean">gnatclean</primary> 417 </indexterm></listitem> 418 </varlistentry> 419 420 <varlistentry id="gnatfind"> 421 <term><command>gnatfind</command></term> 422 <listitem><para> is the <application><acronym>GNAT</acronym></application> 423 definition/use finder.</para> 424 <indexterm zone="gcc gnatfind"> 425 <primary sortas="b-gnatfind">gnatfind</primary> 426 </indexterm></listitem> 427 </varlistentry> 428 429 <varlistentry id="gnatkr"> 430 <term><command>gnatkr</command></term> 431 <listitem><para>is used to determine the crunched name for a given file, when 432 crunched to a specified maximum length.</para> 433 <indexterm zone="gcc gnatkr"> 434 <primary sortas="b-gnatkr">gnatkr</primary> 435 </indexterm></listitem> 436 </varlistentry> 437 438 <varlistentry id="gnatlink"> 439 <term><command>gnatlink</command></term> 440 <listitem><para>is used to link programs and build an executable file.</para> 441 <indexterm zone="gcc gnatlink"> 442 <primary sortas="b-gnatlink">gnatlink</primary> 443 </indexterm></listitem> 444 </varlistentry> 445 446 <varlistentry id="gnatls"> 447 <term><command>gnatls</command></term> 448 <listitem><para>is the compiled unit browser.</para> 449 <indexterm zone="gcc gnatls"> 450 <primary sortas="b-gnatls">gnatls</primary> 451 </indexterm></listitem> 452 </varlistentry> 453 454 <varlistentry id="gnatmake"> 455 <term><command>gnatmake</command></term> 456 <listitem><para>is an automatic <command>make</command> facility.</para> 457 <indexterm zone="gcc gnatmake"> 458 <primary sortas="b-gnatmake">gnatmake</primary> 459 </indexterm></listitem> 460 </varlistentry> 461 462 <varlistentry id="gnatname"> 463 <term><command>gnatname</command></term> 464 <listitem><para>will list the files associated with a 465 <application><acronym>GNAT</acronym></application> project.</para> 466 <indexterm zone="gcc gnatname"> 467 <primary sortas="b-gnatname">gnatname</primary> 468 </indexterm></listitem> 469 </varlistentry> 470 471 <varlistentry id="gnatprep"> 472 <term><command>gnatprep</command></term> 473 <listitem><para>is the <application><acronym>GNAT</acronym></application> 474 external preprocessor.</para> 475 <indexterm zone="gcc gnatprep"> 476 <primary sortas="b-gnatprep">gnatprep</primary> 477 </indexterm></listitem> 478 </varlistentry> 479 480 <varlistentry id="gnatxref"> 481 <term><command>gnatxref</command></term> 482 <listitem><para>is the <application><acronym>GNAT</acronym></application> 483 cross-referencer.</para> 484 <indexterm zone="gcc gnatxref"> 485 <primary sortas="b-gnatxref">gnatxref</primary> 486 </indexterm></listitem> 487 </varlistentry> 488 489 <varlistentry id="gpr2make"> 490 <term><command>gpr2make</command></term> 491 <listitem><para>is a tool used to create <filename>Makefile</filename>s that 492 support compilation by multiple languages.</para> 493 <indexterm zone="gcc gpr2make"> 494 <primary sortas="b-gpr2make">gpr2make</primary> 495 </indexterm></listitem> 496 </varlistentry> 497 498 <varlistentry id="gprcmd"> 499 <term><command>gprcmd</command></term> 500 <listitem><para>is a utility used by <filename>Makefile.generic</filename> to 501 handle multi-language builds. It provides a set of commands so that the 502 <filename>Makefile</filename>s do not need to depend on Unix utilities not 503 available on all targets.</para> 504 <indexterm zone="gcc gprcmd"> 505 <primary sortas="b-gprcmd">gprcmd</primary> 506 </indexterm></listitem> 507 </varlistentry> 508 509 <varlistentry id="grepjar"> 510 <term><command>grepjar</command></term> 511 <listitem><para>searches <filename>jar</filename> files for a pattern.</para> 512 <indexterm zone="gcc grepjar"> 513 <primary sortas="b-grepjar">grepjar</primary> 514 </indexterm></listitem> 515 </varlistentry> 516 517 <varlistentry id="jar-gcc"> 518 <term><command>jar</command></term> 519 <listitem><para>is an archive tool for <application>Java</application> 520 archives.</para> 521 <indexterm zone="gcc jar-gcc"> 522 <primary sortas="b-jar">jar</primary> 523 </indexterm></listitem> 524 </varlistentry> 525 526 <varlistentry id="jcf-dump"> 527 <term><command>jcf-dump</command></term> 528 <listitem><para>prints information about <application>Java</application> 529 class files.</para> 530 <indexterm zone="gcc jcf-dump"> 531 <primary sortas="b-jcf-dump">jcf-dump</primary> 532 </indexterm></listitem> 533 </varlistentry> 534 535 <varlistentry id="jv-convert"> 536 <term><command>jv-convert</command></term> 537 <listitem><para>converts files from one encoding to another.</para> 538 <indexterm zone="gcc jv-convert"> 539 <primary sortas="b-jv-convert">jv-convert</primary> 540 </indexterm></listitem> 541 </varlistentry> 542 543 <varlistentry id="jv-scan"> 544 <term><command>jv-scan</command></term> 545 <listitem><para>prints information about <application>Java</application> 546 source files.</para> 547 <indexterm zone="gcc jv-scan"> 548 <primary sortas="b-jv-scan">jv-scan</primary> 549 </indexterm></listitem> 550 </varlistentry> 551 552 <varlistentry id="rmic-gcc"> 553 <term><command>rmic</command></term> 554 <listitem><para>generates stubs for Remote Method Invocation.</para> 555 <indexterm zone="gcc rmic-gcc"> 556 <primary sortas="b-rmic">rmic</primary> 557 </indexterm></listitem> 558 </varlistentry> 559 560 <varlistentry id="rmiregistry-gcc"> 561 <term><command>rmiregistry</command></term> 562 <listitem><para> starts a remote object registry on the current host.</para> 563 <indexterm zone="gcc rmiregistry-gcc"> 564 <primary sortas="b-rmiregistry">rmiregistry</primary> 565 </indexterm></listitem> 566 </varlistentry> 567 </variablelist> 568 569 </sect2> 225 /usr/lib/gcc/i686-pc-linux-gnu/&gcc-version;/ada{lib,include}</userinput></screen> 226 227 <para>There is a bug in the installation of the 228 <filename class='libraryfile'>libffi</filename> interface headers. The 229 architecture specific <filename>ffitarget.h</filename> file is not installed. 230 If you included Java as one of the installed languages, install the missing 231 file using the command below. Substitute for the 232 <replaceable>[arch]</replaceable> in the command with the appropriate 233 directory path for your system.</para> 234 235 <screen role="root"><userinput>install -v -m644 libffi/src/<replaceable>[arch]</replaceable>/ffitarget.h \ 236 /usr/include</userinput></screen> 237 238 <para>As the <systemitem class="username">root</systemitem> user, remove the 239 <application>GNAT</application> installation:</para> 240 241 <screen role="root"><userinput>rm -rf /opt/gnat</userinput></screen> 242 243 <para>Now, as the unprivileged user, restore your old 244 <envar>PATH</envar>:</para> 245 246 <screen><userinput>export PATH=$PATH_HOLD && 247 unset PATH_HOLD</userinput></screen> 248 249 </sect2> 250 251 <sect2 role="commands"> 252 <title>Command Explanations</title> 253 254 <para><command>sed -i 's/install_to_$(INSTALL_DEST) //' 255 libiberty/Makefile.in</command>: This command suppresses the installation of 256 <filename class='libraryfile'>libiberty.a</filename> as the version provided 257 by <application>Binutils</application> is used instead.</para> 258 259 <para><command>mkdir ../gcc-build; cd ../gcc-build</command>: The 260 <application>GCC</application> documentation recommends 261 building the package in a dedicated build directory.</para> 262 263 <para><parameter>--enable-shared --enable-threads=posix 264 --enable-__cxa_atexit</parameter>: These commands are required to build 265 the <application>C++</application> libraries to published standards.</para> 266 267 <para><parameter>--enable-clocale=gnu</parameter>: This command is a 268 failsafe for incomplete locale data.</para> 269 270 <para><parameter>--enable-languages=c,c++,objc,f77,ada,java</parameter>: 271 This command identifies which languages to build. You may modify this command 272 to remove undesired languages.</para> 273 274 <para><command>make -C gcc gnatlib-shared</command>: This command builds the 275 Ada shared and static libraries. Skip this step if you have not enabled 276 Ada as one of the languages.</para> 277 278 <para><command>make -C gcc gnattools</command>: This command builds the 279 Ada development tools and binaries. Skip this step if you have not enabled 280 Ada as one of the languages.</para> 281 282 <para><command>make -k check</command>: This command runs the test suite 283 without stopping should any errors be encountered.</para> 284 285 <para><command>../gcc-&gcc-version;/contrib/test_summary</command>: This 286 command will produce a summary of the test suite results. You can append 287 <command>| grep -A7 Summ</command> to the command to produce an even more 288 condensed version of the summary. You may also wish to redirect the output to 289 a file for review and comparison later on.</para> 290 291 <para><command>ln -sf ../usr/bin/cpp /lib</command>: This command creates a 292 link to the C PreProcessor as some packages expect it to be installed in the 293 <filename class='directory'>/lib</filename> directory.</para> 294 295 <para><command>ln -sf gcc /usr/bin/cc; ln -sf g77 /usr/bin/f77</command>: 296 These links are created as some packages refer to the C and Fortran compilers 297 using an alternate name.</para> 298 299 <para><command>chown -R root:root /usr/lib/gcc/i686-pc-linux-gnu/...</command>: 300 If the package is built by a user other than root, the ownership of the 301 installed <filename class='directory'>include</filename> and 302 <filename class='directory'>adalib</filename> directories (and their 303 contents) will be incorrect. These commands change the ownership to 304 root:root. Omit the command changing the Ada directories if you did not 305 include Ada as one of the installed languages.</para> 306 307 </sect2> 308 309 <sect2 role="content"> 310 <title>Contents</title> 311 312 <segmentedlist> 313 <segtitle>Installed Programs</segtitle> 314 <segtitle>Installed Libraries</segtitle> 315 <segtitle>Installed Directories</segtitle> 316 317 <seglistitem> 318 <seg>addr2name.awk, cc, c++, cpp, f77, g++, g77, gcc, gccbug, gcj, gcjh, gcov, 319 gij, gnat, gnatbind, gnatbl, gnatchop, gnatclean, gnatfind, gnatkr, gnatlink, 320 gnatls, gnatmake, gnatname, gnatprep, gnatxref, gpr2make, gprcmd, grepjar, 321 jar, jcf-dump, jv-convert, jv-scan, rmic, rmiregistry and architecture 322 specific names for c++, g++, gcc, gcc-&gcc-version;, gcj, and gcjh</seg> 323 <seg>lib-org-w3c-dom.[so,a], lib-org-xml-sax.[so,a], libffi-2.00-beta.so, 324 libffi.[so,a], libfrtbegin.a, libg2c.[so,a], libgcc_s.so, libgcj.[so,a], 325 libobjc.[so,a], libstdc++.[so.6,a], libsupc++.a, and numerous other run-time 326 libraries and executables in /usr/lib/gcc</seg> 327 <seg>/usr/include/c++, /usr/include/gcj, /usr/include/gnu, /usr/include/java, 328 /usr/include/javax, /usr/lib/gcc, /usr/lib/security, /usr/share/gnat, and 329 /usr/share/java</seg> 330 </seglistitem> 331 </segmentedlist> 332 333 <variablelist> 334 <bridgehead renderas="sect3">Short Descriptions</bridgehead> 335 <?dbfo list-presentation="list"?> 336 <?dbhtml list-presentation="table"?> 337 338 <para>Some program and library descriptions are not listed here, but can be 339 found at <ulink url="&lfs-root;/chapter06/gcc.html#contents-gcc"/>.</para> 340 341 <varlistentry id="addr2name.awk"> 342 <term><command>addr2name.awk</command></term> 343 <listitem> 344 <para> emulates some of the functionality of addr2line.</para> 345 <indexterm zone="gcc addr2name.awk"> 346 <primary sortas="b-addr2name.awk">addr2name.awk</primary> 347 </indexterm> 348 </listitem> 349 </varlistentry> 350 351 <varlistentry id="f77"> 352 <term><command>f77</command></term> 353 <listitem> 354 <para>is a symlink to <command>g77</command>, created for 355 compatibility purposes.</para> 356 <indexterm zone="gcc f77"> 357 <primary sortas="g-f77">f77</primary> 358 </indexterm> 359 </listitem> 360 </varlistentry> 361 362 <varlistentry id="g77"> 363 <term><command>g77</command></term> 364 <listitem> 365 <para>is the <application>Fortran</application> compiler invoked by 366 <command>gcc</command>.</para> 367 <indexterm zone="gcc g77"> 368 <primary sortas="b-g77">g77</primary> 369 </indexterm> 370 </listitem> 371 </varlistentry> 372 373 <varlistentry id="gcj"> 374 <term><command>gcj</command></term> 375 <listitem> 376 <para>is an ahead-of-time compiler for the 377 <application>Java</application> language.</para> 378 <indexterm zone="gcc gcj"> 379 <primary sortas="b-gcj">gcj</primary> 380 </indexterm> 381 </listitem> 382 </varlistentry> 383 384 <varlistentry id="gcjh"> 385 <term><command>gcjh</command></term> 386 <listitem> 387 <para>generates header files from <application>Java</application> 388 class files.</para> 389 <indexterm zone="gcc gcjh"> 390 <primary sortas="b-gcjh">gcjh</primary> 391 </indexterm> 392 </listitem> 393 </varlistentry> 394 395 <varlistentry id="gij"> 396 <term><command>gij</command></term> 397 <listitem> 398 <para>is the GNU interpreter for <application>Java</application> 399 bytecode.</para> 400 <indexterm zone="gcc gij"> 401 <primary sortas="b-gij">gij</primary> 402 </indexterm> 403 </listitem> 404 </varlistentry> 405 406 <varlistentry id="gnat"> 407 <term><command>gnat</command></term> 408 <listitem> 409 <para>is the <application>Ada</application> compiler invoked by 410 <command>gcc</command>.</para> 411 <indexterm zone="gcc gnat"> 412 <primary sortas="b-gnat">gnat</primary> 413 </indexterm> 414 </listitem> 415 </varlistentry> 416 417 <varlistentry id="gnatbind"> 418 <term><command>gnatbind</command></term> 419 <listitem> 420 <para>is used to bind compiled objects.</para> 421 <indexterm zone="gcc gnatbind"> 422 <primary sortas="b-gnatbind">gnatbind</primary> 423 </indexterm> 424 </listitem> 425 </varlistentry> 426 427 <varlistentry id="gnatbl"> 428 <term><command>gnatbl</command></term> 429 <listitem> 430 <para>is the <application>Ada</application> linker.</para> 431 <indexterm zone="gcc gnatbl"> 432 <primary sortas="b-gnatbl">gnatbl</primary> 433 </indexterm> 434 </listitem> 435 </varlistentry> 436 437 <varlistentry id="gnatchop"> 438 <term><command>gnatchop</command></term> 439 <listitem> 440 <para>is useful for renaming files to meet the standard 441 <application>Ada</application> default file naming conventions.</para> 442 <indexterm zone="gcc gnatchop"> 443 <primary sortas="b-gnatchop">gnatchop</primary> 444 </indexterm> 445 </listitem> 446 </varlistentry> 447 448 <varlistentry id="gnatclean"> 449 <term><command>gnatclean</command></term> 450 <listitem> 451 <para>is used to remove files associated with a 452 <application>GNAT</application> project.</para> 453 <indexterm zone="gcc gnatclean"> 454 <primary sortas="b-gnatclean">gnatclean</primary> 455 </indexterm> 456 </listitem> 457 </varlistentry> 458 459 <varlistentry id="gnatfind"> 460 <term><command>gnatfind</command></term> 461 <listitem> 462 <para> is the <application>GNAT</application> definition/use finder.</para> 463 <indexterm zone="gcc gnatfind"> 464 <primary sortas="b-gnatfind">gnatfind</primary> 465 </indexterm> 466 </listitem> 467 </varlistentry> 468 469 <varlistentry id="gnatkr"> 470 <term><command>gnatkr</command></term> 471 <listitem> 472 <para>is used to determine the crunched name for a given file, when 473 crunched to a specified maximum length.</para> 474 <indexterm zone="gcc gnatkr"> 475 <primary sortas="b-gnatkr">gnatkr</primary> 476 </indexterm> 477 </listitem> 478 </varlistentry> 479 480 <varlistentry id="gnatlink"> 481 <term><command>gnatlink</command></term> 482 <listitem> 483 <para>is used to link programs and build an executable file.</para> 484 <indexterm zone="gcc gnatlink"> 485 <primary sortas="b-gnatlink">gnatlink</primary> 486 </indexterm> 487 </listitem> 488 </varlistentry> 489 490 <varlistentry id="gnatls"> 491 <term><command>gnatls</command></term> 492 <listitem> 493 <para>is the compiled unit browser.</para> 494 <indexterm zone="gcc gnatls"> 495 <primary sortas="b-gnatls">gnatls</primary> 496 </indexterm> 497 </listitem> 498 </varlistentry> 499 500 <varlistentry id="gnatmake"> 501 <term><command>gnatmake</command></term> 502 <listitem> 503 <para>is an automatic <command>make</command> facility.</para> 504 <indexterm zone="gcc gnatmake"> 505 <primary sortas="b-gnatmake">gnatmake</primary> 506 </indexterm> 507 </listitem> 508 </varlistentry> 509 510 <varlistentry id="gnatname"> 511 <term><command>gnatname</command></term> 512 <listitem> 513 <para>will list the files associated with a 514 <application>GNAT</application> project.</para> 515 <indexterm zone="gcc gnatname"> 516 <primary sortas="b-gnatname">gnatname</primary> 517 </indexterm> 518 </listitem> 519 </varlistentry> 520 521 <varlistentry id="gnatprep"> 522 <term><command>gnatprep</command></term> 523 <listitem> 524 <para>is the <application>GNAT</application> external preprocessor.</para> 525 <indexterm zone="gcc gnatprep"> 526 <primary sortas="b-gnatprep">gnatprep</primary> 527 </indexterm> 528 </listitem> 529 </varlistentry> 530 531 <varlistentry id="gnatxref"> 532 <term><command>gnatxref</command></term> 533 <listitem> 534 <para>is the <application>GNAT</application> cross-referencer.</para> 535 <indexterm zone="gcc gnatxref"> 536 <primary sortas="b-gnatxref">gnatxref</primary> 537 </indexterm> 538 </listitem> 539 </varlistentry> 540 541 <varlistentry id="gpr2make"> 542 <term><command>gpr2make</command></term> 543 <listitem> 544 <para>is a tool used to create <filename>Makefile</filename>s that 545 support compilation by multiple languages.</para> 546 <indexterm zone="gcc gpr2make"> 547 <primary sortas="b-gpr2make">gpr2make</primary> 548 </indexterm> 549 </listitem> 550 </varlistentry> 551 552 <varlistentry id="gprcmd"> 553 <term><command>gprcmd</command></term> 554 <listitem> 555 <para>is a utility used by <filename>Makefile.generic</filename> to 556 handle multi-language builds. It provides a set of commands so that the 557 <filename>Makefile</filename>s do not need to depend on Unix utilities not 558 available on all targets.</para> 559 <indexterm zone="gcc gprcmd"> 560 <primary sortas="b-gprcmd">gprcmd</primary> 561 </indexterm> 562 </listitem> 563 </varlistentry> 564 565 <varlistentry id="grepjar"> 566 <term><command>grepjar</command></term> 567 <listitem> 568 <para>searches <filename>jar</filename> files for a pattern.</para> 569 <indexterm zone="gcc grepjar"> 570 <primary sortas="b-grepjar">grepjar</primary> 571 </indexterm> 572 </listitem> 573 </varlistentry> 574 575 <varlistentry id="jar-gcc"> 576 <term><command>jar</command></term> 577 <listitem> 578 <para>is an archive tool for <application>Java</application> archives.</para> 579 <indexterm zone="gcc jar-gcc"> 580 <primary sortas="b-jar">jar</primary> 581 </indexterm> 582 </listitem> 583 </varlistentry> 584 585 <varlistentry id="jcf-dump"> 586 <term><command>jcf-dump</command></term> 587 <listitem> 588 <para>prints information about <application>Java</application> 589 class files.</para> 590 <indexterm zone="gcc jcf-dump"> 591 <primary sortas="b-jcf-dump">jcf-dump</primary> 592 </indexterm> 593 </listitem> 594 </varlistentry> 595 596 <varlistentry id="jv-convert"> 597 <term><command>jv-convert</command></term> 598 <listitem> 599 <para>converts files from one encoding to another.</para> 600 <indexterm zone="gcc jv-convert"> 601 <primary sortas="b-jv-convert">jv-convert</primary> 602 </indexterm> 603 </listitem> 604 </varlistentry> 605 606 <varlistentry id="jv-scan"> 607 <term><command>jv-scan</command></term> 608 <listitem> 609 <para>prints information about <application>Java</application> 610 source files.</para> 611 <indexterm zone="gcc jv-scan"> 612 <primary sortas="b-jv-scan">jv-scan</primary> 613 </indexterm> 614 </listitem> 615 </varlistentry> 616 617 <varlistentry id="rmic-gcc"> 618 <term><command>rmic</command></term> 619 <listitem> 620 <para>generates stubs for Remote Method Invocation.</para> 621 <indexterm zone="gcc rmic-gcc"> 622 <primary sortas="b-rmic">rmic</primary> 623 </indexterm> 624 </listitem> 625 </varlistentry> 626 627 <varlistentry id="rmiregistry-gcc"> 628 <term><command>rmiregistry</command></term> 629 <listitem> 630 <para> starts a remote object registry on the current host.</para> 631 <indexterm zone="gcc rmiregistry-gcc"> 632 <primary sortas="b-rmiregistry">rmiregistry</primary> 633 </indexterm> 634 </listitem> 635 </varlistentry> 636 637 </variablelist> 638 639 </sect2> 570 640 571 641 </sect1>
Note:
See TracChangeset
for help on using the changeset viewer.