This file describes problems found in Shore version 0.9.3 since
its release.

* The file mnt.linux is missing from the source release.  This is
  necessary for Linux users that want to NFS mount the Shore filesystem.
  A copy of mnt.linux is in this directory.

* The Linux server must be compiled with -O, because there are no
	(non-inline versions of) htonl(), et. al. in the gcc libraries.

* When compiling wiht gcc-2.6.2 (we did it on SunOS 4.1.3) we get
  an internal compiler error from src/vas/server/svas_layer.h
  To workaround this, replace these two lines in svas_layer.h:
    void                catastrophic(const char *, w_rc_t & = RCOK);
    void                logmessage(const char *, w_rc_t & = RCOK);

  with:
    void                catastrophic(const char *, w_rc_t & );
    void                catastrophic(const char * c) {catastrophic(c, RCOK);}
    void                logmessage(const char *, w_rc_t &);
    void                logmessage(const char * c) {logmessage(c, RCOK);}

  Also, to link using gcc-2.6.2, you must edit config/Project.tmpl.
  Change the line
	CPLUSLIB =  -lg++ -lstdc++
  to
	CPLUSLIB =  -lg++

* When linking wiht gcc-2.6.3/libg++2.6.1  on SunOS 4.1.2, you must link your
	applications with:
		-lg++ -lshore -liostream -liberty


* There is a memory leak involving appending to SDL strings.
  This can show up, for example, if you run the stree example with
  large documents.
  The fix is a one-line change:
	in source file sdl_string.C,  add the line

        free_it = 1;

	after line 41 at the end of the member fct
	sdl_heap_base::__extend_space.



* The manual page for pools pool(oc) is incorrect in its directions
  for creating a pool.  Do not use new_persistent; there is no such
  function for Pool.  Instead, use Ref<Pool>::create(path,mode,pool&).

* One user has run into a bug in cpp, which causes the class
  definitions generated by SDL to be turned into garbage (SDL
  generates macros that are expanded during compilation). This
  also (in one case) causes g++ to get a segmentation fault.
  Unfortunately, we haven't been able to reproduce this problem,
  so we've got no work-around at the moment.

* If manual indexes and bidirectional relationships are used in 
  the same SDL interface description, a bug in the SDL compiler
  will cause problems during the maintenance of the bidirectional
  relationships, if the index attribute precedes the relationships
  in the object.  You can get around the problem by putting your
  manual index attributes at the end of the interface description.

* In the unlikely event that you run into an assertion failure in sthread.c
  when you build something with a debugging server, apply the following
  patch to your sources and rebuild the debugging installation and re-link your server.
  The problem file is src/sthread/sthread.c.  End the patch below 
  by entering <ctrl-D>:

  cat - | patch sthread.c
  2712a2713
  >       if(head[i]==0) tail[i] = 0;
  2772a2774
  >                   if(head[i]==0) tail[i] = 0;

* To make the grid server, you need to do the following in
  examples/vas/grid:

  cat - | patch rpc_thread.h
  7a8,9
  > #include "ShoreConfig.h"
  > 

  and re-make using a makefile generated from Makefile.template.
  After applying this patch, you will not be able to make using the
  imake-generated Makefile unless you add a file to the grid/ directory
  called ShoreConfig, and is should be a copy of your installed 
  include/ShoreConfig (from wherever Shore was installed).  
  (Instructions for making the example don't call for using the imake-
  generated Makefile, so don't worry about this.) 

