Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision Last revision Both sides next revision | ||
appnotes:dhcp_-_build_instructions [2009/04/23 06:24] jmcdowell created |
appnotes:dhcp_-_build_instructions [2009/04/23 12:56] 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. | ||
- | Extract your dhcp 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. | + | (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.) |
+ | |||
+ | 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 bash src directory. In my case. "cd /scratch/bash-3.2/" | + | |
+ | 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.. | ||
- | ./configure --enable-static-link --without-bash-malloc | + | 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. | ||
Line 17: | Line 21: | ||
make | make | ||
- | Again, provided there were no errors during the build process you should be left with a file in /scratch/bash-3.2/ named "bash". | + | I experienced <del>[[errors]]</del> during the build process. Click the word errors to learn what my work around(s) was/were.\\ |
- | Verify that it was built statically by executing the following command. | + | ( As stated above, in the end, the work around was to advance to a higher version of dhcp )\\ |
- | 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. | + | 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".\\ |
- | [root@demo bash-3.2]# file /scratch/bash-3.2/bash | + | \\ |
- | + | Verify that it was built statically by executing the following command.\\ | |
- | /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 | + | file /scratch/dhcp-4.1.1b1/bash ( Fully path it to make sure it doesn't pick up on anything else. )\\ |
- | + | ||
- | 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 file 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! | + | Your output should look like this.\\ |
+ | [root@demo dhcp-4.1.1b1]# file /scratch/dhcp-4.1.1b1/client/dhclient \\ | ||
+ | /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 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!\\ | ||