163 lines
		
	
	
		
			5.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			163 lines
		
	
	
		
			5.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
$Id$
 | 
						|
 | 
						|
Sun-3 and Sun-4, SunOS 4.1
 | 
						|
 | 
						|
   o  Tested with /bin/cc, various gcc versions, and with the Sun
 | 
						|
      SPARCompiler 2.0.1 (acc).
 | 
						|
 | 
						|
   o  For compiling Elk with gcc and the generational garbage collector,
 | 
						|
      see the remark in the file BUGS.
 | 
						|
 | 
						|
 | 
						|
Sun-4, SunOS 5.2 (Solaris 2.2)
 | 
						|
 | 
						|
   o  Tested with various gcc versions and with ANSI SPARCompiler 2.0.1.
 | 
						|
      If you have gcc, however, you should use it rather than the Sun
 | 
						|
      compiler.  gcc produces much faster code.
 | 
						|
 | 
						|
   o  The Motif extension has been tested with both vanilla OSF Motif 1.2
 | 
						|
      as well as Sun's version of Motif (which usually lives in /usr/dt).
 | 
						|
      The X11 extensions have been tested with OpenWindows in addition
 | 
						|
      to X Consortium X11R6.
 | 
						|
 | 
						|
   o  Certain versions of gcc complain about syntax errors in code that
 | 
						|
      uses sigset_t (from <signal.h>), although this should not happen
 | 
						|
      unless -ansi is given.  A possible fix is to add add -D__STDC__=0
 | 
						|
      to the cflags in the config file.
 | 
						|
 | 
						|
 | 
						|
DECstation 5100, Ultrix 4.2
 | 
						|
 | 
						|
   o  Prototypes have been disabled in the config file, as cc has trouble
 | 
						|
      with certain forms of prototype declarations (this looks like a bug).
 | 
						|
 | 
						|
   o  The LDFLAGS "-Wl,-D,800000" are required for dynamic loading to work.
 | 
						|
 | 
						|
   o  You have to create "-G 0" versions of all X libraries to be able to
 | 
						|
      dynamically load the X11 extensions of Elk (the MIPS linker requires
 | 
						|
      this).
 | 
						|
 | 
						|
 | 
						|
DEC/Alpha, OSF/1
 | 
						|
 | 
						|
   o  This platform uses ELF and the dlopen()-style linker interface.
 | 
						|
 | 
						|
 | 
						|
SGI IRIS Indy, Irix 5.3
 | 
						|
 | 
						|
   o  examples/unix/calc.scm doesn't work, because /usr/bin/dc uses
 | 
						|
      buffered output if stdout is not a terminal.
 | 
						|
 | 
						|
   o  For Irix 5.2, -lSM and -lICE must be removed from the libx*
 | 
						|
      definitions in config/site (the X11 version seems to be X11R5).
 | 
						|
 | 
						|
 | 
						|
HP 9000/700, HP-UX 9.0 and HP-UX 10.0
 | 
						|
 | 
						|
   o  Dynamic loading is based on the shl_load() interface to the dynamic
 | 
						|
      linker of HP-UX.  If you are writing your own extensions, compile
 | 
						|
      them with the option +z and use $install_dir/lib/makedl to link them.
 | 
						|
      The load-libraries are simply shl_loaded before the files passed to
 | 
						|
      the "load" primitives.  Each load-library is only loaded once.
 | 
						|
 | 
						|
   o  wait3 has been set to `no' in the system file, because this function
 | 
						|
      has a non-standard third argument in HP-UX 9.0.
 | 
						|
 | 
						|
   o  HP-UX 10 does have a stack-extending alloca() (in contrast to
 | 
						|
      HP-UX 9.0), but it has a serious bug and therefore is not used
 | 
						|
      by Elk (the function overwrites its argument if it is a register
 | 
						|
      variable).
 | 
						|
 | 
						|
   o  The incremental garbage collector doesn't work (see the file BUGS).
 | 
						|
 | 
						|
   o  The Athena widgets are not included with HP-UX 9.0.
 | 
						|
 | 
						|
 | 
						|
IBM RS/6000, AIX 3.2
 | 
						|
 | 
						|
   o  Dynamic loading does not work.  It is not clear whether the dynamic
 | 
						|
      loading semantics of Elk can be implemented with the dynamic linker
 | 
						|
      interface of AIX at all.
 | 
						|
 | 
						|
 | 
						|
PowerPC, AIX 4.1 (xlc and gcc)
 | 
						|
 | 
						|
   o  No dynamic loading.
 | 
						|
 | 
						|
   o  The incremental garbage collector doesn't work (see the file BUGS).
 | 
						|
 | 
						|
 | 
						|
NeXT workstation, MACH/NeXT-OS 3.3
 | 
						|
 | 
						|
   o  Dynamic loading is implemented by means of the rld_load() library
 | 
						|
      function.  Due to what looks like a bug in rld_load(), it only
 | 
						|
      works sometimes.  In particular, it is not possible to load the
 | 
						|
      UNIX extension.
 | 
						|
 | 
						|
      The source of the problem seems to be that sometimes the string table
 | 
						|
      of the newly loaded object file gets truncated when being mapped into
 | 
						|
      memory by rld_load().  You can observe the problem by inserting a
 | 
						|
      statement like "write(1, strtab, sym_cmd->strsize);" right after
 | 
						|
      the line beginning with "strtab =" in src/stab-macho.c.
 | 
						|
 | 
						|
   o  Linking extensions statically with the interpreter doesn't work
 | 
						|
      either; there are no symbols in the symbol table when it is read
 | 
						|
      on startup of the executable.  This seems to be related to the
 | 
						|
      bug described above.
 | 
						|
      
 | 
						|
      These two problems render Elk virtually unusable on the NeXT.
 | 
						|
 | 
						|
 | 
						|
386/486-PC, Linux 1.2.8
 | 
						|
 | 
						|
   o  examples/unix/calc.scm doesn't work, because /usr/bin/dc uses
 | 
						|
      buffered output if stdout is not a terminal.
 | 
						|
 | 
						|
 | 
						|
386/486-PC, 32-bit gcc (DJGPP) and `go32' DOS extender
 | 
						|
 | 
						|
    o  Elk 3.0 has not been tested on this platform.
 | 
						|
 | 
						|
    o  As the typical DOS machine doesn't have a fully functional UNIX
 | 
						|
       shell, sed, etc., you have to cross-localize the source tree on a
 | 
						|
       UNIX machine (i.e. create all the localized Makefiles, create
 | 
						|
       include/config.h, etc.).  To do so, just copy the DOS config file
 | 
						|
       to config/system (or make a link), edit config/site, and call
 | 
						|
 | 
						|
          make localized.zip
 | 
						|
 | 
						|
       This cleans the source tree, performs the necessary localizations,
 | 
						|
       and packages a minimal distribution into a zip file.  You can
 | 
						|
       then FTP the zip file to the DOS machine and run `make' there.
 | 
						|
       The zip file basically contains the interpreter sources, the Scheme
 | 
						|
       files needed at runtime, the extensions in lib/misc, and the
 | 
						|
       localized Makefiles and include files.
 | 
						|
 | 
						|
 | 
						|
X Window System
 | 
						|
 | 
						|
   o  You need either X11R4, X11R5, X11R6, or (on Suns) OpenWindows 3.x to
 | 
						|
      use the Elk/X11 extensions.  The current release of Elk has been
 | 
						|
      tested with X11R6 and OpenWindows.
 | 
						|
 | 
						|
      If you are still running X11R4, edit the file lib/xaw/build and
 | 
						|
      remove the lines referring to the Athena widgets that are new in
 | 
						|
      X11R5 (panner, porthole, repeater, and tree).
 | 
						|
 | 
						|
      If you are running X11R5 or older, you may want to edit lib/xaw/build
 | 
						|
      and add lines for the `clock' widget.  Also, remove -lSM and -lICE
 | 
						|
      from the definitions in config/site.  examples/xaw/porthole.scm
 | 
						|
      and examples/xaw/viewport.scm don't work with X11R6, as they are
 | 
						|
      using the clock widget which doesn't exist any longer.
 | 
						|
 | 
						|
 | 
						|
Motif Widgets
 | 
						|
 | 
						|
   o  You need at least Motif 1.1 to use the Elk/Motif extension.
 | 
						|
      The current release of Elk has been tested with OSF/Motif 1.2
 | 
						|
      and, under Solaris 2.4, with Sun Motif (/usr/dt).
 | 
						|
 | 
						|
      Make sure that X11 has been compiled with the symbol MotifBC set
 | 
						|
      to YES in site.def.
 | 
						|
 |