compile with gcc