Welcome to ILU 2.0 Alpha 8 for WIN 32. Notes in this file pertain to the binary distribution for Windows, and building Windows versions from the source distribution. As of this release, we are no longer including WIN16 libraries, as WIN16 support has been suspended. See the end of this document for more details about this. More examples are buildable under Windows. Besides TEST1 and TIMEIT, TEST2, HTTEST and IIOPTEST1 are now supported. This release also includes the first attempts at Python support under Windows. Please see the notes at the end of this file for important info about this! Besides the libraries, the binary distribution also contains the ILU manual in HTML and Postscript format. The Postscript version can be viewed and printed with Ghostscript. If you have any problems to report, please send e-mail to ilu-bugs@parc.xerox.com. Here are some VERY important notes to remember. These steps are documented in the ILU manual, but there are repeated here because 1) no one ever reads the manual ;), and 2) almost every problem encountered with ILU on Windows is because these steps aren't followed. 1) Before building any of the examples, you MUST run the stubbers or the make process will abort with "don't know how to make timeit-surrogate.c" (or some other .c file). For example, to build timeit, type: c-stubber timeit.isl before using nmake to build timeit.exe. Similarly, for test1, type c-stubber test1.isl test2.isl test3.isl (to generate C stubs for the C version) c++-stubber test1.isl test2.isl test3.isl (to generate C++ stubs for the C++ version) Obviously, if you are only going to build the C version of test1, you don't need to run the C++ stubber. 2) However, BEFORE running the stubbers, you need to set some environment variables, or the stubbers won't be able to find some necessary files. Here are the variables and their values (assuming ILU is installed on D:\ILUWIN20): set PATH=d:\iluwin20\bin;%PATH% set INCLUDE=d:\iluwin20\include;%INCLUDE% set LIB=d:\iluwin20\lib;%LIB% set ILUPATH=.;d:\iluwin20\interfaces set ILU_BINDING_DIRECTORY=d:\iluwin20\bindings ILUPATH is used by the stubbers to locate .ISL files that are referenced. The "." ensures that the current directory is searched. Also, note that PREVIOUS READ.ME FILES FOR ILU HAD A TYPO IN THE ABOVE SETTINGS (ILU_PATH instead of ILUPATH). ILU_BINDING_DIRECTORY is used to allow clients and servers to find each other. If it is not set, then the default value (\ilu\interfaces) is used, which is probably not right for your machine. Set it to a directory you know exists; failure to do so will cause "Unable to publish object" errors, or clients that can't find servers, even though the server says it is ok. Most importantly, make sure both the client and server can see the value; set it globally, or set it in both sessions before executing each program. 3) If you build and execute the examples and they just don't work, try setting ILU_DEBUG=ALL or ILU_DEBUG=most. You'll get a LOT of output, and in that output is the reason the example isn't working. See the ILU manual for detailed explanations of all this. Addendum #1: WIN16 libraries. We are no longer including the WIN16 libraries for ILU. This is due to Windows 3.1 having a limited address capability. Specifically, ILU assumes that it can work with data items of an arbitrary size, and this is not true for the segmented addressing that Windows 3.1 presents to you. You can certainly build ILU for WIN16, and build applications that run, but if you ever cause an "overflow" in a data object, your world will collapse (or, at least, your program will die). If you really need to execute ILU programs under Windows 3.1, it is recommended that you use the 32-bit version of ILU along with Win32s. Addendum #2: make clean doesn't work under Win95. The way our makefiles perform a "make clean" uses a command/option combination that will not work under Windows 95; it only works on Windows NT. Addendum #3: Python support. This release of ILU supports the new version of Python 1.3 that has been released for Windows. However, by default, the Python/ILU runtime support is NOT built when building from the source distribution. Instead, you will get a message informing you that you need certain files before you can build the Python/ILU DLL. Specifically, here's what you need to do: Assuming we don't have Python at all on the machine. 1: Obtain Python Binary distribution from http://www.python.org/ftp/python/pythonwin/pythonwin-09-6.exe 2. Install Python Binary distribution. Install directory I used is E:\Python1.3 3. Make the directory e:\PythonSRC 4. Either A. Obtain just the the necessary files (win32_ilu_python_src.zip) from the ilu pages and put them into e:\PythonSRC OR B. Do it from scratch as follows: 1. Download the Unix sources from http://www.python.org/ftp/python/src/python1.3.tar.gz into e:\PythonSRC. 2. Change directory to e:\PythonSRC 3. Run gzip -d python1.3.tar.gz 4. Run tar -xf python1_3_tar You should now have a directory E:\PythonSRC\Python-1.3 containing the unix sources. 5. Download the Windows sources from http://www.python.org/ftp/python/pythonwin/pythonwin-src-09-5.zip and unzip this directly on top of the unix sources - i.e. extract (with overwrite existing files on) to E:\PythonSRC\Python-1.3. 6. Download MORE Windows sources from http://www.python.org/ftp/python/pythonwin/python-src-130-2.zip and unzip this directly on top of the unix sources - i.e. extract (with overwrite existing files on) to E:\PythonSRC\Python-1.3. 7. Download the Windows library files Windows from http://www.python.org/ftp/python/pythonwin/python-libs-09-5.zip and unzip this directly on top of the unix sources \lib directory - i.e. extract (with overwrite existing files on) to E:\PythonSRC\Python-1.3\lib 8. Copy the file Pythonc.lib into E:\PythonSRC\Python-1.3\lib. [Pythonc.lib is a library that results from building python that is not part of the regular python binary distributions. You can obtain it prebuilt from the ilu pages] 5. Go to ILUSRC\runtime\python and comment out the line in the makefile to allow the build of the runtime. 6. set PYTHONSRC=E:\PythonSRC\Python-1.3 7. If you DON'T want thread support in Python, remove or comment out the line #define ILU_PYTHON_THREADS 1 from the file ILUSRC\runtime\python\pythonversion.win 8. Make ILU - you should now have the file iluPr.pyd in the appropriate build subdirectory of ILUSRC\runtime\python. 9. Make Install ilu - This will copy the *.py files in ILUSRC\runtime\python to ILUHOME\lib. Be sure to put \ILUHOME\lib on yout on your PYTHONPATH. 10. Whew! -- Enjoy. You can run several of the Python examples from ILU (the Python versions of Test1 and Bank work; Reconnect needs one change to work; change "import socket" to "import _socket"). The Python support under Windows hasn't been tested thoroughly. If you find any problems, please send us e-mail! Addendum #4 The ilu binding service (in ILUSRC/etc/sbserver) is not yet built/supported under Windows.