* On Tue, 2 Aug 2005, Mike McCormack wrote:
This patch is a start on msxml3.
I think I am stuck with an error with this patch in the CVS tree:
| make[2]: Entering directory `/mnt/antras/usr/src/wine-cvs/wine/dlls/msxml3' | gcc -c -I. -I. -I../../include -I../../include -D__WINESRC__ -DCOM_NO_WINDOWS_H -D_REENTRANT -fPIC -Wall -pipe -mpreferred-stack-boundary=2 -fno-strict-aliasing -gstabs+ -Wpointer-arith -g -O2 -o domdoc.o domdoc.c | In file included from domdoc.c:36: | msxml_private.h:26:27: libxml/parser.h: No such file or directory | In file included from domdoc.c:36: | msxml_private.h:28: parse error before "xmlDocPtr" | make[2]: *** [domdoc.o] Error 1 | make[2]: Leaving directory `/mnt/antras/usr/src/wine-cvs/wine/dlls/msxml3'
Here we go:
$ rpm -ql $(rpm -qf $(locate libxml/parser.h)) | grep -C3 libxml/parser.h | /usr/include/libxml2/libxml/list.h | /usr/include/libxml2/libxml/nanoftp.h | /usr/include/libxml2/libxml/nanohttp.h | /usr/include/libxml2/libxml/parser.h | /usr/include/libxml2/libxml/parserInternals.h | /usr/include/libxml2/libxml/relaxng.h | /usr/include/libxml2/libxml/schemasInternals.h
I have this file.
$ grep libxml * | config.log:configure:8752: checking libxml/parser.h usability | config.log:configure:8764: gcc -c -g -O2 -I/usr/include/libxml2 conftest.c >&5 | config.log:configure:8797: checking libxml/parser.h presence | config.log:configure:8807: gcc -E -I/usr/include/libxml2 conftest.c | config.log:configure:8868: checking for libxml/parser.h | config.log:configure:8913: gcc -o conftest -g -O2 -I/usr/include/libxml2 conftest.c -lxml2 >&5 | config.log:ac_cv_header_libxml_parser_h=yes | configure:CPPFLAGS="$CPPFLAGS -I/usr/include/libxml2" | configure:for ac_header in libxml/parser.h | configure: XML2INCL="-I/usr/include/libxml2" | configure.ac:dnl **** Check for libxml2 **** | configure.ac:CPPFLAGS="$CPPFLAGS -I/usr/include/libxml2" | configure.ac:AC_CHECK_HEADERS(libxml/parser.h, | configure.ac: [AC_DEFINE(HAVE_LIBXML2, 1, [Define if you have the libxml2 library]) | configure.ac: XML2INCL="-I/usr/include/libxml2"])])
Headers are detected at configure time, it seems. Checking XML2INCL in the dll dir:
$ grep -Ir XML2INCL dlls/msxml3/ | dlls/msxml3/Makefile.in:EXTRAINCL = @XML2INCL@
$ grep -Ir ^EXTRAINCL dlls/msxml3/ | dlls/msxml3/Makefile:EXTRAINCL = | dlls/msxml3/Makefile.in:EXTRAINCL = @XML2INCL@
Is this supposed to be so? My makefile have empty EXTRAINCL var. Why?
Saulius Krasuckas wrote:
$ grep -Ir ^EXTRAINCL dlls/msxml3/ | dlls/msxml3/Makefile:EXTRAINCL = | dlls/msxml3/Makefile.in:EXTRAINCL = @XML2INCL@
Is this supposed to be so? My makefile have empty EXTRAINCL var. Why?
No. Could you try running ./configure again and checking for XML2INCL in config.status and config.log? This is the output on my machine:
bash-3.00$ grep XML2INCL config.status config.log dlls/msxml3/Makefile.in config.status:s,@XML2INCL@,-I/usr/include/libxml2,;t t config.log:XML2INCL='-I/usr/include/libxml2' dlls/msxml3/Makefile.in:EXTRAINCL = @XML2INCL@ bash-3.00$ grep EXTRAINCL dlls/msxml3/Makefile.in dlls/msxml3/Makefile dlls/msxml3/Makefile.in:EXTRAINCL = @XML2INCL@ dlls/msxml3/Makefile:EXTRAINCL = -I/usr/include/libxml2
Mike
* On Thu, 4 Aug 2005, Mike McCormack wrote:
Could you try running ./configure again
I did it several times already.
and checking for XML2INCL in config.status and config.log? This is the output on my machine:
Pasted inline:
bash-3.00$ grep XML2INCL config.status config.log dlls/msxml3/Makefile.in config.status:s,@XML2INCL@,-I/usr/include/libxml2,;t t
config.status:s,@XML2INCL@,,;t t
config.log:XML2INCL='-I/usr/include/libxml2'
config.log:XML2INCL=''
dlls/msxml3/Makefile.in:EXTRAINCL = @XML2INCL@
dlls/msxml3/Makefile.in:EXTRAINCL = @XML2INCL@
bash-3.00$ grep EXTRAINCL dlls/msxml3/Makefile.in dlls/msxml3/Makefile dlls/msxml3/Makefile.in:EXTRAINCL = @XML2INCL@
dlls/msxml3/Makefile.in:EXTRAINCL = @XML2INCL@
dlls/msxml3/Makefile:EXTRAINCL = -I/usr/include/libxml2
dlls/msxml3/Makefile:EXTRAINCL = dlls/msxml3/Makefile:INCLUDES = -I$(SRCDIR) -I. -I$(TOPSRCDIR)/include -I$(TOPOBJDIR)/include $(EXTRAINCL)
Saulius Krasuckas wrote:
bash-3.00$ grep XML2INCL config.status config.log dlls/msxml3/Makefile.in config.status:s,@XML2INCL@,-I/usr/include/libxml2,;t t
config.status:s,@XML2INCL@,,;t t
I think that the problem is your libxml2 library is not being detected properly. You might check that in the config.log.
The attached patch should help, but your msxml3 won't be able to use libxml2.
Mike
* On Thu, 4 Aug 2005, Mike McCormack wrote:
I think that the problem is your libxml2 library is not being detected properly. You might check that in the config.log.
Oh yes, one test fails here:
| configure:8883: checking for xmlReadIO in -lxml2 | configure:8913: gcc -o conftest -g -O2 -I/usr/include/libxml2 conftest.c -lxml2 >&5 | /tmp/ccgPoHYo.o: In function `main': | /usr/src/wine-cvs/wine/conftest.c:130: undefined reference to `xmlReadIO' | collect2: ld returned 1 exit status | configure:8919: $? = 1 | configure: failed program was: ... | | char xmlReadIO (); | | int | | main () | | { | | xmlReadIO (); | | ; | | return 0; | | } | configure:8945: result: no
Checking package version:
$ rpm -qf $(locate libxml/parser.h) libxml2-devel-2.5.11-0.fdr.1.rh80
Is it too old?
Saulius Krasuckas wrote:
| /usr/src/wine-cvs/wine/conftest.c:130: undefined reference to `xmlReadIO'
$ rpm -qf $(locate libxml/parser.h) libxml2-devel-2.5.11-0.fdr.1.rh80
Is it too old?
Well, it's older than the version of libxml2 I'm using here, which is libxml2-2.6.19-i686-1dl for slackware. If you don't use xmlReadIO, then you could use xmlReadMemory I guess. The whole file would need to be read into memory first.
Mike
"Mike McCormack" mike@codeweavers.com wrote:
| /usr/src/wine-cvs/wine/conftest.c:130: undefined reference to `xmlReadIO'
$ rpm -qf $(locate libxml/parser.h) libxml2-devel-2.5.11-0.fdr.1.rh80
Is it too old?
Well, it's older than the version of libxml2 I'm using here, which is libxml2-2.6.19-i686-1dl for slackware. If you don't use xmlReadIO, then you could use xmlReadMemory I guess. The whole file would need to be read into memory first.
Or just mmap'ed. That could be a reasonable workaround.
Hi,
--- Dmitry Timoshkov dmitry@baikal.ru wrote:
Well, it's older than the version of libxml2 I'm using here, which is libxml2-2.6.19-i686-1dl for slackware. If you don't use xmlReadIO, then you could use xmlReadMemory I guess. The whole file would need to be read into memory first.
Or just mmap'ed. That could be a reasonable workaround.
Blah another Unixism. Avoiding mmap would be nice on those of us that will try to build this dll for ReactOS.
Thanks Steven
____________________________________________________ Start your day with Yahoo! - make it your home page http://www.yahoo.com/r/hs
"Steven Edwards" steven_ed4153@yahoo.com wrote:
Well, it's older than the version of libxml2 I'm using here, which is libxml2-2.6.19-i686-1dl for slackware. If you don't use xmlReadIO, then you could use xmlReadMemory I guess. The whole file would need to be read into memory first.
Or just mmap'ed. That could be a reasonable workaround.
Blah another Unixism. Avoiding mmap would be nice on those of us that will try to build this dll for ReactOS.
mmap'ing means CreateFileMapping + MapViewOfFile in win32, so that should not be a problem.
* On Thu, 4 Aug 2005, Mike McCormack wrote:
If you don't use xmlReadIO, then you could use xmlReadMemory I guess. The whole file would need to be read into memory first.
* On Thu, 4 Aug 2005, Dmitry Timoshkov wrote:
Or just mmap'ed. That could be a reasonable workaround.
Ok folks, but my hands are off. I just reported for everybody to know. I am going to upgrade libxml2 packages (to v2.6.16).
If no any additional configure checks are needed, then fine. But that's strange, as user has to do hard work to discover his libxml2 is too old. So I still think some version checks or so are needed to be implemented.
* On Mon, 8 Aug 2005, Saulius Krasuckas wrote:
Ok folks, but my hands are off. I just reported for everybody to know. I am going to upgrade libxml2 packages (to v2.6.16).
Heh.. I opened this message to discard it. That Ctrl-C combination is so near to a Ctrl-X. Sorry for a noise, ignore it, please.
I see Mike just has implemented this functionality.