Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
appnotes:dhcp_-_build_instructions [2009/04/23 07:36] jmcdowell |
appnotes:dhcp_-_build_instructions [2009/04/23 12:57] (current) jmcdowell |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | Remember, as I stated earlier, we want to build everything as static binaries. This usually requires that we make some changes to the build process or invoke special switches for the config process. | + | Remember, as I stated earlier, we want to build everything as static binaries. This usually requires that we make some changes to the build process or invoke special switches for the config process.\\ |
| + | \\ | ||
| + | (Note : Due to compilation errors, you must download "dhcp-4.1.1b1.tar.gz" or above. As you will see, I started experiencing problems that are beyond my abilities. Switching to "dhcp-4.1.1b1" seems to have solved those problems for now.)\\ | ||
| + | \\ | ||
| + | Extract your dhcp source archive in your /scratch directory. From /scratch execute "tar xvzf /scratch/dhcp-xxxxx.tar.gz" This assumes you have placed the archive in /scratch. If not, simply point to the correct location and extract the archive while in /scratch.\\ | ||
| + | \\ | ||
| + | In the case of DHCP, we have to execute the following switches during the configure process.\\ | ||
| + | \\ | ||
| + | Change to your DHCP src directory. In my case. "cd /scratch/dhcp-4.1.0/"\\ | ||
| + | \\ | ||
| + | Then execute the following command..\\ | ||
| + | CFLAGS="-static" ./configure\\ | ||
| + | \\ | ||
| + | Once the configure process is complete, and provided there were no errors.\\ | ||
| + | Execute the following commands.\\ | ||
| + | \\ | ||
| + | make clean\\ | ||
| + | \\ | ||
| + | Then\\ | ||
| + | \\ | ||
| + | make\\ | ||
| + | \\ | ||
| + | I experienced <del>[[errors]]</del> during the build process. Click the word errors to learn what my work around(s) was/were.\\ | ||
| + | ( As stated above, in the end, the work around was to advance to a higher version of dhcp )\\ | ||
| + | \\ | ||
| + | Again, provided there were no errors during the build process you should be left with a file in /scratch/dhcp-4.1.1b1/client named "dhclient".\\ | ||
| + | \\ | ||
| + | Verify that it was built statically by executing the following command.\\ | ||
| + | file /scratch/dhcp-4.1.1b1/bash ( Fully path it to make sure it doesn't pick up on anything else. )\\ | ||
| - | Extract your dhcp source archive in your /scratch directory. From /scratch execute "tar xvzf /scratch/dhcp-xxxxx.tar.gz" This assumes you have placed the archive in /scratch. If not, simply point to the correct location and extract the archive while in /scratch. | + | Your output should look like this.\\ |
| - | + | [root@demo dhcp-4.1.1b1]# file /scratch/dhcp-4.1.1b1/client/dhclient \\ | |
| - | In the case of DHCP, we have to execute the following switches during the configure process. | + | /scratch/dhcp-4.1.1b1/client/dhclient: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.9, statically linked, not stripped\\ |
| - | + | \\ | |
| - | Change to your DHCP src directory. In my case. "cd /scratch/dhcp-4.1.0/" | + | If it looks like the example below, you must figure out what has gone wrong. It is more trouble than it's worth. ( IMH0 ) To build a bunch of dynamically linked packages that you have to find all the libs for.\\ |
| - | + | \\ | |
| - | Then execute the following command.. | + | /scratch/dhcp-4.1.1b1/client/dhclient: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), not stripped <-- THIS IS BAD!\\ |
| - | CFLAGS="-static" ./configure | + | |
| - | + | ||
| - | Once the configure process is complete, and provided there were no errors. | + | |
| - | Execute the following commands. | + | |
| - | + | ||
| - | make clean | + | |
| - | + | ||
| - | Then | + | |
| - | + | ||
| - | make | + | |
| - | + | ||
| - | I experienced [[errors]] during the build process. Click the word errors to learn what my work around(s) was/were. | + | |
| - | + | ||
| - | Again, provided there were no errors during the build process you should be left with a file in /scratch/bash-3.2/ named "bash". | + | |
| - | + | ||
| - | Verify that it was built statically by executing the following command. | + | |
| - | file /scratch/bash-3.2/bash ( Fully path it to make sure it doesn't pick up on anything else. ) | + | |
| - | + | ||
| - | Your output should look like this. | + | |
| - | [root@demo bash-3.2]# file /scratch/bash-3.2/bash | + | |
| - | /scratch/bash-3.2/bash: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.9, statically linked, not stripped | + | |
| - | + | ||
| - | If it looks like this, you must figure out what has gone wrong. It is more trouble than it's worth. ( IMH0 ) To build a bunch of dynamically linked packages that you have to find all the libs for. | + | |
| - | + | ||
| - | /scratch/bash-3.2/bash: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), not stripped <-- THIS IS BAD! | + | |