build essential dependencies