|
From: Larry W. V. <lv...@ca...> - 2002-11-01 11:26:11
|
when I hand edit and replace the NONE with the right directory
I get a .so file. Then, when I run a
$ make test
I get:
$ make test
(echo 'package ifneeded dom::libxml2 2.4 \
[list load [file join $dir libtcldomxml2.4g.so]]'\
) > pkgIndex.tcl
echo load ./libtcldomxml2.4g.so \; cd /vol/tclsrcsol/tcl84/tcldom/src-libxml2/tests \; source all | TCL_LIBRARY=`echo /vol/tclsrcsol/tcl84/tcl/library` LD_LIBRARY_PATH=".:/vol/tcl84binsol/lib:/usr/dt/lib:/usr/openwin/lib:/usr/lib:/cas/lib/sun4" LIBPATH=".:/vol/tcl84binsol/lib:" SHLIB_PATH=".:/vol/tcl84binsol/lib:" PATH=".:/vol/tcl84binsol/lib:/opt/SUNWspro/bin:/volws/lwv26/ldatae/bin:/projects/sprs_lwv/sol26/bin:/projects/sprs_lwv/sol26/bin/mime:/projects/sprs_lwv/sol2/bin:/projects/sprs_lwv/bin:/projects/sprs_lwv/bin/mime:/home/lwv26/bin/D.news:/usr/perl5/bin:/projects/gnu/sparc-sun-solaris2.6/bin:/usr/tcl84/bin:/usr/tcl83/bin:/vol/tclsrcsol/TclDevKit/bin:/projects/xopsrc/sun4/bin:/projects/xopsrc/bin:/usr/atria/bin:/projects/intranet/bin:/projects/clearcase/bin:/vol/adobe/Acrobat4.05/bin:/usr/perl5/lib/site_perl/5.005/sun4-solaris/auto/Image/Magick/bin:/opt/sfw/bin:/usr/openwin/demo:/home/lwv26/bin/D.aws:/home/lwv26/bin/sol2:/home/lwv26/bin/D.frontend:/home/lwv26/bin/D.ksh!
:/cas/test/bin/sun4:/projects/sprs
_lwv/bin/sol2:/usr/j2se/bin:/usr/java/bin:/home/lwv26/bin/sun4:/usr/local/bin:/usr/dt/bin:/usr/openwin/bin:/bin:/cas/bin/sun4:/cas/abin/sun4:/cas/X11/sun4/bin:/usr/ccs/bin:/lprod/bin:/usr/sbin:/usr/ucb:/cas/tools/bin/sun4:/cas/X11/sun4/tools/bin:/home/lwv26/bin:/opt/EMCpower/bin:/etc:/cas/tools/pdbin/sun4:/home/lwv26/bin/D.mistypes:/home/lwv26/bin/D.toys:/home/lwv26/bin/D.tools:/projects/npd/npdweb/bin-sol2" TCLLIBPATH="." /vol/tcl84binsol/lib/../bin/tclsh8.4
couldn't load file "./libtcldomxml2.4g.so": ld.so.1: /vol/tcl84binsol/lib/../bin/tclsh8.4: fatal: libxml2.so.2: open failed: No such file or directory
The problem here is that the -R flag for the directories into which the
shared libraries resides was not provided during the link. I don't know
the voodoo to get this part right.
Next, after hand editing the Makefile to get this to work, I try make test
and find that there is no tests directory. So I link the higher level
tests directory into the xml2 directory. I do a make test again and
find that the Makefile tries to "source all" instead of "source all.tcl".
I hand edit that in and get this :
$ make test
(echo 'package ifneeded dom::libxml2 2.4 \
[list load [file join $dir libtcldomxml2.4g.so]]'\
) > pkgIndex.tcl
echo load ./libtcldomxml2.4g.so \; cd /vol/tclsrcsol/tcl84/tcldom/src-libxml2/tests \; source all.tcl | TCL_LIBRARY=`echo /vol/tclsrcsol/tcl84/tcl/library` LD_LIBRARY_PATH=".:/vol/tcl84binsol/lib:/usr/dt/lib:/usr/openwin/lib:/usr/lib:/cas/lib/sun4" LIBPATH=".:/vol/tcl84binsol/lib:" SHLIB_PATH=".:/vol/tcl84binsol/lib:" PATH=".:/vol/tcl84binsol/lib:/opt/SUNWspro/bin:/volws/lwv26/ldatae/bin:/projects/sprs_lwv/sol26/bin:/projects/sprs_lwv/sol26/bin/mime:/projects/sprs_lwv/sol2/bin:/projects/sprs_lwv/bin:/projects/sprs_lwv/bin/mime:/home/lwv26/bin/D.news:/usr/perl5/bin:/projects/gnu/sparc-sun-solaris2.6/bin:/usr/tcl84/bin:/usr/tcl83/bin:/vol/tclsrcsol/TclDevKit/bin:/projects/xopsrc/sun4/bin:/projects/xopsrc/bin:/usr/atria/bin:/projects/intranet/bin:/projects/clearcase/bin:/vol/adobe/Acrobat4.05/bin:/usr/perl5/lib/site_perl/5.005/sun4-solaris/auto/Image/Magick/bin:/opt/sfw/bin:/usr/openwin/demo:/home/lwv26/bin/D.aws:/home/lwv26/bin/sol2:/home/lwv26/bin/D.frontend:/home/lwv26/bin/D!
.ksh:/cas/test/bin/sun4:/projects/
sprs_lwv/bin/sol2:/usr/j2se/bin:/usr/java/bin:/home/lwv26/bin/sun4:/usr/local/bin:/usr/dt/bin:/usr/openwin/bin:/bin:/cas/bin/sun4:/cas/abin/sun4:/cas/X11/sun4/bin:/usr/ccs/bin:/lprod/bin:/usr/sbin:/usr/ucb:/cas/tools/bin/sun4:/cas/X11/sun4/tools/bin:/home/lwv26/bin:/opt/EMCpower/bin:/etc:/cas/tools/pdbin/sun4:/home/lwv26/bin/D.mistypes:/home/lwv26/bin/D.toys:/home/lwv26/bin/D.tools:/projects/npd/npdweb/bin-sol2" TCLLIBPATH="." /vol/tcl84binsol/lib/../bin/tclsh8.4
DOMImplementation.test
Loaded dom version 2.4 via {
if {[catch {package require dom::generic 2.4}]} {
package require dom::tclgeneric
} else {
catch {package require dom::c}
catch {package require dom::libxml2 2.4}
}
package provide dom 2.4
# Both the C and pure Tcl versions of the generic layer
# make use of the Tcl implementation.
package require dom::tcl
}
==== DOMImplementation-1.1 hasFeature create FAILED
==== Contents of test case:
::dom::DOMImplementation hasFeature create 1.0
---- Result was:
method "hasFeature" not yet implemented
---- Result should have been (exact matching):
1
---- Test generated error; Return code was: 1
---- Return code should have been one of: 0 2
==== DOMImplementation-1.1 FAILED
==== DOMImplementation-1.2 hasFeature create wrong version FAILED
==== Contents of test case:
::dom::DOMImplementation hasFeature create 2.0
---- Result was:
method "hasFeature" not yet implemented
---- Result should have been (exact matching):
0
---- Test generated error; Return code was: 1
---- Return code should have been one of: 0 2
==== DOMImplementation-1.2 FAILED
==== DOMImplementation-1.3 hasFeature destroy FAILED
==== Contents of test case:
::dom::DOMImplementation hasFeature destroy 1.0
---- Result was:
method "hasFeature" not yet implemented
---- Result should have been (exact matching):
1
---- Test generated error; Return code was: 1
---- Return code should have been one of: 0 2
==== DOMImplementation-1.3 FAILED
==== DOMImplementation-1.4 hasFeature parse FAILED
==== Contents of test case:
::dom::DOMImplementation hasFeature parse 1.0
---- Result was:
method "hasFeature" not yet implemented
---- Result should have been (exact matching):
1
---- Test generated error; Return code was: 1
---- Return code should have been one of: 0 2
==== DOMImplementation-1.4 FAILED
==== DOMImplementation-1.5 hasFeature serialize FAILED
==== Contents of test case:
::dom::DOMImplementation hasFeature serialize 1.0
---- Result was:
method "hasFeature" not yet implemented
---- Result should have been (exact matching):
1
---- Test generated error; Return code was: 1
---- Return code should have been one of: 0 2
==== DOMImplementation-1.5 FAILED
==== DOMImplementation-1.6 hasFeature unknown feature FAILED
==== Contents of test case:
::dom::DOMImplementation hasFeature unknown 1.0
---- Result was:
method "hasFeature" not yet implemented
---- Result should have been (exact matching):
0
---- Test generated error; Return code was: 1
---- Return code should have been one of: 0 2
==== DOMImplementation-1.6 FAILED
Segmentation Fault - core dumped
make: *** [test] Error 139
$ dbx $(whence tclsh8.4) ../tests/core
Reading tclsh8.4
core file header read successfully
Reading ld.so.1
Reading libtcl8.4g.so
Reading libdl.so.1
Reading libsocket.so.1
Reading libnsl.so.1
Reading libm.so.1
Reading libc.so.1
Reading libmp.so.2
Reading libc_psr.so.1
Reading libtcldomxml2.4g.so
Reading libxml2.so.2
Reading libTcldom2.4g.so
Reading libTclxml2.4g.so
program terminated by signal SEGV (no mapping at the fault address)
Current function is HashStringKey
1021 c = *string;
(dbx 1) where
=>[1] HashStringKey(tablePtr = 0x7ef68, keyPtr = 0x2e657665), line 1021 in "tclHash.c"
[2] Tcl_FindHashEntry(tablePtr = 0x7ef68, key = 0x2e657665 ""), line 303 in "tclHash.c"
[3] TclDOMDeleteEvent(clientData = 0xb8e08, objPtr = 0xc0ab8), line 1063 in "tcldom-libxml2.c"
[4] Tcl_DeleteCommandFromToken(interp = 0x236c0, cmd = 0xbb4b0), line 2460 in "tclBasic.c"
[5] Tcl_DeleteCommand(interp = 0x236c0, cmdName = 0xc0ab8 "doc1.event0"), line 2347 in "tclBasic.c"
[6] TclDOMDestroyEvent(event = 0xb8e08, objPtr = 0xd9870), line 1077 in "tcldom-libxml2.c"
[7] TclDOMEventCommand(clientData = (nil), interp = 0x236c0, objc = 0, objv = 0xefffa904), line 3993 in "tcldom-libxml2.c"
[8] TclDOMDocumentCommand(dummy = (nil), interp = 0x236c0, objc = 4, objv = 0xefffab50), line 2178 in "tcldom-libxml2.c"
[9] TclEvalObjvInternal(interp = 0x236c0, objc = 4, objv = 0xefffab50, command = 0xb1efb "dom::document createElement $doc top]\n set node1 [dom::document createElement $root node]\n set node2 [dom::document createElement $root node]\n dom::node removeChild $root $node1\n dom::DOMImplementation destroy $node1\n\n dom::DOMImplementation serialize $doc\n", length = 36, flags = 0), line 3048 in "tclBasic.c"
[10] Tcl_EvalEx(interp = 0x236c0, script = 0xb1efb "dom::document createElement $doc top]\n set node1 [dom::document createElement $root node]\n set node2 [dom::document createElement $root node]\n dom::node removeChild $root $node1\n dom::DOMImplementation destroy $node1\n\n dom::DOMImplementation serialize $doc\n", numBytes = 36, flags = 0), line 3647 in "tclBasic.c"
[11] Tcl_EvalTokensStandard(interp = 0x236c0, tokenPtr = 0xefffaf58, count = 1), line 3362 in "tclBasic.c"
[12] Tcl_EvalEx(interp = 0x236c0, script = 0xb1ec0 "\n set doc [dom::DOMImplementation create]\n set root [dom::document createElement $doc top]\n set node1 [dom::document createElement $root node]\n set node2 [dom::document createElement $root node]\n dom::node removeChild $root $node1\n dom::DOMImplementation destroy $node1\n\n dom::DOMImplementation serialize $doc\n", numBytes = 331, flags = 262144), line 3629 in "tclBasic.c"
[13] Tcl_EvalObjEx(interp = 0x236c0, objPtr = 0xd48e8, flags = 262144), line 3932 in "tclBasic.c"
[14] Tcl_UplevelObjCmd(dummy = (nil), interp = 0x236c0, objc = 1, objv = 0x25ad0), line 674 in "tclProc.c"
[15] TclEvalObjvInternal(interp = 0x236c0, objc = 3, objv = 0x25ac8, command = (nil), length = 0, flags = 0), line 3048 in "tclBasic.c"
[16] TclExecuteByteCode(interp = 0x236c0, codePtr = 0xb7510), line 1431 in "tclExecute.c"
[17] TclCompEvalObj(interp = 0x236c0, objPtr = 0x4e868), line 1008 in "tclExecute.c"
[18] TclObjInterpProc(clientData = 0x69780, interp = 0x236c0, objc = 3, objv = 0xb91b0), line 1082 in "tclProc.c"
[19] TclEvalObjvInternal(interp = 0x236c0, objc = 3, objv = 0xb91b0, command = 0xef75375c "", length = 0, flags = 262144), line 3048 in "tclBasic.c"
[20] Tcl_EvalObjv(interp = 0x236c0, objc = 3, objv = 0xb91b0, flags = 262144), line 3162 in "tclBasic.c"
[21] Tcl_EvalObjEx(interp = 0x236c0, objPtr = 0xd49a8, flags = 262144), line 3929 in "tclBasic.c"
[22] Tcl_UplevelObjCmd(dummy = (nil), interp = 0x236c0, objc = 1, objv = 0x25ac4), line 674 in "tclProc.c"
[23] TclEvalObjvInternal(interp = 0x236c0, objc = 3, objv = 0x25abc, command = (nil), length = 0, flags = 0), line 3048 in "tclBasic.c"
[24] TclExecuteByteCode(interp = 0x236c0, codePtr = 0xb2510), line 1431 in "tclExecute.c"
[25] TclCompEvalObj(interp = 0x236c0, objPtr = 0x4a1c0), line 1008 in "tclExecute.c"
[26] TclObjInterpProc(clientData = 0x694d8, interp = 0x236c0, objc = 3, objv = 0xcf868), line 1082 in "tclProc.c"
[27] TclEvalObjvInternal(interp = 0x236c0, objc = 3, objv = 0xcf868, command = 0xef75375c "", length = 0, flags = 262144), line 3048 in "tclBasic.c"
[28] Tcl_EvalObjv(interp = 0x236c0, objc = 3, objv = 0xcf868, flags = 262144), line 3162 in "tclBasic.c"
[29] Tcl_EvalObjEx(interp = 0x236c0, objPtr = 0xd4390, flags = 262144), line 3929 in "tclBasic.c"
[30] Tcl_UplevelObjCmd(dummy = (nil), interp = 0x236c0, objc = 1, objv = 0x25ab8), line 674 in "tclProc.c"
[31] TclEvalObjvInternal(interp = 0x236c0, objc = 3, objv = 0x25ab0, command = (nil), length = 0, flags = 0), line 3048 in "tclBasic.c"
[32] TclExecuteByteCode(interp = 0x236c0, codePtr = 0xb49c0), line 1431 in "tclExecute.c"
[33] TclCompEvalObj(interp = 0x236c0, objPtr = 0x51050), line 1008 in "tclExecute.c"
[34] TclObjInterpProc(clientData = 0x696e0, interp = 0x236c0, objc = 9, objv = 0xefffcb98), line 1082 in "tclProc.c"
[35] InvokeImportedCmd(clientData = 0x637c8, interp = 0x236c0, objc = 9, objv = 0xefffcb98), line 1478 in "tclNamesp.c"
[36] TclEvalObjvInternal(interp = 0x236c0, objc = 9, objv = 0xefffcb98, command = 0x7f999 "# Bug fix #453741\ntest DOMImplementation-3.5 {destroy an element node} -match regexp -body {\n set doc [dom::DOMImplementation create]\n set root [dom::document createElement $doc top]\n set node1 [dom::document createElement $root node]\n set node2 [dom::document createElement $root node]\n dom::node removeChild $root $node1\n dom::DOMImplementation destroy $node1\n\n dom::DOMImplementation serialize $doc\n} -result {<\?xml version=("|')1\.0("|')\?>\n<!DOCTYPE top>\n<top><node/></top>}\n\nset ::tcl" ..., length = 502, flags = 0), line 3048 in "tclBasic.c"
[37] Tcl_EvalEx(interp = 0x236c0, script = 0x7efb0 "# Commands covered: ::dom::DOMImplementation\n#\n# This file contains a collection of tests for one or more of the \n# TclDOM commands. Sourcing this file into Tcl runs the tests and\n# generates output for errors. No output means no errors were found.\n#\n# Copyright (c) 1998 Zveno Pty Ltd.\n#\n# $Id: DOMImplementation.test,v 1.7 2002/08/30 07:49:55 balls Exp $\n\npackage require tcltest ; namespace import -force ::tcltest::*\nsource testutils.tcl\ntestPackage dom\n\ntest DOMImplementation-1.1 {hasFeature create} -bo" ..., numBytes = 3670, flags = 0), line 3647 in "tclBasic.c"
[38] Tcl_FSEvalFile(interp = 0x236c0, pathPtr = 0x6c1e8), line 1371 in "tclIOUtil.c"
[39] Tcl_SourceObjCmd(dummy = (nil), interp = 0x236c0, objc = 2, objv = 0x25aa8), line 1032 in "tclCmdMZ.c"
[40] TclEvalObjvInternal(interp = 0x236c0, objc = 2, objv = 0x25aa8, command = (nil), length = 0, flags = 0), line 3048 in "tclBasic.c"
[41] TclExecuteByteCode(interp = 0x236c0, codePtr = 0x7c7c8), line 1431 in "tclExecute.c"
[42] TclCompEvalObj(interp = 0x236c0, objPtr = 0x4a298), line 1008 in "tclExecute.c"
[43] Tcl_EvalObjEx(interp = 0x236c0, objPtr = 0x4a298, flags = 0), line 3944 in "tclBasic.c"
[44] Tcl_CatchObjCmd(dummy = (nil), interp = 0x236c0, objc = 3, objv = 0x25a9c), line 254 in "tclCmdAH.c"
[45] TclEvalObjvInternal(interp = 0x236c0, objc = 3, objv = 0x25a9c, command = (nil), length = 0, flags = 0), line 3048 in "tclBasic.c"
[46] TclExecuteByteCode(interp = 0x236c0, codePtr = 0x7c6a8), line 1431 in "tclExecute.c"
[47] TclCompEvalObj(interp = 0x236c0, objPtr = 0x542e8), line 1008 in "tclExecute.c"
[48] Tcl_EvalObjEx(interp = 0x236c0, objPtr = 0x542e8, flags = 0), line 3944 in "tclBasic.c"
[49] Tcl_ForeachObjCmd(dummy = (nil), interp = 0x236c0, objc = 4, objv = 0xefffd948), line 1858 in "tclCmdAH.c"
[50] TclEvalObjvInternal(interp = 0x236c0, objc = 4, objv = 0xefffd948, command = 0x734db "\n# source each of the specified tests\nforeach file [lsort [::tcltest::getMatchingFiles]] {\n^Iset tail [file tail $file]\n^Iputs stdout $tail\n^Iif {[catch {source $file} msg]} {\n^I^Iputs stdout $msg\n^I}\n}\n\n# cleanup\n::tcltest::cleanupTests 1\nreturn\n", length = 197, flags = 0), line 3048 in "tclBasic.c"
[51] Tcl_EvalEx(interp = 0x236c0, script = 0x73328 "# This file contains a top-level script to run all of the Tcl\n# tests. Execute it by invoking "source all" when running tclTest\n# in this directory.\n#\n# Copyright (c) 2000 Ajuba Solutions\n#\n# SCCS: @(#) all 1.8 97/08/01 11:07:14\n\nif {[lsearch [namespace children] ::tcltest] == -1} {\n^Ipackage require tcltest\n^Inamespace import ::tcltest::*\n}\n\nset ::tcltest::testSingleFile false\nset ::tcltest::testsDirectory [file dir [info script]]\n\n# source each of the specified tests\nforeach file [lsort [::tcltest::getMatc" ..., numBytes = 676, flags = 0), line 3647 in "tclBasic.c"
[52] Tcl_FSEvalFile(interp = 0x236c0, pathPtr = 0x45ef8), line 1371 in "tclIOUtil.c"
[53] Tcl_SourceObjCmd(dummy = (nil), interp = 0x236c0, objc = 2, objv = 0x25a94), line 1032 in "tclCmdMZ.c"
[54] TclEvalObjvInternal(interp = 0x236c0, objc = 2, objv = 0x25a94, command = (nil), length = 0, flags = 0), line 3048 in "tclBasic.c"
[55] TclExecuteByteCode(interp = 0x236c0, codePtr = 0x43520), line 1431 in "tclExecute.c"
[56] TclCompEvalObj(interp = 0x236c0, objPtr = 0x2bf28), line 1008 in "tclExecute.c"
[57] Tcl_EvalObjEx(interp = 0x236c0, objPtr = 0x2bf28, flags = 131072), line 3944 in "tclBasic.c"
[58] Tcl_RecordAndEvalObj(interp = 0x236c0, cmdPtr = 0x2bf28, flags = 131072), line 142 in "tclHistory.c"
[59] Tcl_Main(argc = 1, argv = 0xefffe3ac, appInitProc = 0x109e0 = &Tcl_AppInit(Tcl_Interp *interp)), line 390 in "tclMain.c"
[60] main(argc = 1, argv = 0xefffe3ac), line 90 in "tclAppInit.c"
(dbx 2)
--
Tcl - The glue of a new generation. <URL: http://wiki.tcl.tk/ >
Larry W. Virden <mailto:lv...@ca...> <URL: http://www.purl.org/NET/lvirden/>
Even if explicitly stated to the contrary, nothing in this posting should
be construed as representing my employer's opinions.
-><-
|