From: Forest W <lyr...@ww...> - 2003-03-26 00:43:22
|
>If I look at my Makefile.in I see > > VPATH =3D = $(srcdir)/..:$(srcdir)/xmltok:$(srcdir)/xmlwf:$(srcdir)/xmlparse > >(in line 301) and the same is true for the generated Makefile. This is >different from what you are reporting. > >Do you have the leading / in your Makefile.in also ? > >If yes it is damaged, IMHO. If not we have a very weird situation, = because >the >transformation from Makefile.in to Makefile should leave the above line >alone. No; expat/Makefile.in:301 sets VPATH to: $(srcdir)/..:$(srcdir)/xmltok:$(srcdir)/xmlwf:$(srcdir)/xmlparse As you can see, the leading $(srcdir) is present here. The Makefile generated by configure sets VPATH to: /..:$(srcdir)/xmltok:$(srcdir)/xmlwf:$(srcdir)/xmlparse However, when I delete the generated Makefile, run autoconf, and then run configure again, the new Makefile sets VPATH to: $(srcdir)/..:$(srcdir)/xmltok:$(srcdir)/xmlwf:$(srcdir)/xmlparse What do you think of that? |
From: Forest W <lyr...@ww...> - 2003-03-26 00:09:07
|
Andreas sent his build output to show that tclxml will build with expat, which is good to know, but it doesn't really help me. I'm not doing an automated build with complex directory structure like he is. I'm just following the build instructions in the README, and it doesn't work on red hat 7.3. Even with the copy of tclxml that I checked out from CVS 30 minutes ago, "make all" in tclxml/expat fails while trying to find .c and .h files that exist in the parent directory. As an experiment, I copied all the .c and .h files from the tclxml dir to the expat dir, and tried "make" again. It worked. =20 Another experiment: I noticed that expat/Makefile sets the VPATH to /..:$(srcdir)/xmltok:$(srcdir)/xmlwf:$(srcdir)/xmlparse I removed the leading / so .. would be the first element in VPATH. That worked too. Okay, so it appears that the problem is that expat/Makefile doesn't know how to find the files that live in the parent dir. I don't understand how it ever finds them, since that leading '/' in the VPATH appears to be preventing it. Is that '/' a bug? Side note: The README file refers to the --exec_prefix switch for configure, while the configure help refers to --exec-prefix. Notice the difference between underscore and dash. I guess configure may be forgiving about this, but even if it is, the discrepency is confusing. >Excerpt of ActiveState ActiveTcl build done last night, linux. >Some commands are intentionally broken over several lines to make >them more readable. > >First tclxml, then tclxml/expat. > >For comparison with your logs. As you can see I did not have the >problem you saw. > >/nfs/crimper/home/andreask/activetcl/dbn/lba/pliers/night/builds/linux-i= x86/ >is the main build directory and can be replaced with something shorter = for >readability. |
From: Andreas K. <and...@Ac...> - 2003-03-26 00:19:28
|
> -----Original Message----- > From: tcl...@li... > [mailto:tcl...@li...]On Behalf Of Forest W > Sent: Tuesday, March 25, 2003 4:09 PM > To: tcl...@li... > Subject: Re: [Tclxml-users] Problems building tclxml with expat on linux > > > Andreas sent his build output to show that tclxml will build with > expat, which is good to know, but it doesn't really help me. I'm not > doing an automated build with complex directory structure like he is. The directory structure should not matter. > I'm just following the build instructions in the README, and it > doesn't work on red hat 7.3. Even with the copy of tclxml that I > checked out from CVS 30 minutes ago, "make all" in tclxml/expat fails > while trying to find .c and .h files that exist in the parent > directory. > > As an experiment, I copied all the .c and .h files from the tclxml dir > to the expat dir, and tried "make" again. It worked. > > Another experiment: I noticed that expat/Makefile sets the VPATH to > /..:$(srcdir)/xmltok:$(srcdir)/xmlwf:$(srcdir)/xmlparse > I removed the leading / so .. would be the first element in VPATH. If I look at my Makefile.in I see VPATH = $(srcdir)/..:$(srcdir)/xmltok:$(srcdir)/xmlwf:$(srcdir)/xmlparse (in line 301) and the same is true for the generated Makefile. This is different from what you are reporting. Do you have the leading / in your Makefile.in also ? If yes it is damaged, IMHO. If not we have a very weird situation, because the transformation from Makefile.in to Makefile should leave the above line alone. > That worked too. > > Okay, so it appears that the problem is that expat/Makefile doesn't > know how to find the files that live in the parent dir. I don't > understand how it ever finds them, since that leading '/' in the VPATH > appears to be preventing it. Is that '/' a bug? > > Side note: The README file refers to the --exec_prefix switch for > configure, while the configure help refers to --exec-prefix. Notice > the difference between underscore and dash. I guess configure may be > forgiving about this, but even if it is, the discrepency is confusing. Documentation bug. -- Andreas Kupries <and...@Ac...> Developer @ http://www.ActiveState.com Join the community at the 10th Tcl conference http://wiki.tcl.tk/6274 |
From: Joe E. <jen...@fl...> - 2003-03-26 03:02:52
|
Forest W wrote: > >If yes it is damaged, IMHO. If not we have a very weird situation, because > >the > >transformation from Makefile.in to Makefile should leave the above line > >alone. > > No; expat/Makefile.in:301 sets VPATH to: > $(srcdir)/..:$(srcdir)/xmltok:$(srcdir)/xmlwf:$(srcdir)/xmlparse > As you can see, the leading $(srcdir) is present here. > > The Makefile generated by configure sets VPATH to: > /..:$(srcdir)/xmltok:$(srcdir)/xmlwf:$(srcdir)/xmlparse > > However, when I delete the generated Makefile, run autoconf, and then > run configure again, the new Makefile sets VPATH to: > $(srcdir)/..:$(srcdir)/xmltok:$(srcdir)/xmlwf:$(srcdir)/xmlparse > > What do you think of that? What version of autoconf did you use? What version of autoconf was used to build the configure script in the TclXML distribution? Autoconf 2.13 has a crude special-case hack that removes VPATH lines if $(srcdir) is equal to "." (which is the normal case), in order to work around a bug in Sun's 'make'. It looks like autoconf 2.52 has added some additional overcleverness: instead of deleting VPATH lines entirely, it tries to munge them using a hairy sed script. My guess: Andreas is building in the 'build' subdirectory, so the VPATH munging doesn't happen; Forest is building in the source directory, so it does, and that's what's breaking stuff. (BTW: expat is extremely portable source code and doesn't require a whole lot of autoconfigury to compile. expat/{Makefile,configure}.in can probably be simplified considerably.) --Joe English jen...@fl... |
From: Forest W <lyr...@ww...> - 2003-03-26 18:13:17
|
>What version of autoconf did you use? =20 My autoconf --version says "Autoconf version 2.13". This is from the Red Hat 7.3 distribution, and it generates a configure script that does not exhibit the problem. >What version of autoconf >was used to build the configure script in the TclXML distribution? tclxml-2.6/expat/configure:4 says "Generated by Autoconf 2.52". =20 This script is the one that strips the first $(srcdir) from VPATH when generating the Makefile. |
From: Steve B. <Ste...@zv...> - 2003-03-26 22:44:11
|
Forest W wrote: >>What version of autoconf did you use? > > My autoconf --version says "Autoconf version 2.13". > This is from the Red Hat 7.3 distribution, and it generates a > configure script that does not exhibit the problem. OK - I'll make sure that in future I use autoconf 2.13 to create the configure script for distributions. In the meantime I'll place an errata on the website, or perhaps generate a 2.6.1 distribution with a working configure. Cheers, Steve -- Steve Ball | XSLT Standard Library | Training & Seminars Zveno Pty Ltd | Web Tcl Complete | XML XSL Schemas http://www.zveno.com/ | TclXML TclDOM | Tcl, Web Development Ste...@zv... +---------------------------+--------------------- Ph. +61 2 6242 4099 | Mobile (0413) 594 462 | Fax +61 2 6242 4099 |
From: Joe E. <jen...@fl...> - 2003-03-28 20:41:57
|
Forest W wrote: > I did this instead, in the include directory that contains expat.h: > > ln -s expat.h xmlparse.h > > And the TclDOMPro source compiled, though these warnings came up: > > tdpExpat.c:3540: warning: passing arg 2 of > `XML_SetDoctypeDeclHandler' from incompatible pointer type > > livelist.c:124: warning: passing arg 4 of pointer to function from > incompatible pointer type > > Is it safe to ignore those warnings? The second one is OK to ignore (I just missed a CONST84 in the Tcl 8.4 constification process), but the first one might be a problem -- the function signature for doctype handlers changed between expat 1.2 and 1.95. (That said, I've been using tcldompro with expat 1.95 for quite a while now without seeing any problems. Then again I rarely use <!DOCTYPE ...> declarations, so YMMV.) I've just committed a new version of tdpExpat.c and other relevant files to make it compile cleanly with expat 1.95. > Also, the author of TclSOAP told me that TclDOM doesn't require TclXML > when built using the TclDOMPro implementation. Is that true? That's correct; the tcldom/src codebase is independant of the rest of TclXML / TclDOM. (It does share the test suite and documentation, although those have diverged considerably.) --Joe English jen...@fl... |
From: Joe E. <jen...@fl...> - 2003-03-28 21:02:06
|
[ Forest -- are you subscribed to the tclxml-users list, or should I continue to Cc: you on replies? ] [ Steve -- I *know* you're subscribed, sorry for the previous Cc:'s :-) ] Forest W wrote: > >The 'src' subdirectory is independent of the top-level directory; > >"cd src ; ./configure ; make ; make install" should do the trick. > > Wait a minute. Independent? Are you saying that, if I get the > TclDOMPro code in tcldom/src to build and install, it will work > without requiring any code from the parent directory, or from tclxml? That's correct; the only external dependency is expat (see previous message). > If that is the case, then I should be able to get tcldom building > cleanly by dealing with the following two matters: > > 1. Replace #include <xmlparse.h> with #include <expat.h> in the > tcldom/src code. > > 2. Fix the "incompatible pointer type" warnings when building the > tcldom/src code. Already done (see previous message), fix is now in CVS. > Out of curiosity: > > Is TclDOMPro now officially called TclDOM/C? I have no idea what the official package name is supposed to be, or if it even has one... Steve? > Will it continue to be supported, or is it being dropped in favor of > libxml2? It's basically in maintenance mode right now. I intend to support it as far as bug-fixes and upgrades to new versions of Tcl and/or expat go, but don't have time to add all the new features implemented in the mainline TclDOM codebase. Expect it to stay at version 2.0 for the foreseeable future :-) --Joe English jen...@fl... |
From: Forest W <lyr...@ti...> - 2003-03-28 22:02:18
|
>[ Forest -- are you subscribed to the tclxml-users list, I am subscribed. >> 1. Replace #include <xmlparse.h> with #include <expat.h> in the >> tcldom/src code. >> >> 2. Fix the "incompatible pointer type" warnings when building the >> tcldom/src code. > >Already done (see previous message), fix is now in CVS. Thank you. I just checked out the current HEAD, and built against expat-1.95.6 on solaris with no warnings or errors. I'll try building on other platforms and try using it with tclsoap later today. |
From: Steve B. <Ste...@zv...> - 2003-04-01 00:37:34
|
Forest W wrote: >>The 'src' subdirectory is independent of the top-level directory; >>"cd src ; ./configure ; make ; make install" should do the trick. > > Wait a minute. Independent? Are you saying that, if I get the > TclDOMPro code in tcldom/src to build and install, it will work > without requiring any code from the parent directory, or from tclxml? Joe has already answered this, but yes. tcldom/src is completely independant - I maintain the parent directory and Joe maintains the src directory. > Out of curiosity: > > Is TclDOMPro now officially called TclDOM/C? Yes. This is a (relatively) new naming convention I adopted last year in order to correctly identify the various subprojects. > Will it continue to be supported, or is it being dropped in favor of > libxml2? Joe is maintaining that code, so you would have to ask him. As long as someone maintains it, it won't be dropped. My efforts are going into the libxml2 wrapper, since I believe that gives me more leverage. HTHs, Steve Ball -- Steve Ball | XSLT Standard Library | Training & Seminars Zveno Pty Ltd | Web Tcl Complete | XML XSL Schemas http://www.zveno.com/ | TclXML TclDOM | Tcl, Web Development Ste...@zv... +---------------------------+--------------------- Ph. +61 2 6242 4099 | Mobile (0413) 594 462 | Fax +61 2 6242 4099 |
From: Andreas K. <and...@Ac...> - 2003-03-26 00:46:50
|
> -----Original Message----- > From: Forest W [mailto:lyr...@ti...] > Sent: Tuesday, March 25, 2003 4:43 PM > To: tcl...@li... > Cc: Andreas Kupries > Subject: Re: [Tclxml-users] Problems building tclxml with expat on linux > > > >If I look at my Makefile.in I see > > > > VPATH = > $(srcdir)/..:$(srcdir)/xmltok:$(srcdir)/xmlwf:$(srcdir)/xmlparse > > > >(in line 301) and the same is true for the generated Makefile. This is > >different from what you are reporting. > > > >Do you have the leading / in your Makefile.in also ? > > > >If yes it is damaged, IMHO. If not we have a very weird > situation, because > >the > >transformation from Makefile.in to Makefile should leave the above line > >alone. > > No; expat/Makefile.in:301 sets VPATH to: > $(srcdir)/..:$(srcdir)/xmltok:$(srcdir)/xmlwf:$(srcdir)/xmlparse > As you can see, the leading $(srcdir) is present here. > > The Makefile generated by configure sets VPATH to: > /..:$(srcdir)/xmltok:$(srcdir)/xmlwf:$(srcdir)/xmlparse > > However, when I delete the generated Makefile, run autoconf, and then > run configure again, the new Makefile sets VPATH to: > $(srcdir)/..:$(srcdir)/xmltok:$(srcdir)/xmlwf:$(srcdir)/xmlparse > > What do you think of that? What version of autoconf was used to create the configure in the CVS ? What version of autoconf did you use ? ... Checking ... Here at ActiveState we regenerate most configure's via our autoconf, which is 2.13 ... And tclxml/expat/configure is in the list. In other words, we have never used the distributed configure. It can be bad. -- Andreas Kupries <and...@Ac...> Developer @ http://www.ActiveState.com Join the community at the 10th Tcl conference http://wiki.tcl.tk/6274 |
From: Forest W <lyr...@ww...> - 2003-03-26 01:01:30
|
>What version of autoconf was used to create the configure in the CVS ? >What version of autoconf did you use ? > >... Checking ... Here at ActiveState we regenerate most configure's via >our autoconf, which is 2.13 ... And tclxml/expat/configure is in the = list. > >In other words, we have never used the distributed configure. > >It can be bad. Truly. I am using the autoconf distributed by Red Hat for redhat linux 7.3. autoconf --version reports:=20 Autoconf version 2.13 I can send you a diff between the distributed configure and the one that my autoconf generates. At first glance, the diff appears pretty big. |
From: Andreas K. <aku...@sh...> - 2003-03-26 02:07:50
|
> >What version of autoconf was used to create the configure in the CVS ? > >What version of autoconf did you use ? > > > >... Checking ... Here at ActiveState we regenerate most configure's via > >our autoconf, which is 2.13 ... And tclxml/expat/configure is in the list. > > > >In other words, we have never used the distributed configure. > > > >It can be bad. > > Truly. > > I am using the autoconf distributed by Red Hat for redhat linux 7.3. > autoconf --version reports: > Autoconf version 2.13 > > I can send you a diff between the distributed configure and the one No, thank you. > that my autoconf generates. At first glance, the diff appears pretty > big. This is something we better ask Steve (i.e. version of autoconf he is using to generate the configure). Note that many differences might simply be because of different line numbers (autoconf embeds line number into the generated configure. I guess that this is for debugging). The original configure (i.e. the one from CVS) might have something at the beginning indicating the version of autoconf which generated it. ... Yes, it does, line #4 of configure. Steve used autoconf 2.52. It is very well possible that the TEA macros clash with what autoconf 2.52 is doing. It can't tell you details, because I don't know them. This is definitely something Jeff Hobbs could/should know, or be made aware of. In the interim we should ask Steve to generate the distributed configure with autoconf 2.13 to prevent problems. -- So long, Andreas Kupries <aku...@sh...> <http://www.purl.org/NET/akupries/> Developer @ <http://www.activestate.com/> Join us at the Tenth Annual Tcl/Tk Conference <URL: http://wiki.tcl.tk/6274> ------------------------------------------------------------------------------- |
From: Forest W <lyr...@ww...> - 2003-03-26 02:26:36
|
>It is very well possible that the TEA macros clash with what autoconf >2.52 is doing. It can't tell you details, because I don't know >them. This is definitely something Jeff Hobbs could/should know, or be >made aware of. > >In the interim we should ask Steve to generate the distributed >configure with autoconf 2.13 to prevent problems. I'll take that to mean that you'll contact Steve Ball and Jeff Hobbs, as I don't know either of them. Thank you for your help. =46orest |
From: Steve B. <Ste...@zv...> - 2003-03-26 02:50:30
|
Forest W wrote: >>What version of autoconf was used to create the configure in the CVS ? >>What version of autoconf did you use ? >> >>... Checking ... Here at ActiveState we regenerate most configure's via >>our autoconf, which is 2.13 ... And tclxml/expat/configure is in the list. >> >>In other words, we have never used the distributed configure. >> >>It can be bad. > > Truly. > > I am using the autoconf distributed by Red Hat for redhat linux 7.3. > autoconf --version reports: > Autoconf version 2.13 I am using the autoconf that comes with the Mac OS 10.2 Developer Tools CD to produce the configure script in the distribution: [Steve-Balls-Computer:~] steve% autoconf --version autoconf (GNU Autoconf) 2.52 Written by David J. MacKenzie. Copyright 1992, 1993, 1994, 1996, 1999, 2000, 2001 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. [Steve-Balls-Computer:~] steve% HTHs, Steve -- Steve Ball | XSLT Standard Library | Training & Seminars Zveno Pty Ltd | Web Tcl Complete | XML XSL Schemas http://www.zveno.com/ | TclXML TclDOM | Tcl, Web Development Ste...@zv... +---------------------------+--------------------- Ph. +61 2 6242 4099 | Mobile (0413) 594 462 | Fax +61 2 6242 4099 |
From: Andreas K. <aku...@sh...> - 2003-03-26 03:23:55
|
> > Forest W wrote: > > > >If yes it is damaged, IMHO. If not we have a very weird situation, because > > >the > > >transformation from Makefile.in to Makefile should leave the above line > > >alone. > > > > No; expat/Makefile.in:301 sets VPATH to: > > $(srcdir)/..:$(srcdir)/xmltok:$(srcdir)/xmlwf:$(srcdir)/xmlparse > > As you can see, the leading $(srcdir) is present here. > > > > The Makefile generated by configure sets VPATH to: > > /..:$(srcdir)/xmltok:$(srcdir)/xmlwf:$(srcdir)/xmlparse > > > > However, when I delete the generated Makefile, run autoconf, and then > > run configure again, the new Makefile sets VPATH to: > > $(srcdir)/..:$(srcdir)/xmltok:$(srcdir)/xmlwf:$(srcdir)/xmlparse > > > > What do you think of that? > > What version of autoconf did you use? What version of autoconf > was used to build the configure script in the TclXML distribution? > Autoconf 2.13 has a crude special-case hack that removes VPATH > lines if $(srcdir) is equal to "." (which is the normal case), > in order to work around a bug in Sun's 'make'. > > It looks like autoconf 2.52 has added some additional overcleverness: > instead of deleting VPATH lines entirely, it tries to munge them > using a hairy sed script. > My guess: Andreas is building in the 'build' subdirectory, so the > VPATH munging doesn't happen; Forest is building in the source directory, > so it does, and that's what's breaking stuff. The directory is not relevant. What is relevant is that I (the AS build system) regenerates a number of configure scripts from their configure.in, using autoconf 2.13, including TclXML. Thus I never have/use a configure script which mangles its Makefile.in that badly. The only 2.50+ configure script I know of in the AS build sources is metakit, which I very explicitly not touch because it does contain 2.50+ specific AC macros. I consider the above over-agressive mangling a bug in autoconf 2.52. > (BTW: expat is extremely portable source code and doesn't require > a whole lot of autoconfigury to compile. expat/{Makefile,configure}.in > can probably be simplified considerably.) -- So long, Andreas Kupries <aku...@sh...> <http://www.purl.org/NET/akupries/> Developer @ <http://www.activestate.com/> Join us at the Tenth Annual Tcl/Tk Conference <URL: http://wiki.tcl.tk/6274> ------------------------------------------------------------------------------- |