------------ | WINDOWS-95 | ------------ Why several applications in Windows-95 XOP do not work ====================================================== In the Windows-95 XOP version, the applications which spawn other programs (i.e., ws, mlayer, etc) may not work. When choosing "Show Results" there is a message showing that the data file doesn't exist and that the "Set Parameters" should be used first. XOP spawns a DOS shell for running many of its applications and in the spawned process, some environment variables are defined and the PATH variable is extended. This is done by running the c:\xop\setxoprc.bat file. However, sometimes the DOS shell is unable to load the variables and the following message displayed: Out of environment space. You can verify this by using the XOP|Tools|IDL Macro and enter the command "spawn" in the created window. When exiting from the window (with the "accept changes" option) a DOS shell will be created. There should be an error message because the necessary c:\xop\bin.x86 directory was not in the PATH (check by typing "echo %PATH%" at the prompt). To correct this problem, one of the two following solutions can be used: 1) Edit the c:\xop\setxoprc.bat file and define the PATH to only include the c:\xop\bin.x86 directory: rem this is needed to run XOP applications when idl spawn a process SET XOP_HOME=c:\xop rem SET PATH=%XOP_HOME%\bin.x86;%PATH% SET PATH=c:\xop\bin.x86 2) Modify the config.sys file and add (or edit) the shell command: shell=c:\windows\command.com /p /e:1024 Restart the computer (the mumber 1024 can be anything from 160 (default) to 32768 in MS-DOS version 3.2 and later). Windows-95 XOP do not start its main window =========================================== The IDL runtime application, which is distributed with XOP, needs a set of DLL files and all necessary files should have been provided (the XOP distribution was built following the instructions in the IDL runtime guide from RSI). Apparently there are missing DLL files and XOP will not start unless these files are on your system already. If this happens, do the following: Double-click on the IDL runtime icon c:\xop\idl_5\idlrt and record the missing DLL files. Install the missing files in the c:\windows\system directory and restart the IDL runtime application. The IDL startup banner with the three buttons "Demo", "License", and "Exit" should now appear on the screen. Click "Exit" and restart XOP (keep installing DLL files until the IDL banner appears correctly on the screen). NOTE: It is known to us that the error message "Out of memory" is related to missing DLL files. In particular we know that the file ODBCCP32.DLL is missing. However, installing this file causes another error message upon startup: "The ODBCCP32.DLL file cannot start. Check the file to determine the problem". This in turn is due to yet another missing file: ODBCINT.DLL. We have made both files available in the dll subdirectory. Please download them (in binary), install them in the c:\windows\system directory, and restart XOP. If you do not have access to some other missing DLL files, contact srio@esrf.fr. ------------ | WINDOWS-NT | ------------ Why several applications in Windows-NT XOP do not work ====================================================== In the Windows-NT XOP version, the applications which spawn other programs (i.e., ws, mlayer, etc) do not work. When choosing "Show Results" there is a message showing that the data file doesn't exist and that the "Set Parameters" should be used first. This is due to a bug in XOP which fails to correctly define the PATH environment variable for spawned processes. This bug will be fixed in the next release of XOP. In the meantime, we recommend to do the following: 1. Define the environmental variable XOP_HOME to your installation directory of XOP, e.g., set XOP_HOME=C:\xop 2. Extend the PATH to include the "binary" subdirectory of XOP_HOME, e.g., set PATH=%PATH%;C:\xop\bin.x86 The easiest way to do this is to use the Control Panel|System|Environment Tab. You can put them in either as System Variables (need system privilege => new variables will be available for all users: put the C:\xop\bin.x86 at the end of the previously defined PATH variable), or as User Variables for xxxx. I used the User Variables for my tests, and they worked fine. Note, when you define the User Variable PATH it will be automatically appended to the System Variable PATH, thus effectively extending the PATH (as we want to). Then logout and login in again. To check that you indeed got the correct definitions, open an MS-DOS window and type "set" at the command prompt -- it will list all the environmental variables. Start XOP from the Programs Menu|xop|xop1.9e and close the c:\xop\ifc\announce.txt window when you've read it (if you don't close it, the programs will not run: bug again that will be fixed). ------ | UNIX | ------ Why several applications do not work when starting XOP from ksh or sh ===================================================================== Due to a bug, XOP fails to spawn processes when it is started from the ksh (or sh). The reason is the following: When XOP spawns a process to run an external program it uses the command: IDL>spawn,'source $XOP_RC; program < program.inp' where "source $XOP_RC" extends the path using the script to which $XOP_RC points to. When IDL spawns a process it uses the shell defined in the variable $SHELL. When using ksh (sh), the spawned shell is kshell (shell), thus the "source" is unknown, then it fails to extend the PATH. This bug will be fixed in the next XOP version. In the meantime, the xop main script should be modified to define the SHELL environment variable to /bin/csh: SHELL=/bin/csh export SHELL In this way the spawned shell will be csh and everything will work fine.