Forum OpenACS Q&A: News package installation error

Collapse
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
local_install_url
is defined as well as a
repository_url .
However, only the
repository_url
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 http://192.168.255.10/acs-admin/install/install-3?repository%5furl=
referred by "http://192.168.255.10/acs-admin/install/install-2?repository_url=&package_key=news"
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
"news::sc::register_news_fts_impl"
    (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
"code::tcl::$__adp_stub"
    ("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
"adp_prepare"
    invoked from within
"template::adp_parse [file root [ad_conn file]] {}"
    (procedure "adp_parse_ad_conn_file" line 6)
    invoked from within
"$handler"
    ("uplevel" body line 2)
    invoked from within
"uplevel $code"
    invoked from within
"ad_try {
                $handler
            } 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..."
Collapse
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
Collapse
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.

Collapse
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 http://yoursite.com/acs-admin/apm/ instead of http://yoursite.com/acs-admin/install/
  3. install packages one-by-one, according to dependencies shown by apm, restarting server between installs
cvs -d:pserver:anonymous@cvs.openacs.org:/cvsroot checkout -r oacs-5-7 openacs-4
cd openacs-4/packages/
cvs -d:pserver:anonymous@cvs.openacs.org:/cvsroot checkout -d acs-events openacs-4/packages/acs-events
cvs -d:pserver:anonymous@cvs.openacs.org:/cvsroot checkout -d acs-datetime openacs-4/packages/acs-datetime
cvs -d:pserver:anonymous@cvs.openacs.org:/cvsroot checkout -d general-comments openacs-4/packages/general-comments
cvs -d:pserver:anonymous@cvs.openacs.org:/cvsroot checkout -d news openacs-4/packages/news
cvs -d:pserver:anonymous@cvs.openacs.org:/cvsroot 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

Collapse
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.