Forum OpenACS Q&A: tDOM-related startup error

Collapse
Posted by Joel Aufrecht on
Installed tDOM, working from 24 Jun 2003 HEAD.  libtdom appears to load correctly, but I get this error in the log and aolserver halts:

Error: no value given for parameter "subcommand" to "info"
no value given for parameter "subcommand" to "info"
  while executing
"info vars"
  (in namespace eval "::dome:domNode" script line 4)
...
_ns_getnamespace line 2
...
_ns_getinit line 7

Any tips?

Collapse
Posted by Bart Teeuwisse on
Joel,

remove the .tcl files that came with tdom.tcl from aolserver/modules/tcl. You don't need them.

The problem you are seeing is caused by a namespace conflict in one of them.

/Bart

Collapse
Posted by Joel Aufrecht on
Fixed it, thanks.  Docs now updated to use tDOM instead of nsxml.  Farewell, nsxml.
Collapse
Posted by Bruno Mattarollo on
Hello,

I just did a cvs checkout (from HEAD) of openacs-4, installed AOLServer 3.3.1oacs1, tDOM 0.7.8, and when starting the server, I get this error (mentioned in this thread by Joel).

There are no .tcl files in aolserver/modules/tcl/ that came with tDOM except tdom.tcl ... Should I remove something else?

I am loading tdom's library in the config file and not nsxml.so ...

Where should I look?

Thanks in advance,

/B

Collapse
Posted by Dave Bauer on
Bruno,

What version of AOLserver are you using?

Collapse
Posted by Bruno Mattarollo on
AOLserver/3.3.1+ad13 as recommended in the documentation ;)
Collapse
Posted by Bruno Mattarollo on

Just for the record, the exact error information is:

[10/Sep/2003:17:13:32][4262.1074082976][-main-] Notice: tcl: generating interp init script
[10/Sep/2003:17:13:32][4262.1074082976][-main-] Error: no value given for parameter "subcommand" to "info"
no value given for parameter "subcommand" to "info"
    while executing
"info vars"
    (in namespace eval "::dom::domNode" script line 4)
    invoked from within
"namespace eval $n {
        set n [namespace current]
        set script ""
        foreach v [info vars] {
            switch $v {
                n -
                v -
                import_procs -
                s..."
    (procedure "_ns_getnamespace" line 2)
    invoked from within
"_ns_getnamespace $ns"
    (procedure "_ns_getinit" line 7)
    invoked from within
"_ns_getinit"
[10/Sep/2003:17:13:32][4262.1074082976][-main-] Fatal: tclinit: failed to copy procs
and from there the whole AOLServer halts.

Collapse
Posted by Bruno Mattarollo on
Ok, for the record as well, I removed the tdom.tcl file from aolserver/modules/tcl/ ... and it works now ... The post from Baart was confusing in that sense. Installing now and we shall see.
Collapse
Posted by Bart Teeuwisse on
Bruno,

the error is the result of a namespace ambiguity. tDOM introduced
another 'info' command. The call to 'info' in tdom.tcl calls the
standard Tcl 'info' command, rather than the 'info' command in the
domNode or domDoc namespaces.

The solution is to amend the calls causing the error in tdom.tcl with
the domNode or domDoc namespace. E.g. info becomes domNode::info or
domDoc::info.

tdom.tcl is not required to use tDOM but does add several higher level
functions to the tdom API that could be of use. As far as I know, none
of these functions are currently used in OpenACS. But the might be
needed in the future.

/Bart