expat-1.95.1: build comments

Nelson H. F. Beebe beebe@math.utah.edu
Wed, 6 Jun 2001 15:09:06 -0600 (MDT)


I've made build attempts for expat-1.95.1 on these platforms:

	Sun SPARC		Solaris 2.7
	Sun SPARC		GNU/Linux 2.2.19-6.2.1 (Red Hat 6.2)
	SGI Origin 200		IRIX 6.5
	Intel Pentium III	GNU/Linux 2.2.17-14smp (Red Hat 6.2)
	Intel Pentium II	FreeBSD 4.1.1
	IBM SP/2		AIX 4.3.2.0
	IBM PowerPC		AIX 4.2
	HP/Intel IA-64		GNU/Linux 2.2.17-14smp (Red Hat 6.2) [via HP NUE emulator on IA-32]
	HP 9000/712		HP-UX 10.20
	DEC Alpha		GNU/Linux 2.2.19-6.2.1 (Red Hat 6.2)
	Compaq/DEC Alpha	OSF/1 4.0F
	Apple Power Mac 233MHz	GNU/Linux 2.2.15pre9
	Apple Macintosh PPC G3	Rhapsody 5.6
	Apple Macintosh PPC G3	Darwin 1.3.3

They were successful on most, but there are few (likely) easy-to-fix
problems:

(1) The Makefile should have a check target, even it if just a dummy one:

	check:
		@echo This package does not yet have an installation suite

    There should also be other GNU standard Makefile targets,
    including all, distclean, mostlyclean, maintainer-clean, and
    uninstall.  See the Makefile standards in emacs help node
    "(Standards) Standard Targets".

    Once those are in place, then one can say

	    ./configure && make all check install
    or
	    ./configure --prefix=/some/other/dir && make all check install

    everywhere.  These recipes already work for almost all GNUware
    developed in the last five years or so.

(2) The private typedef for stack_t in engine.[ch] conflicts with a
    typedef in system header files on at least IBM AIX 4.x.  I had to
    make source code changes to work around that problem: I just
    renamed stack_t to Stack_t, but expat should have a more
    distinctive name for that type.

(3) "make distclean" does not reduce the distribution directory to its
     original state:  I find these left over

	% find . -mtime -1 -type f
	./lib/xmlparse.B
	./lib/xmltok.B
	./lib/xmlrole.B
	./config.cache
	./Makefile

    It is imperative to remove config.cache and Makefile, since they
    are tuned by configure to a specific environment.

(4) Compilation on SGI IRIX 6.5 with c89 produces these failures:

	c89 -DHAVE_CONFIG_H -DPACKAGE=\"expat\"
		-DVERSION=\"expat_1.95.1\" -I. -I.. -g
		-Wp,-MD,.deps/xmlparse.pp -c xmlparse.c  -DPIC -o
		.libs/xmlparse.lo
	cc-1574 c89: ERROR
	  The definition of macro %sq is not valid.
	cc-1005 c89: ERROR
	  The source file ".deps/xmlparse.pp" is unavailable.
	2 catastrophic errors detected in the compilation of ".deps/xmlparse.pp".

	c89 -DHAVE_CONFIG_H -DPACKAGE=\"expat\"
		-DVERSION=\"expat_1.95.1\" -I. -I.. -g -Wp,-MD,.deps/xmltok.pp
		-c xmltok.c -DPIC -o .libs/xmltok.lo
	cc-1574 c89: ERROR
	  The definition of macro %sq is not valid.
	cc-1005 c89: ERROR
	  The source file ".deps/xmltok.pp" is unavailable.
	2 catastrophic errors detected in the compilation of ".deps/xmltok.pp".

	c89 -DHAVE_CONFIG_H -DPACKAGE=\"expat\"
		-DVERSION=\"expat_1.95.1\" -I. -I.. -g
		-Wp,-MD,.deps/xmlrole.pp -c xmlrole.c -DPIC -o
		.libs/xmlrole.lo
	cc-1574 c89: ERROR
	  The definition of macro %sq is not valid.
	cc-1005 c89: ERROR
	  The source file ".deps/xmlrole.pp" is unavailable.
	2 catastrophic errors detected in the compilation of ".deps/xmlrole.pp".

   I was able to do the build by switching to gcc.

-------------------------------------------------------------------------------
- Nelson H. F. Beebe                    Tel: +1 801 581 5254                  -
- Center for Scientific Computing       FAX: +1 801 585 1640, +1 801 581 4148 -
- University of Utah                    Internet e-mail: beebe@math.utah.edu  -
- Department of Mathematics, 322 INSCC      beebe@acm.org  beebe@computer.org -
- 155 S 1400 E RM 233                       beebe@ieee.org                    -
- Salt Lake City, UT 84112-0090, USA    URL: http://www.math.utah.edu/~beebe  -
-------------------------------------------------------------------------------