Difference between revisions of "SPO600 Code Building Lab"
Chris Tyler (talk | contribs) (→Tasks) |
Chris Tyler (talk | contribs) |
||
Line 15: | Line 15: | ||
## Download the source code for the software. (Do not install with dnf/yum!) | ## Download the source code for the software. (Do not install with dnf/yum!) | ||
## Build the software. You may need to install build dependencies (e.g., compilers, tools, and libraries); you can do this (and only this) as the root user. | ## Build the software. You may need to install build dependencies (e.g., compilers, tools, and libraries); you can do this (and only this) as the root user. | ||
− | ## | + | ## Without installing the new software that you just build (because that could override the existing and working version), test that it works. |
− | ## Find and build the source code for the latest released version of the GNU Standard C Library (glibc). Test the library which you have built (Critical: do this without installing it on your system and overwriting your existing glibc installation!). Prove that your version of the library is used in your tests. | + | {Admon/important|Read the glibc Instructions|The glibc software and build system are complex, since this is core library which underlies most of the software on the system. [https://www.gnu.org/software/libc/ Read the documentation carefully.]} |
+ | # Build and test glibc | ||
+ | ## Find and build the source code for the latest released version of the GNU Standard C Library (glibc). Note that glibc uses two parallel directory trees: one which contains the source code, and one which contains configuration and the output of the build system. You can safely delete all of the contents of the build directory and rebuild at any time. | ||
+ | ## Test the library which you have built (Critical: do this without installing it on your system and overwriting your existing glibc installation!). Prove that your version of the library is used in your tests by introducing a change in behaviour (for example, a small bug). | ||
+ | ## There may be multiple implementations of a function. | ||
## Blog about the process, your results, your observations, and what you learned. | ## Blog about the process, your results, your observations, and what you learned. | ||
− | |||
## Obtain the source code for glibc via git using the instructions at https://sourceware.org/glibc/wiki/Testing/Builds | ## Obtain the source code for glibc via git using the instructions at https://sourceware.org/glibc/wiki/Testing/Builds | ||
## Build and test your version of glibc. '''Do Not''' install it into the system directories or you may destroy the existing Linux installation! | ## Build and test your version of glibc. '''Do Not''' install it into the system directories or you may destroy the existing Linux installation! |
Revision as of 02:00, 20 September 2017
Lab 2
Prerequisites
You must have a working accounts on a Linux system (such as Matrix, Zenit, the SPO600 Servers or your own system).
Tasks
- Build an open source software package
- Select an open source software package from the Free Software Foundation's GNU Project or another open source project.
- Download the source code for the software. (Do not install with dnf/yum!)
- Build the software. You may need to install build dependencies (e.g., compilers, tools, and libraries); you can do this (and only this) as the root user.
- Without installing the new software that you just build (because that could override the existing and working version), test that it works.
{Admon/important|Read the glibc Instructions|The glibc software and build system are complex, since this is core library which underlies most of the software on the system. Read the documentation carefully.}
- Build and test glibc
- Find and build the source code for the latest released version of the GNU Standard C Library (glibc). Note that glibc uses two parallel directory trees: one which contains the source code, and one which contains configuration and the output of the build system. You can safely delete all of the contents of the build directory and rebuild at any time.
- Test the library which you have built (Critical: do this without installing it on your system and overwriting your existing glibc installation!). Prove that your version of the library is used in your tests by introducing a change in behaviour (for example, a small bug).
- There may be multiple implementations of a function.
- Blog about the process, your results, your observations, and what you learned.
- Obtain the source code for glibc via git using the instructions at https://sourceware.org/glibc/wiki/Testing/Builds
- Build and test your version of glibc. Do Not install it into the system directories or you may destroy the existing Linux installation!