replace abspath() with realpath() in cano_path()