In this section we're going to reinstall all software that has been linked statically before dynamically. It's pretty straightforward like it was when we prepared our system for the Glibc installation.
It's important that you take a close look at this section. If you decide you can't be bothered reinstalling all the previously installed software, at least look at the new libraries and programs in this section. A few programs that are already installed depend on certain libraries when dynamically linked. But these libraries aren't only used by the already installed programs; other software might require it as well, so you want to install those. Also, a few programs recommend other programs to be installed. We didn't require those programs for the Glibc and GCC installation, but we might as well install them now to avoid problems later.
configuremakemake install
configuremake CC=/usr/gcc2723/bin/gcc SHOBJ_CC=/usr/gcc2723/bin/gcc
sharedmake CC=/usr/gcc2723/bin/gcc installmake install-shared
configure --with-installed-readlinemake CC=/usr/gcc2723/bin/gccMakefile file and find the variable: bindirmake installThe just installed Bash version is compiled with the -g compiler flag, which means it's compiled with debugging information. This means that when you ever need to run bash through a debugger, the output is human readable, whereas a binary compiled without debugger information is very hard to debug. The downside is that the Bash executable is now about 1MB in size. If you remove the debug information, you'll have an executable of around 340KB in size. This is quite a difference and worth it if you don't debug programs at all.
You can edit the Makefile files whenever you compile a program so you can remove the -g compiler flags (often found in a CFLAGS variable), or you can run the strip program with one or more executables as the parameter(s). All debugging information will de deleted (this won't affect the program itself in any way whatsoever). The choice is yours.
makemake install
configuremakemake install
configuremakemake install
configuremakedate echo false
pwd sleep stty su true unamechrootbasename
dirname env expr factor groups id logname nice nohup patchchk printenv printf
seq tee test tty uptime users who whoami yes
configuremakeMakefile filemake install/bin/install file to the /usr/bin directory
configuremakemake fdiskmake cfdiskcfdisk fdiskcfdisk.8 fdisk.8login.1agetty.8makemount umount swapon losetup*.8 files/sbin/swapoff
to /sbin/swaponmake dmesgmake rdevdmesgrdevdmesg.8 rdev.8 swapdev.8 ramsize.8
vidmode.8 rootflags.8/sbin/rdev, /sbin/swapdev, /sbin/ramsize,
/sbin/vidmode and /sbin/rootflags to /sbin/rdevmake more MOREHELPDIR=/usr/share/moremoremore.1/usr/share/more directorymore.help
configuremakesrc/Makefile file and find the variable: bindirmake install/bin/cat
configuremakemake install/usr/bin/rmt
program
configuremakeI'm using version 1.2.4 and during the compilation process I'm getting this error: conflicting types for basename. If you're also being troubled by this error, here's how to fix it:
gzip.h file and find this line: extern char *basename OF((char
*fname));util.c file and find the line: char *basename(fname)Recompile the package now (with make) and the compilation process should finish properly this time
Makefile file and find the variable: bindirmake install
configuremakemake install
configuremakemake install
configuremakemake install
configuremakemake install
configuremakemake install
configuremakeI'm using version 4.1 and during the compilation I'm getting this error. Although it is a fatal error, the compilation process doesn't stop when the errors occurs, so you need to watch your compilation output closely to find out if you also get the following error: defs.h:304: conflicting types for `basename'. If you're also troubled by that error, here's how to fix it:
find/Makefile file and find the variable: CFLAGS find/defs.h file and find this line: char *basename P_ ((char
*fname));find/util.c file and find this line: char *basename (fname)This line is separated over two lines ("char *" is on the first line and "basename(fname)" on the second line).
You don't need to keep this line separated over two lines. It doesn't matter at all whether you keep it like that or not.
Recompile the package (with make) and the compilation process should finish properly this time.
make install
configuremakemake install
configuremakemake install
ConfigureIf you agree on all default values, you might want to configure the package
by running Configure -d . This way you don't have to press enter all the time
to accept the default values.
makemake testmake install
configuremakemake install
configuremake CC=/usr/gcc2723/bin/gccmake install