This proc is defined in tcl's package.tcl library file.
It is a routine called when a package require statement fails. It is the default proc for the package unknown function. It's arguments are the name of the desired package, version of the package, and -exact flag or nothing. It uses the auto_path variable to go looking through the directories for a hit.
NB a recent (2006-2007) bug for users of OpenCascade on Windows (which uses Tcl to drive its test harness and other uses) is that if you have 8.4.14 installed and OpenCascade 6.1 then the command:
package require BWidgets
tclPkgUnknown name version ?exact?
This can be cured by renaming the directory C:\OpenCASCADE6.1.0\3rdparty\win32\tcltk to C:\OpenCASCADE6.1.0\3rdparty\win32\tcltkz (or any other name that is not in the path command).
Suggests that there are 2 versions of tclPkgUnknown in the sytem with different calling convetntions.