User Tools

Site Tools


spo600:building_gcc

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
spo600:building_gcc [2024/10/17 18:05] chrisspo600:building_gcc [2025/01/31 15:14] (current) – [Step 3: Perform the Build] chris
Line 8: Line 8:
  
 You can use the [[SPO600 Servers]] or your own systems. You can use the [[SPO600 Servers]] or your own systems.
 +<!--
 +**CRITICAL:** The host aarch64-001.spo600.cdot.systems does __not__ have enough RAM to build GCC. Please use aarch64-002 or another host for this purpose. Attempting to build GCC on aarch64-001 will cause a system crash due to memory exhaustion (and your prof will know who did it!).-->
  
 ===== Step 1: Obtain the Source Code ===== ===== Step 1: Obtain the Source Code =====
Line 41: Line 43:
 Once you have configured the build, you can use ''make'' to perform the build. By default, make will only start one job (subprocess, such as gcc) at a time. You can use the ''-j'' option to specify the maximum number of jobs which make will execute simultaneously; the value provided to ''-j'' should be in the range of (number of cores + 1) to (number of cores * 2 + 1) -- use the higher end of this range for machines with hardware multi-thread support (aka hyperthreading) or slow disk systems, and the lower end of this range for machines without multi-thread support. Once you have configured the build, you can use ''make'' to perform the build. By default, make will only start one job (subprocess, such as gcc) at a time. You can use the ''-j'' option to specify the maximum number of jobs which make will execute simultaneously; the value provided to ''-j'' should be in the range of (number of cores + 1) to (number of cores * 2 + 1) -- use the higher end of this range for machines with hardware multi-thread support (aka hyperthreading) or slow disk systems, and the lower end of this range for machines without multi-thread support.
  
-Before building, consider that the build may take anywhere from 20 minutes to several hours depending on the build options, speed of the build computer, and what else is being done on the computer (e.g., multiple builds by several users). It is strongly recommended that you use the [[screen]] utility (or similiar tool) to permit disconnection and reconnection if needed.+Before building, consider that the build may take anywhere from 20 minutes to several hours depending on the build options, speed of the build computer, and what else is being done on the computer (e.g., multiple builds by several users). It is strongly recommended that you use the [[Screen Tutorial|screen]] utility (or similiar tool) to permit disconnection and reconnection if needed.
  
 It is also recommended that you record the time taken for the build to complete using the shell built-in ''time'' command, and that you redirect the stdin and stdout to a log file as well as the screen using the ''tee'' program. It is also recommended that you record the time taken for the build to complete using the shell built-in ''time'' command, and that you redirect the stdin and stdout to a log file as well as the screen using the ''tee'' program.
Line 65: Line 67:
 ===== Cleaning Up ===== ===== Cleaning Up =====
  
-To clean up a build directory, you can simply ... delete it! THe source code will be in separate directory and will remain unchanged.+To clean up a build directory, you can simply ... delete it! The source code is in the separate source directory and will remain unchanged.
  
 Likewise, to clean up an installation directory that contains only a single build, you can simply delete that directory. Likewise, to clean up an installation directory that contains only a single build, you can simply delete that directory.
Line 71: Line 73:
 ===== Things to Watch For ===== ===== Things to Watch For =====
  
-  * Be aware of who else is using the build computer and what they're doing on it. Use command such as ''w'' or ''who'' as well as  ''top'' or ''btop''.+  * Be aware of who else is using the build computer and what they're doing on it. Use commands such as ''w'' or ''who'' as well as  ''top'' or ''btop''.
   * Be aware of available disk space (''df -h .'')   * Be aware of available disk space (''df -h .'')
-  * Keep an eye on currently-available memory (''free'' -- watch the "Available" memory, not the "Free" memory)+  * Keep an eye on currently-available memory (Use the command ''free'' -- watch the "Available" memory, not the "Free" memory)
  
spo600/building_gcc.1729188334.txt.gz · Last modified: 2024/10/17 18:05 by chris

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki