You have an incomplete or inconsistent checkout from CVS.
The procedure subsite::package_keys is a core procedure and is included in a HEAD checkout from CVS.
If looks like you have other problems that you have not found yet.
First make sure your entire checkout is from HEAD and updated.
Second scan the error logs on startup for errors sourcing the tcl library files. You may have a conflict in a file that is unresolved, causing a parsing error.
Third, read the stack trace. It tells you exactly how subsite::package_keys was called.
command name "subsite::package_keys"
invalid command name "subsite::package_keys"
while executing
"subsite::package_keys"
(procedure "ad_conn" line 87)
invoked from within
"ad_conn subsite_node_id"
(procedure "ad_conn" line 91)
invoked from within
"ad_conn subsite_id"
(procedure "subsite::get_element" line 4)
invoked from within
"subsite::get_element -element object_id"
invoked from within
"if { ![exists_and_not_null package_id] } {
set subsite_id [subsite::get_element -element object_id]
}"
Its very explicit if you take the time to read the information provided.