Changeset 8092658 for general/prog/gcc.xml
- Timestamp:
- 05/30/2005 09:36:42 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:
- dae2ba0b
- Parents:
- e9116cc
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
general/prog/gcc.xml
re9116cc r8092658 39 39 <title>Introduction to GCC</title> 40 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 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 45 <application>Ada</application>.</para> 46 46 … … 70 70 <itemizedlist spacing='compact'> 71 71 <listitem> 72 <para>Required patch: <ulink 72 <para>Required patch: <ulink 73 73 url="&patch-root;/gcc-&gcc-version;-no_fixincludes-1.patch"/></para> 74 74 </listitem> 75 75 <listitem> 76 <para>Required patch: <ulink 76 <para>Required patch: <ulink 77 77 url="&patch-root;/gcc-&gcc-version;-linkonce-1.patch"/></para> 78 78 </listitem> … … 91 91 92 92 <note> 93 <para>If you plan to compile Ada, you will need to install 94 <application>GNAT</application> temporarily to satisfy the circular 93 <para>If you plan to compile Ada, you will need to install 94 <application>GNAT</application> temporarily to satisfy the circular 95 95 dependency when you recompile <application>GCC</application> 96 96 to include Ada.</para> … … 126 126 <title>Installation of GNAT</title> 127 127 128 <para>Install <application>GNAT</application> by running 128 <para>Install <application>GNAT</application> by running 129 129 the following commands:</para> 130 130 … … 132 132 133 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 134 <application>GNAT</application>. To avoid conflicts with 135 the system <command>gcc</command>, the package will be installed in a separate 136 136 directory, that can later be removed from the system.</para> 137 137 … … 140 140 and <userinput>/opt/gnat</userinput> in response to the second question.</para> 141 141 142 <para>To finish the install, run the following command as the 142 <para>To finish the install, run the following command as the 143 143 <systemitem class="username">root</systemitem> user:</para> 144 144 145 145 <screen role="root"><userinput>./doinstall</userinput></screen> 146 146 147 <para>The <application>GNAT</application> compiler can be 148 invoked by executing the <command>gcc</command> binary installed 147 <para>The <application>GNAT</application> compiler can be 148 invoked by executing the <command>gcc</command> binary installed 149 149 by the above script.</para> 150 150 … … 155 155 rm -rf gnat-3.15p-i686-pc-linux-gnu-bin</userinput></screen> 156 156 157 <para>Prepare to compile <application>GCC</application> by placing the 158 <application>GNAT</application> <command>gcc</command> at the beginning of 157 <para>Prepare to compile <application>GCC</application> by placing the 158 <application>GNAT</application> <command>gcc</command> at the beginning of 159 159 the <envar>PATH</envar> variable by using the following commands:</para> 160 160 … … 167 167 <title>Installation of GCC</title> 168 168 169 <para>Install <application>GCC</application> by running the 169 <para>Install <application>GCC</application> by running the 170 170 following commands:</para> 171 171 172 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>, 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 176 <application>Expect</application> and <application>DejaGnu</application> 177 177 packages installed, as well as unpacking the <application>GCC</application> 178 178 testsuite tarball before beginning the build.</para> 179 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 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 187 (<ulink url="&lfs-root;/chapter05/gcc-pass2.html"/>).</para> 188 188 </important> 189 189 190 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 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 198 <filename class='directory'>/usr/bin</filename> in your <envar>PATH</envar> 199 199 variable after the <application>GCC</application> installation is complete.</para> … … 225 225 /usr/lib/gcc/i686-pc-linux-gnu/&gcc-version;/ada{lib,include}</userinput></screen> 226 226 227 <para>There is a bug in the installation of the 228 <filename class='libraryfile'>libffi</filename> interface headers. The 227 <para>There is a bug in the installation of the 228 <filename class='libraryfile'>libffi</filename> interface headers. The 229 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 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 233 directory path for your system.</para> 234 234 … … 236 236 /usr/include</userinput></screen> 237 237 238 <para>As the <systemitem class="username">root</systemitem> user, remove the 238 <para>As the <systemitem class="username">root</systemitem> user, remove the 239 239 <application>GNAT</application> installation:</para> 240 240 241 241 <screen role="root"><userinput>rm -rf /opt/gnat</userinput></screen> 242 242 243 <para>Now, as the unprivileged user, restore your old 243 <para>Now, as the unprivileged user, restore your old 244 244 <envar>PATH</envar>:</para> 245 245 … … 252 252 <title>Command Explanations</title> 253 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 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 257 by <application>Binutils</application> is used instead.</para> 258 258 259 <para><command>mkdir ../gcc-build; cd ../gcc-build</command>: The 260 <application>GCC</application> documentation recommends 259 <para><command>mkdir ../gcc-build; cd ../gcc-build</command>: The 260 <application>GCC</application> documentation recommends 261 261 building the package in a dedicated build directory.</para> 262 262 … … 268 268 failsafe for incomplete locale data.</para> 269 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 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 272 to remove undesired languages.</para> 273 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 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 276 Ada as one of the languages.</para> 277 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 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 280 Ada as one of the languages.</para> 281 281 282 <para><command>make -k check</command>: This command runs the test suite 282 <para><command>make -k check</command>: This command runs the test suite 283 283 without stopping should any errors be encountered.</para> 284 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 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 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 288 condensed version of the summary. You may also wish to redirect the output to 289 289 a file for review and comparison later on.</para> 290 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 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 293 <filename class='directory'>/lib</filename> directory.</para> 294 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 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 297 using an alternate name.</para> 298 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 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 305 include Ada as one of the installed languages.</para> 306 306 … … 316 316 317 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 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 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 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 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 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 329 /usr/share/java</seg> 330 330 </seglistitem> … … 336 336 <?dbhtml list-presentation="table"?> 337 337 338 <para>Some program and library descriptions are not listed here, but can be 338 <para>Some program and library descriptions are not listed here, but can be 339 339 found at <ulink url="&lfs-root;/chapter06/gcc.html#contents-gcc"/>.</para> 340 340 … … 352 352 <term><command>f77</command></term> 353 353 <listitem> 354 <para>is a symlink to <command>g77</command>, created for 354 <para>is a symlink to <command>g77</command>, created for 355 355 compatibility purposes.</para> 356 356 <indexterm zone="gcc f77"> … … 363 363 <term><command>g77</command></term> 364 364 <listitem> 365 <para>is the <application>Fortran</application> compiler invoked by 365 <para>is the <application>Fortran</application> compiler invoked by 366 366 <command>gcc</command>.</para> 367 367 <indexterm zone="gcc g77"> … … 374 374 <term><command>gcj</command></term> 375 375 <listitem> 376 <para>is an ahead-of-time compiler for the 376 <para>is an ahead-of-time compiler for the 377 377 <application>Java</application> language.</para> 378 378 <indexterm zone="gcc gcj"> … … 407 407 <term><command>gnat</command></term> 408 408 <listitem> 409 <para>is the <application>Ada</application> compiler invoked by 409 <para>is the <application>Ada</application> compiler invoked by 410 410 <command>gcc</command>.</para> 411 411 <indexterm zone="gcc gnat"> … … 438 438 <term><command>gnatchop</command></term> 439 439 <listitem> 440 <para>is useful for renaming files to meet the standard 440 <para>is useful for renaming files to meet the standard 441 441 <application>Ada</application> default file naming conventions.</para> 442 442 <indexterm zone="gcc gnatchop"> … … 449 449 <term><command>gnatclean</command></term> 450 450 <listitem> 451 <para>is used to remove files associated with a 451 <para>is used to remove files associated with a 452 452 <application>GNAT</application> project.</para> 453 453 <indexterm zone="gcc gnatclean"> … … 470 470 <term><command>gnatkr</command></term> 471 471 <listitem> 472 <para>is used to determine the crunched name for a given file, when 472 <para>is used to determine the crunched name for a given file, when 473 473 crunched to a specified maximum length.</para> 474 474 <indexterm zone="gcc gnatkr"> … … 542 542 <term><command>gpr2make</command></term> 543 543 <listitem> 544 <para>is a tool used to create <filename>Makefile</filename>s that 544 <para>is a tool used to create <filename>Makefile</filename>s that 545 545 support compilation by multiple languages.</para> 546 546 <indexterm zone="gcc gpr2make"> … … 553 553 <term><command>gprcmd</command></term> 554 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 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 558 available on all targets.</para> 559 559 <indexterm zone="gcc gprcmd">
Note:
See TracChangeset
for help on using the changeset viewer.