diff -r f5b374b08180 src/sys/objects/options.c --- a/src/sys/objects/options.c Mon Jul 23 12:27:02 2012 -0500 +++ b/src/sys/objects/options.c Tue Jul 24 08:35:27 2012 -0500 @@ -646,13 +646,6 @@ PetscErrorCode PetscOptionsInsert(int * } } -#if defined(PETSC_HAVE_YAML) - char yaml_file[PETSC_MAX_PATH_LEN]; - PetscBool yaml_flg = PETSC_FALSE; - ierr = PetscOptionsGetString(PETSC_NULL,"-options_file_yaml",yaml_file,PETSC_MAX_PATH_LEN,&yaml_flg);CHKERRQ(ierr); - if (yaml_flg) ierr = PetscOptionsInsertFile_YAML(PETSC_COMM_WORLD,yaml_file,PETSC_TRUE);CHKERRQ(ierr); -#endif - /* insert command line options again because they take precedence over arguments in petscrc/environment */ if (argc && args && *argc) {ierr = PetscOptionsInsertArgs_Private(*argc,*args);CHKERRQ(ierr);} diff -r f5b374b08180 src/sys/objects/pinit.c --- a/src/sys/objects/pinit.c Mon Jul 23 12:27:02 2012 -0500 +++ b/src/sys/objects/pinit.c Tue Jul 24 08:35:27 2012 -0500 @@ -830,6 +830,14 @@ PetscErrorCode PetscInitialize(int *arg ierr = PetscThreadCommInitializePackage(PETSC_NULL);CHKERRQ(ierr); #endif +#if defined(PETSC_HAVE_YAML) + char yaml_file[PETSC_MAX_PATH_LEN]; + PetscBool yaml_flg = PETSC_FALSE; + ierr = PetscOptionsGetString(PETSC_NULL,"-options_file_yaml",yaml_file,PETSC_MAX_PATH_LEN,&yaml_flg);CHKERRQ(ierr); + if (yaml_flg) ierr = PetscOptionsInsertFile_YAML(PETSC_COMM_WORLD,yaml_file,PETSC_TRUE);CHKERRQ(ierr); +#endif + + /* Once we are completedly initialized then we can set this variables */