first build in cmake on linux pass, fix all warning in gcc