Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
appnotes:dhcp_-_build_instructions [2009/04/23 06:24] jmcdowell created |
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 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 bash src directory. In my case. "cd /scratch/bash-3.2/" | + | \\ |
- | Then execute the following command.. | + | 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.\\ |
- | ./configure --enable-static-link --without-bash-malloc | + | \\ |
- | + | /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!\\ | |
- | Once the configure process is complete, and provided there were no errors. | + | |
- | Execute the following commands. | + | |
- | + | ||
- | make clean | + | |
- | + | ||
- | Then | + | |
- | + | ||
- | 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". | + | |
- | 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 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! | + | |