Update to build_preconditioner

build_preconditioner now raises exception when preconditioning fails