- From: Paul M. Aoki <aoki@CS.Berkeley.EDU>
- Date: Wed, 02 Jul 97 00:55:27 -0700
- To: www-amaya@w3.org
i have amaya-1.0b compiled and (kinda) working under ultrix 4.4 (gcc-2.7.2). nice to have an ultrix web client that has a halfway reasonable understanding of tables -- too bad the forms stuff doesn't work better... here's a shell script i used to (semi-)automate the configuration. it won't work for you (for any instance of 'you') -- it contains paths to things like our local copy of the Motif library. however, the (lengthy) comment lists the problems i had to solve and how i solved them. note: there were three places where i couldn't avoid source tree changes (thotlib/dialogue/input.c, thotlib/dialogue/lookup.c and w3c-libwww-5.0a/configure). also, MAX_CHAR is an X/Open constant that probably shouldn't be used in Thot. it causes a lot of compiler noise, at least on ultrix. (it's defined in thotlib/internals/h/constint.h.) this is provided as a public service to help other people along in their porting efforts. i'm NOT on the www-amaya mailing list and i'm NOT likely to respond to any direct questions or requests. #!/bin/sh rm -f config.* if [ `uname` = ULTRIX ]; then # # ULTRIX issues: # # - kaffe isn't ported to ULTRIX (not even as of 0.9.0), so we *must* # set --disable-java. (ULTRIX has pthreads support, so it seems # doable, but i don't have time to look at this right now.) # - there aren't any plugins for ULTRIX, so we may as well set # --disable-plugin. # - the ULTRIX 4.4 <memory.h> has only non-ANSI prototypes. we don't # really want it, but autoconf sees it and sets HAVE_MEMORY_H. undo # this. unfortunately, this means we must modify "config.h" by hand. # - ULTRIX doesn't have strdup(3). work around this using a macro. # (some of the code does the right thing with HAVE_STRDUP and some # of it doesn't; this makes it hard to fix this cleanly.) # - for some reason, autoconf doesn't set HAVE_MEMCPY. thotlib # contains a macro workaround for this; this causes the prototypes # to produce syntax errors. work around this by setting HAVE_MEMCPY # by hand. # - ULTRIX has Motif libraries, but if we include /usr/include before # (the implicit) gcc-lib/include, we get the ULTRIX <stdarg.h> # instead of the gcc <stdarg.h>. this causes the va_* macros to # generate syntax errors. make sure nothing in the /usr/include # hierarchy is placed in the gcc command line! # - the ULTRIX /bin/sh has some crock that makes directory tests fail. # /bin/sh5 works, so use SHELL=/bin/sh5 in the Makefiles (via # Options). # - thotlib/dialogue/input.c tries to work around the fact that # libX11(KeyBind.o):XLookupString is slightly broken by defining its # own in thotlib/dialogue/lookup.c. problem: if you're using static # libraries instead of shared libraries, you can't link because you # need to pull in libX11(KeyBind.o) for other stuff that *isn't* # defined in thotlib/dialogue/lookup.c. ULTRIX doesn't have shared # libraries, so the problem always shows up. it will probably show # up on other platforms as well for static binaries. work around # this by adding a '#define XLookupString TtaXLookupString' to # input.c and '#if 0'ing the XLookupString in lookup.c. # - cpp is in /lib under ULTRIX, and darn few people have /lib in # their PATH. add this to the Makefiles (via Options). # - the definition of CFLAGS makes the 'configure' in libwww fail. # work around this by adding a shell script wrapper around # libwww/configure that clears CFLAGS. # ../configure \ --bindir=/usr/local/X11/bin --libdir=/usr/local/X11/lib \ --x-includes=/usr/sww/X11R6/include --x-libraries=/usr/sww/X11R6/lib \ --without-thot --with-amaya --disable-java --disable-plugin sed -e "s%^\(#define HAVE_MEMORY_H.*\)%/* \1 */%" < config.h > config.tmp mv config.tmp config.h sed \ -e "s/^\(CFLAGS =\) -g \(.*\)/\1 \2 '-Dstrdup(x)=(strcpy(malloc(strlen(x)+1),x))' -DHAVE_MEMCPY/" \ -e "s%^\(MOTIF_INCLUDES=\)-I/usr/include/X11%\1%" \ < Options.orig > Options echo 'SHELL=/bin/sh5' >> Options echo 'PATH:=${PATH}:/lib' >> Options fi -- Paul M. Aoki | University of California at Berkeley aoki@CS.Berkeley.EDU | Dept. of EECS, Computer Science Division #1776 | Berkeley, CA 94720-1776
Received on Wednesday, 2 July 1997 09:52:55 UTC