mapnik.go
func RegisterDatasources(path string) error {
	cs := C.CString(path)
	defer C.free(unsafe.Pointer(cs))
	if C.mapnik_register_datasources(cs) == 0 {
		e := C.GoString(C.mapnik_register_last_error())
		if e != "" {
			return errors.New("registering datasources: " + e)
		}
		return errors.New("error while registering datasources")
	}
	return nil
}
func RegisterDatasources(path string) error {
	cs := C.CString(path)
	defer C.free(unsafe.Pointer(cs))
	if C.mapnik_register_datasources(cs) == 0 {
		e := C.GoString(C.mapnik_register_last_error())
		if e != "" {
			return errors.New("registering datasources: " + e)
		}
		return errors.New("error while registering datasources")
	}
	return nil
}
// RegisterDatasources adds path to the Mapnik plugin search path.