Differences

This shows you the differences between two versions of the page.

Link to this comparison view

appnotes:bash_-_build_instructions [2009/04/23 07:19] (current)
jmcdowell created
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.
  
 +Extract your BASH source archive in your /scratch directory. From /scratch execute “tar xvzf /​scratch/​bash-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 BASH, 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/​”
 +
 +Then execute the following command.. ./configure –enable-static-link –without-bash-malloc
 +
 +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 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! 

QR Code
QR Code appnotes:bash_-_build_instructions (generated for current page)