how to compile the software?