The TinyCOBOL Project: The TinyCOBOL project is a COBOL compiler being actively developed by members of the free software community. The long term goal is to produce a COBOL compiler which is 'COBOL 85 standard' compliant, or at least as close as reasonably possible. TinyCOBOL supports the IA32 (x86) architecture and the following platforms. - FreeBSD using the GCC compiler. - Linux using the GCC compiler. - Win32 using the GCC MinGW (Mingw32) compiler. - Win32 using the GCC Cygwin compiler and POSIX emulation layer. ------------------------------------------------------------------------------- BUILD AND INSTALL INSTRUCTIONS: See INSTALL for Linux and BSD build, install instructions. See INSTALL.bin for Linux binary install instructions. See INSTALL.Win32 for Win32 systems build, install instructions. For Record Locking on Indexed IO, follow these steps - Use the option --enable-lockserv in configure script. - Use the option --enable-sync if you want to ensure muliple users all see the same data. It will run much slower as every write will be forced to disk. - Compile the Lockserver in the lockserver directory using the supplied Makefile. ex: $ cd lockserver $ make $ make install - Run the Lockserver process. (You can use ./lockserver -d for debugging) - Build the Compiler as Normal. Notes about lockserver: 1). To start the lockserver. cd Then run the following command as root $ ./lockserver 2). To debug the lockserver process use the "-d" switch $ ./lockserver -d This way, lockserver will not start as a daemon and will display all output on the screen. 3). To stop the lockserver in debug mode press Control-C. To stop the Lockserver in Daemon mode first get the pid. Use the -SIGINT signal to shut it down gracefully. $ kill -2 remove the .lf file in the Lockserver Home is it exists. Notes about the Behavior of Locking in TC: On All Indexed IO ALWAYS check the FILE STATUS to make sure your IO was successfull. If a Record was locked it will return FILE STATUS 51. You will need to repeat your IO until the FILE Status is NOT 51 (Failure to have Recovery/Repeat Code will render the Results of your IO to be Undefined and Unexpected results). If one of your programs crashes all the locks it had will still be defined. In order to clear this Stop the Lockserver and remove the lockdump and .lf files if they exist in /usr/local/lockserver. Then restart the Lockserver. We plan to add code to Ignore a lock on records of programs that have crashed. WARNING Once you turn on Locking your programs will not run unless the Lockserver process is running. To lock a Record use:- READ ... WITH LOCK To Read a Record Ignoring Locking use:- READ ... WITH IGNORE LOCK To Unlock a Record use:- REWRITE .... UNLOCK or DELETE the record. ------------------------------------------------------------------------------- LINKS: Home pages: http://tiny-cobol.sourceforge.net/ http://www.tinycobol.org/ http://br.tinycobol.org/ Download: http://tiny-cobol.sourceforge.net/download.html http://www.ibiblio.org/pub/Linux/devel/lang/cobol/ http://br.tinycobol.org/download.html Mailing lists: http://lists.sourceforge.net/mailman/listinfo/tiny-cobol-users http://listas.cipsga.org.br/cgi-bin/mailman/listinfo/cobol-br Mailing list archives: http://www.geocrawler.com/redir-sf.php3?list=tiny-cobol-users http://listas.cipsga.org.br/pipermail/cobol-br/ Old mailing list archives: http://www.egroups.com/group/gnucobol/ ------------------------------------------------------------------------------- HOW TO DOWNLOAD A SOURCE SNAPSHOT FROM CVS: If you have CVS installed on your system, TinyCOBOL's CVS version can be checked out via the anonymous CVS (pserver) server, using the following commands. - cvs -d:pserver:anonymous@cvs.tiny-cobol.sourceforge.net:/cvsroot/tiny-cobol login - When prompted for a password for anonymous, simply press the Enter key. - cvs -d:pserver:anonymous@cvs.tiny-cobol.sourceforge.net:/cvsroot/tiny-cobol co development - The module you wish to check out must be specified as the module-name (development).