Re your question in the subject: Yes, I do this from time to
time. Though, not on 64-bit.
On 1 Feb, Larry W. Virden wrote:
> I'm trying to build the latest tdom from its cvs and tcl 8.5
> from its cvs. I'm seeing some peculiar things. Again, since I don't
> know of a better place to report problems or observations, I'll report
> them here.
>
> (Platform: SPARC Solaris 9, using Sun's C compiler, and tdom with
> configure options \"'--prefix=/projects/sprs_lwv/tcl85'
> '--enable-shared' '--enable-symbols' '--enable-stubs' '--enable-64bit'
> '--disable-tdomalloc' '--enable-dtd' '--enable-ns' 'CC=cc'\"
> )
The critical bit information here is: you're on a 64-bit
plattform. Everything below is relevant only for 64-bit.
> 1. I am seeing this warning
> cc -DPACKAGE_NAME=\"tdom\" -DPACKAGE_TARNAME=\"tdom\"
> -DPACKAGE_VERSION=\"0.8.1\
> " -DPACKAGE_STRING=\"tdom\ 0.8.1\" -DPACKAGE_BUGREPORT=\"\"
> -DSTDC_HEADERS=1 -DH
> AVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1
> -DHAVE_STRING_H=1 -DHAVE
> _MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_UNISTD_H=1
> -DWORDS_BIG
> ENDIAN=1 -DHAVE_LIMITS_H=1 -DHAVE_SYS_PARAM_H=1 -DHAVE_MEMMOVE=1
> -DHAVE_BCOPY=1
> -DUSE_THREAD_ALLOC=1 -D_REENTRANT=1 -D_POSIX_PTHREAD_SEMANTICS=1
> -D_THREAD_SAFE=
> 1 -DTCL_THREADS=1 -D_REENTRANT=1 -D_POSIX_PTHREAD_SEMANTICS=1
> -DTCL_WIDE_INT_IS_
> LONG=1 -DUSE_TCL_STUBS=1 -DXML_DTD=1 -DXML_NS=1
> -DTDOM_NO_UNKNOWN_CMD=1 -DUSE_NO
> RMAL_ALLOCATOR=1 -I../generic -I../expat
> -I"/vol/tclsrcsol/tcl85/tcl/generic"
> -xarch=v9 -g -KPIC -c `echo ../expat/xmlparse.c` -o xmlparse.o
> "../expat/xmlparse.c", line 1485: warning: enum type mismatch: op "="
> "../expat/xmlparse.c", line 1489: warning: enum type mismatch: op "="
> "../expat/xmlparse.c", line 1492: warning: enum type mismatch: op "="
> "../expat/xmlparse.c", line 1524: warning: enum type mismatch: op "="
> "../expat/xmlparse.c", line 1572: warning: enum type mismatch: op "="
> "../expat/xmlparse.c", line 1578: warning: enum type mismatch: op "="
> "../expat/xmlparse.c", line 1586: warning: enum type mismatch: op "="
> "../expat/xmlparse.c", line 1719: warning: enum type mismatch: op "="
> "../expat/xmlparse.c", line 1725: warning: enum type mismatch: op "="
> "../expat/xmlparse.c", line 1733: warning: enum type mismatch: op "="
That is inside the expat code (the used underlying XML parser), which
is used unmodified by tDOM. I know for sure, that the expat code works
well on 64-bit plattforms (at least if compiled with the right
options). I'll look into this and, if I think the warning is serious,
will raise an error against the expat project.
> 2. I next see this warning
>
> cc -DPACKAGE_NAME=\"tdom\" -DPACKAGE_TARNAME=\"tdom\"
> -DPACKAGE_VERSION=\"0.8.1\
> " -DPACKAGE_STRING=\"tdom\ 0.8.1\" -DPACKAGE_BUGREPORT=\"\"
> -DSTDC_HEADERS=1 -DH
> AVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1
> -DHAVE_STRING_H=1 -DHAVE
> _MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_UNISTD_H=1
> -DWORDS_BIG
> ENDIAN=1 -DHAVE_LIMITS_H=1 -DHAVE_SYS_PARAM_H=1 -DHAVE_MEMMOVE=1
> -DHAVE_BCOPY=1
> -DUSE_THREAD_ALLOC=1 -D_REENTRANT=1 -D_POSIX_PTHREAD_SEMANTICS=1
> -D_THREAD_SAFE=
> 1 -DTCL_THREADS=1 -D_REENTRANT=1 -D_POSIX_PTHREAD_SEMANTICS=1
> -DTCL_WIDE_INT_IS_
> LONG=1 -DUSE_TCL_STUBS=1 -DXML_DTD=1 -DXML_NS=1
> -DTDOM_NO_UNKNOWN_CMD=1 -DUSE_NO
> RMAL_ALLOCATOR=1 -I../generic -I../expat
> -I"/vol/tclsrcsol/tcl85/tcl/generic"
> -xarch=v9 -g -KPIC -c `echo ../generic/dom.c` -o dom.o
> "../generic/dom.c", line 1817: warning: argument #3 is incompatible
> with prototy
> pe:
> prototype: pointer to int : "unknown", line 0
> argument : pointer to unsigned long
> "../generic/dom.c", line 2111: warning: argument #2 is incompatible
> with prototy
> pe:
> prototype: pointer to int : "unknown", line 0
> argument : pointer to unsigned long
Hmmm. That looks like the source of the test suite failures, you
report below. I haven't a 64-bit box at hand, to do tests.
From looking at the code, the patch, posted by kunkee58 (see
http://tech.groups.yahoo.com/group/tdom/message/1365?l=1) addresses
exactly this problem.
If you could try this and report, that would be great.
> 3. I then see this warning:
> cc -DPACKAGE_NAME=\"tdom\" -DPACKAGE_TARNAME=\"tdom\"
> -DPACKAGE_VERSION=\"0.8.1\
> " -DPACKAGE_STRING=\"tdom\ 0.8.1\" -DPACKAGE_BUGREPORT=\"\"
> -DSTDC_HEADERS=1 -DH
> AVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1
> -DHAVE_STRING_H=1 -DHAVE
> _MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_UNISTD_H=1
> -DWORDS_BIG
> ENDIAN=1 -DHAVE_LIMITS_H=1 -DHAVE_SYS_PARAM_H=1 -DHAVE_MEMMOVE=1
> -DHAVE_BCOPY=1
> -DUSE_THREAD_ALLOC=1 -D_REENTRANT=1 -D_POSIX_PTHREAD_SEMANTICS=1
> -D_THREAD_SAFE=
> 1 -DTCL_THREADS=1 -D_REENTRANT=1 -D_POSIX_PTHREAD_SEMANTICS=1
> -DTCL_WIDE_INT_IS_
> LONG=1 -DUSE_TCL_STUBS=1 -DXML_DTD=1 -DXML_NS=1
> -DTDOM_NO_UNKNOWN_CMD=1 -DUSE_NO
> RMAL_ALLOCATOR=1 -I../generic -I../expat
> -I"/vol/tclsrcsol/tcl85/tcl/generic"
> -xarch=v9 -g -KPIC -c `echo ../generic/tdomStubInit.c` -o
> tdomStubInit.o
> "../generic/tdomStubInit.c", line 27: warning: initialization type
> mismatch
Just ignore this one.
> 4. The code all compiles and a library is built. The test suite shows
> these 21 failures:
They all look like to be triggered by the problem you reported under
2. If I'm right, then only reading of external entities (like, e.g.,
an external DTD) and the -channel option is affected. Everything else
should work just fine.
Though, that problem need to be fixed. (Not at least because for xslt
processing it is somewhat common, to request external entities.) If
you could confirm, that kunkee58s proposal fixes this problem for you,
I'll change the code along that line at the place of 2. and look at
one or two other places, which I think may need a simliar change.
rolf