Forum OpenACS Development: anyone know why head doesn't install?

it looks like it's trying to install packages in the wrong order.

it tries to install ref-timezones which fails because acs-reference insn't installed (and therefore acs_reference__new isn't defined).

Collapse
Posted by Joel Aufrecht on
Last time this happened it was because package version numbers got mangled.  I just updated a bunch of package version numbers, but that was on oacs-5-0 and it didn't break install.  Still, I would start by looking there.
Collapse
Posted by Joel Aufrecht on
The automated HEAD test server installed fine last night:
http://213.150.51.66:8007/
Collapse
Posted by Mark Aufflick on
That's pretty strange because i deleted my entire packages dir and updated, with the same problem as before. Actually scouring the logs, the first error (which presumably cascades) is:

Error sourcing /web/oacs-cvs/openacs-HEAD/packages/acs-tcl/tcl/site-nodes-init.tcl:
Selection did not return a value, and no default was provided
    while executing
"db_string get_root_node_id {}"
    (procedure "site_node::init_cache" line 2)
    invoked from within
"site_node::init_cache
"
    (file "/web/oacs-cvs/openacs-HEAD/packages/acs-tcl/tcl/site-nodes-init.tcl" line 11)
Will investigate...

Collapse
Posted by Vinod Kurup on
FWIW, I got the same error a couple days ago. Despite the error, the installation proceeded and I was able to bring up the site.
Collapse
Posted by Mark Aufflick on
yes it is strange - if I exit at that point, the site_nodes table is empty. If I let the install go to completion it is still empty - which is obviously a problem.

It would explain why packages are installing fine but failing to mount. it would seem that acs-kernel/sql/postgres/acs-install.sql is never getting run.

I changed "select inline_0 ();" to "select inline_0 () as acs-install-sql;", but that string never appears in my log.

All very strange.

Collapse
Posted by Mark Aufflick on
it seems that we can ignore the site_node error, although I am still nervous about that. the fact that code is trying to select the root site_node before it exists doesn't sound right.

still haven't figured out why the ref-timezone package is getting installed at all, but you can work around it by installing acs-reference, then manually running ref-timezone-drop.sql manually (twice) and then installing ref-timezone.

I really don't like it. As Vinod observed, "everything seems to be ok"...

Collapse
Posted by Randy O'Meara on
Mark,

Move your install.xml file out of the way and try it. I seem to recall a similar issue some time on the recent past...

Randy

Collapse
Posted by Randy O'Meara on
Mark,

ref-timezones is being installed (I think) as a result of the fix of this bug

https://openacs.org/bugtracker/openacs/bug?bug_number=914

Randy

Collapse
Posted by Mark Aufflick on
touché
Collapse
Posted by Mark Aufflick on
it is installed in 5.0 as well, but acs-reference is as well.

HEAD doesn't seem to have an install.xml by default.

It looks most like a dependancy or versioning problem as per Joel's suggestion.

Collapse
Posted by Jon Griffin on
I updated acs-reference last week to 5.0.1 and it seems that ref-timezones is set to only have 5.0.0 as a requires.
That should be >= 5.0.0.
I can't fix it until tomorrow at the earliest, but if someone else fixes the depends that will cure the problem.
I will go through the other ref-* packages and fix them in the next day or so.
Collapse
Posted by Mark Aufflick on
oh - I thought that >= was the default. How do you achieve this - I tried changing the requirement to 5.0.1, but it still doesn't find the dependancy...

If I instead force acs-reference to install by setting initial_install_p in the .info file, then it all works fine...

Also, the root_site_node error turns out to be because acs-tcl/tcl/* is sourced before installer/sql/pg/acs-install.sql is sourced. That doesn't sound right to me, but it doesn't seem to hurt. If it is fine, then where the error in acs-tcl comes from should either not produce an error or at least ns_log that the error is not an error...

Collapse
Posted by Don Baccus on
install.xml only exists for vertical apps that want to specify non-core packages to install and mount automatically after the kernel installs, and to set values for various package parameters automatically afterwards.

At the moment .LRN is the only vertical app we have.  install.xml shouldn't be part of HEAD as OpenACS installs the core itself.

As far as the dependency stuff goes, yes, 5.0.1 >= 5.0.0 so that is not the problem.  I don't like the fact that we're getting an error out of the base install, harmless or not, though.  I won't have time to look into this myself for a couple of weeks since I'm very busy down here at the University of Galileo, though.

Collapse
Posted by Don Baccus on
Two problems, Jon ...

1. acs-reference was changed to be part of the core in 5.0, which is why initial-install was set true.  Your changes apparently set it back to false.  Dependency checking during the bootstrap install process is weak and this error wasn't caught.  It would be nice if it were, but in practice the core set of packages changes very infrequently and the web ui level APM dependency checking works perfectly well so I'm not going to worry about it at this point.

2. You can't automount core packages with the *info automount property at the moment.  acs-install.sql needs to run first, but that's not done until the basic install is complete (need acs-subsite to be installed first).  We could *probably* get rid of acs-install and handle it via a "after-install" apm Tcl callback in acs-subsite itself, and with dependency ordering this would mean acs-subsite would be available when core packages with UI like acs-reference are installed.  I'll file a bug report for 5.2 and assign it to myself ... for now we'll just tell people they need to mount it if they want to interact with data via the acs-reference UI.  Rrankly I doubt many here know it has a UI so I think we can live with this until the underlying acs-subsite mount/install issue is resolved.

I've committed my changes and HEAD now installs ...

Collapse
Posted by Mark Aufflick on
That's great - thanks Don.

They were exactly the two changes I used on my checkout, but I thought they were hacks rather than the official way to deal with the issue!