two step compile to make sure compile error line numbers are correct