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 manually instead. ln -sf libncurses.a libcurses.a: Some programs try to link using -lcurses instead of -lncurses. This symlink ensures that such programs will link without errors. ln -sf ../../lib/libncurses.so etc: These symlinks are created so the linker will use the dynamic versions of these libraries instead of the static ones, which happens if the linker can't find the dynamic versions.