An error means that checklib failed to perform a full check on the package.
The package has a dependency on a package which doesn't exist. This can happen during transitions and is usually caught by debcheck too. A DEP in the flags column is a strong indicator for this. The checklib log typically looks like this:
Working on binary package 'bluez-pin' (Source), version '0.30-2.1' Exception: No package could be instantiated for dependency 'libbluetooth1' (do depcheck) An exception occurred, continuing with next package RESULT: ERROR, issues described above Done
The binary package couldn't be unpacked. There's the UNP flag signaling this case. Log looks like this:
Working on binary package 'maxdb-server-7.5.00' (Source), version '7.5.00.34-4' Exception: Binary package 'maxdb-server-7.5.00' could not be unpacked. An exception occurred, continuing with next package RESULT: ERROR, issues described above Done
Binaries in the package need a specific library, but that file couldn't be found in any of the dependencies of the package. Typical output:
Working on binary package 'python-ctypes' (Source), version '1.0.0-1'
Checking NEEDED entries
Exception: /usr/lib/python2.3/site-packages/_ctypes_test.so:
* Could not find file for soname 'libpthread.so.0'
* Could not find file for soname 'libc.so.6'
Resolved Deps: python-ctypes, python-central, python
An exception occurred, continuing with next package
RESULT: ERROR, issues described above
Done
An internal checklib error: NOT IMPLEMENTED. Beat me to fix it.
The package depends on another package that doesn't exist. Thus it's uninstallable. The package simply has to be fixed.
The package can't be unpacked by an ordinary user (i.e. without root privilegues). That may be caused by device nodes shipped in the package or by files shipped in directories with mode 555. The package should be fixed.
The other major cause for errors are ELF files in the package needing libraries that can't be found in any of the packages' dependencies.
This type is actually the reason for a vast majority of errors.
In effect you are missing a dependency, probably for one of the following reasons:
The package ships ELF files but doesn't use dpkg-shlibdeps / dh_shlibdeps (or scews up while doing so). If the checklib log mentions libc.so.6 the package probably is in this category.
Packages where I'm pretty sure "Missing deps" in their checklib comment. They should be fixed as they violate Policy 3.5. Just make sure dh_shlibdeps is used and it's working correctly.
It is possible that the package in question depends on another package from the same source, and that dependency pulls in everything that's needed.
That's quite evil IMHO, but it shouldn't have any terribly negative consequences. Typical checklib comments: "Probably everything's fine (stuff pulled in by $LIB package)" or "Missing deps, but libcherokee-client0 pulls in everything".
I'd suggest using dh_shlibdeps for those packages too, as it doesn't cause any overhead and you are on the save side.
The package includes several plugins and one of the plugins needs a library from another package, but that one plugin doesn't warrant a full dependency. Packages where the checklib comment mentions "plugin" fall into this category.
That's of course ok, but I'd suggest adding a proper Suggests or Recommends if it's not there yet.
Most of that -dev packages having errors contain ELF files themselves, the errors aren't caused just by a link to the library contained in the lib package. Adding dependency information for every package (via dh_shlibdeps) would be cleaner (IMHO) then relying that everything will be pulled in by the library package built from the same source.
One thing to absolutely avoid is manually adding a dependency on a library package, without going through dpkg-shlibdeps / dh_shlibdeps. You won't get correct dependencies on other architectures, and even if that works out, you probably still don't have the correct versioned dependency.
If you have any question about errors or fixing them don't hesitate to contact me