Command explanations patch -Np1 -i ../gcc-3.0.patch: This patch changes all instances of re_max_failures to re_max_failures2. re_max_failures is a variable used within Glibc and with static compiling this variable sometimes clashes between the package's re_max_failures and the same variable in glibc. By renaming re_max_failures in the package to re_max_failures2 we just tell the package to use the second variable so that glibc won't be in the way. --enable-languages=c,c++: This only builds the C and C++ compilers and not the other available compilers as they are, on the average, not often used. If those other compilers are needed, the --enable-languages parameter can be omitted. ln -s ../usr/bin/cpp: This creates the $LFS/lib/cpp symlink. Some packages explicitly try to find cpp in /lib. ln -s ../bin/cpp: This creates the $LFS/usr/lib/cpp symlink as there are packages that expect cpp to be in /usr/lib.