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 12:54] 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". 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.) | + | (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. | + | 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. | + | 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/" | + | Change to your DHCP src directory. In my case. "cd /scratch/dhcp-4.1.0/"\\ |
- | + | \\ | |
- | Then execute the following command.. | + | Then execute the following command..\\ |
- | CFLAGS="-static" ./configure | + | CFLAGS="-static" ./configure\\ |
- | + | \\ | |
- | Once the configure process is complete, and provided there were no errors. | + | Once the configure process is complete, and provided there were no errors.\\ |
- | Execute the following commands. | + | Execute the following commands.\\ |
- | + | \\ | |
- | make clean | + | make clean\\ |
- | + | \\ | |
- | Then | + | Then\\ |
- | + | \\ | |
- | make | + | make\\ |
- | + | \\ | |
- | I experienced <del>[[errors]]</del> during the build process. Click the word errors to learn what my work around(s) was/were. | + | 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 ) | + | ( 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". | + | 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. | + | 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. ) | + | file /scratch/dhcp-4.1.1b1/bash ( Fully path it to make sure it doesn't pick up on anything else. )\\ |
Your output should look like this.\\ | Your output should look like this.\\ | ||
Line 33: | Line 33: | ||
/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\\ | /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\\ | ||
\\ | \\ | ||
- | 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.\\ | + | 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.\\ |
\\ | \\ | ||
/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!\\ | /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!\\ | ||