Codeigniter extendiendo MY_Controller extendido

He seguido estrictamente elartículo instructivo de Phil Sturgeon, para extender el controlador base. Pero sigo teniendo algunos errores.

Mis 3 clases:

// application/libraries/MY_Controller.php
class MY_Controller extends Controller{
    public function __construct(){
        parent::__construct();
    }
}

// application/libraries/Public_Controller.php
class Public_Controller extends MY_Controller{
    public function __construct(){
        parent::__construct();

    }    
}

// application/controllers/user.php
class User extends Public_Controller{
    public function __construct(){
        parent::__construct();
    }
}

Error fatal: la clase 'Public_Controller' no se encuentra en /srv/www/xxx/application/controllers/user.php en la línea 2

Curioso es que el siguiente fragmento está funcionando, si me extiendo directamente desdeMY_Controller:

// application/controllers/user.php
class User extends MY_Controller{
    public function __construct(){
        parent::__construct();
    }
}

He cargado los controladores a través de__autoload() o manualmente Los controladores se cargan con éxito.

Versión CI: 1.7.3

Respuestas a la pregunta(5)

Su respuesta a la pregunta