Forum OpenACS Q&A: News package installation error

Posted by Prem Thomas on

This error occurred while installing the news package from a local repository on a 5.7 kernel. Error log snippet below.

Is this caused by a missing

repository_url ?
Looking at packages/acs_admin/index.tcl, a
is defined as well as a
repository_url .
However, only the
is used in packages/acs_admin/install-2.tcl

I tried resubmitting the page with my local url but received another error that made me wonder if this was a problem with the manifest.

Suggestions? I'm stumped.

[14/Jan/2013:22:06:00][2115.700778752][-default:10-] Notice: Installed News, version 5.6.0d2.
[14/Jan/2013:22:06:00][2115.700778752][-default:10-] Notice: Package enabled.
[14/Jan/2013:22:06:00][2115.700778752][-default:10-] Notice: apm_invoke_callback_proc: invoking callback after-install with command news::install::after_install 
[14/Jan/2013:22:06:00][2115.700778752][-default:10-] Notice: -- creating per thread sequence table
[14/Jan/2013:22:06:00][2115.700778752][-default:10-] Warning: /acs-admin/install/install-3 has no doc(title) set.
[14/Jan/2013:22:06:00][2115.700778752][-default:10-] Error: GET
referred by ""
no such key: /packages/acs-service-contract/tcl/acs-service-contract-init.tcl
    while executing
"nsv_get apm_library_mtime $relative_path"
    (procedure "apm_mark_files_for_reload" line 11)
    invoked from within
"apm_mark_files_for_reload -force_reload [list $file]"
    (procedure "acs_sc::impl::binding::init_procs" line 9)
    invoked from within
"acs_sc::impl::binding::init_procs -impl_id $impl_id"
    (procedure "acs_sc::impl::new_from_spec" line 19)
    invoked from within
"acs_sc::impl::new_from_spec -spec $spec"
    (procedure "news::sc::register_news_fts_impl" line 12)
    invoked from within
    (procedure "news::install::after_install" line 2)
    invoked from within
"news::install::after_install "
    ("eval" body line 1)
    invoked from within
"eval $command"
    (procedure "apm_invoke_callback_proc" line 37)
    invoked from within
"apm_invoke_callback_proc -version_id $version_id -type after-install"
    (procedure "apm_package_install" line 155)
    invoked from within
"apm_package_install  -enable  -package_path $package_path  -load_data_model  -data_model_files $data_model_files  $spec_file"
    ("foreach" body line 52)
    invoked from within
"foreach package_key $install {
    ns_log Notice "Installing $package_key"
    array unset version
    array set version $repository($package_key..."
    ("uplevel" body line 49)
    invoked from within
"uplevel {
ad_page_contract {
    Install packages -- actual installation

    @param install Tcl list of packages to install in the order in which the..."
    (procedure "code::tcl::/usr/local/openacs/packages/acs-admin/www/install..." line 2)
    invoked from within
    ("uplevel" body line 12)
    invoked from within
"uplevel {

    if { [file exists $__adp_stub.tcl] } {

      # ensure that data source preparation procedure exists and is up-to-date
      adp_init t..."
    (procedure "adp_prepare" line 2)
    invoked from within
    invoked from within
"template::adp_parse [file root [ad_conn file]] {}"
    (procedure "adp_parse_ad_conn_file" line 6)
    invoked from within
    ("uplevel" body line 2)
    invoked from within
"uplevel $code"
    invoked from within
"ad_try {
            } ad_script_abort val {
                # do nothing
    invoked from within
"rp_serve_concrete_file [ad_conn file]"
    (procedure "rp_serve_abstract_file" line 60)
    invoked from within
"rp_serve_abstract_file "$root/$extra_url""
    ("uplevel" body line 2)
    invoked from within
"uplevel $code"
    invoked from within
"ad_try {
            rp_serve_abstract_file "$root/$extra_url"
            set tcl_url2file([ad_conn url]) [ad_conn file]
            set tcl_url2path..."
Posted by Jim Lynch on
the first intuitive hit I got, is did you install news and sc at the same time? I would suggest you try again, install sc only then install news... sometimes packages need for the tcl stuff to be available earlier, in this case for sc and its procs to be installed and the service restarted before installing things that use it
Posted by Ryan Gallimore on
I would suggest downloading news and dependencies via cvs then using the Install package link at the bottom of /acs-admin/apm/ to install.

There are many examples of using the anonymous CVS login to download packages in the docs.

Posted by Prem Thomas on
Jim and Ryan,

Thank you. I took your suggestions and succeeded.
I did have acs-service-contract installed before trying to
install news, so that was not the whole answer.

For posterity:
  1. start fresh with a new checkout
  2. install packages using instead of
  3. install packages one-by-one, according to dependencies shown by apm, restarting server between installs
cvs checkout -r oacs-5-7 openacs-4
cd openacs-4/packages/
cvs checkout -d acs-events openacs-4/packages/acs-events
cvs checkout -d acs-datetime openacs-4/packages/acs-datetime
cvs checkout -d general-comments openacs-4/packages/general-comments
cvs checkout -d news openacs-4/packages/news
cvs checkout -d rss-support openacs-4/packages/rss-support

cd notifications/
cvs update

install acs-events
install acs-datetime
install general-comments
install notifications
install rss-support
install news

Posted by Ryan Gallimore on
Looks good. After the cvs checkout you can also just go to the APM and select the News package. Its dependencies will be auto-selected and installed in the correct order.