how to compile