=============================================================== Linux shared libraries for the Khoros 2.0.2 development release =============================================================== Wolfram Gloger (wmglo@dent.med.uni-muenchen.de) May 1995 INTRODUCTION The image processing system Khoros 2.0.2 ('K2') is now available for ftp as a 'developers release' (sources only) from ftp.khoros.unm.edu (and other sites, see comp.soft-sys.khoros for announcements). It will compile without changes on Linux, but take up more than 100MB of disk space when all binaries are statically linked (which is the default). I have added support for Linux a.out shared libraries for the 'bootstrap', 'data services' and 'design' toolboxes in K2.0.2. Adding jump files etc. for the other toolboxes seems like a waste of time to me, since the saving in binary disk usage would be minimal. *** Important: *** This patch set is _not_ for compiling ELF shared libs. I will look at ELF as soon as stable gcc-elf and XFree86-elf packages are available. It should be almost trivial. CHANGES COMPARED TO THE PREVIOUS VERSION I had to edit the jump.* DLL config files for new symbols and to remove no-longer existent ones. In doing so I definitely broke backward compatibility with the 2.0.1 libraries. WHAT AND WHERE TO GET - COPYRIGHT ISSUES khoros2.0.2-linux.tar.gz at sunsite.unc.edu:pub/Linux/incoming (now) pub/Linux/X11/xapps (later) tsx-11.mit.edu:pub/Linux/ports (hopefully soon) ftp.khoros.unm.edu:pub/khoros/contrib/ports (maybe) ftp.e20.physik.tu-muenchen.de:pub/K2 (probably soon) ftp.lrz-muenchen.de:/local/khoros/khoros-2.0/khoros-2.0/contrib/ports (probably soon) Khoros 2.0 comes with its own license. My patches are copyrighted and freely distributable according to the GNU public license. In particular, I assume no responsibility of any kind as to the functionality of K2 compiled with these patches. I used gcc 2.5.8, flex 2.4.7 and BSD yacc 1.8 (?) to compile. I have XFree86 2.1.1, but version 3.x should work just as well. (Don't forget to change X11LibDir and X11LibDir_ in Site.linux appropriately, for /usr/X11R6/lib.) To create Linux a.out DLLs, please get and install the a.out DLL tools 2.16 or later, e.g. from tsx-11.mit.edu:pub/linux/packages/GCC/src/tools-2.17.tar.gz. Earlier versions than 2.16 have bugs that may cause problems with K2. HOW TO APPLY THE PATCH First unpack Khoros as described in the 'release/install' file found on K2 ftp servers. Unpack khoros2.0.2-linux.tar.gz, e.g. in the K2 home directory. This will create a 'linux' directory. Before running bin/installit, go to the Khoros 2.0.2 home directory and apply the patch with: % KHOROS_HOME=/your/path/to/K2; export KHOROS_HOME % cd $KHOROS_HOME % patch -p0 < .../linux/patch.Linux % tar xvf .../linux/jump.tar HOW TO INSTALL TOOLBOXES As described in the K2 docs, % PATH=$KHOROS_HOME:$PATH % installit should compile the bootstrap toolbox, which is really the base of the system. For the other toolboxes and their installation, see the K2 docs. One _important_ thing if you want to compile additional toolboxes that are not part of khoros-2.0.2.tar.gz itself -- you have to add the following four lines at the end of /path/to/toolbox/repos/config/imake_conf/toolbox.def (just before the #endif /* _toolbox_def_ */ line !): #ifdef LinuxSharedLibraries #undef CreateKhorosSharedLibraries #define CreateKhorosSharedLibraries NO #endif /* LinuxSharedLibraries */ Good luck with Khoros, Wolfram.