Command explanations --with-shared: This enables the build of the shared ncurses library files. --disable-termcap: Disabled the compilation of termcap fall back support. cd /lib && mv *.a /usr/lib : This moves all of the static ncurses library files from /lib to /usr/lib. /lib should only contain the shared files which are essential to the system when /usr may not be mounted. chmod 755 *.5.2: Shared libraries should be executable. Ncurses install routine doesn't set the permissions properly so we do it manaully instead. ln -sf libncurses.a libcurses.a: Some programs try to link using -lcurses instead of -lncurses. This symlink ensures that they will install correctly. ln -sf ../../lib/libncurses.so: This link is created because if it isn't, the linker will not find the dynamic library when linking and so link all programs with the static ncurses library.