Whiteley Research Incorporated


Windows Installation
IC Design Software for Unix/Linux and Windows
Whiteley Research Inc., 456 Flora Vista Avenue, Sunnyvale CA 94086    wrcad.com
Microsoft Windows Installation, Updating, and Removal

Installation

The XicTools for Windows are supported on Windows 10. They should run on Windows 8.1 and maybe 8.0 and 7, but I have no hardware to test this, or to diagnose/fix any problems.

The programs retain the "look and feel" of the Linux versions as much as possible, given the constraints of the Windows operating system. The programs use the GTK-2 graphical interface toolkit, as used by the other releases. The GTK and other support libraries are now supplied by installing and running the programs under the MSYS2 environment, which must be installed. Previous releases used a "gtk2_bundle" to provide this support, which is no longer required. MSYS2 is a Linux-like environment similar to Cygwin.

The distribution files are self-extracting executable archives, as is common for Windows. Simply execute the file, and a familiar install wizard will appear, guiding you through the process. Executing the distribution file will either update an existing installation, or install a new installation. When updating, the previous release will be saved using the Safe Install format. The Safe Install feature, available with Windows starting with 4.3 releases, allows easy reversion to the earlier installation after an update, if needed.

However, Win32 packages will not be updated by MINGW packages, and may be installed in the same location, causing file conflicts.

WARNING
If you have Win32 XicTools programs installed, it is strongly recommended to manually uninstall the Win32 programs, including the gtk2_bundle before installing the MINGW packages.

Programs are uninstalled with the Settings (gear-shaped icon) in the Start window, select Apps and scroll down to the program to uninstall. Click on the program icon and follow directions to uninstall.

Registry Usage Warning

The programs use an entry in the Windows Registry to find their startup files, etc. This entry is created by the installer program. Thus:

  1. Never copy installation directories to a different location and expect things to work! They won't!

    The correct way to move an existing installation to another location is to uninstall the program, then reinstall to the new location using the standard distribution file. If you simply copy the files to a new location, the Registry won't be updated and the program won't run correctly.

  2. You can not simply copy files from another machine when creating a new installation. The files must be installed through the distribution (".exe") files, or the Registry entry won't be set.

Installation location

The programs are installed by default under C:\usr\local, which will be created if necessary. The structure of the tree is very similar to that under Linux, which simplifies compatibility. All executables will be found in C:\uer\local\xictools\bin.

Although the installation program allows the user to specify an alternative location for the installation, and an alternative name for the program group, life will be simpler if the defaults are selected. In particular, installing in a place like C:\Program Files, with the space-containing path, will provide a guaranteed migraine.

Installing MSYS2

Starting January 2021, all Windows binaries are 64-bit, compiled under the MINGW64 subsystem of MSYS2 (64-bit version).

Although it may be possible to run the programs from other MINGW64 installations, for example Cygwin, it is recommended MSYS2 be installed. This replaces the gtk_bundle package that was previously used to supply graphical interface dlls.

When installing MSYS2 and XicTools programs, you are strongly advised to install in the default locations if possible.

Go to www.msys2.org. Download and run the installer, and follow the directions. It is easy. When done, you will have a shell window on the screen. You should type the following commands to load some things you'll need.

pacman -S vim
pacman -S winpty
pacman -S mingw-w64-x86_64-gtk2
pacman -S mingw-w64-x86_64-gsl

This provides the vim editor, the winpty program described below, the GTK-2 libraries and dependencies, and the Gnu Scientific Library. These satisfy all references needed to run the XicTools programs.

Then, use the vim editor to edit the .bash_profile file that exists in the current (your home) directory. Add the following lines to the bottom of the file:

mount c:/usr/local/xictools /usr/local/xictools
export PATH="/usr/local/xictools/bin:$PATH"
export XT_HOMEDIR=c:/msys64/home/your_username
To run the programs in the future:
Click MSYS2 64bit in the Start menu, then MSYS2 MinGW x64 in the sub-menu. This brings up a shell window with the MinGW 64-bit support enabled. Note that there are multiple choices in the sub-menu so be sure to select the one specified, others may not work with the XicTools programs.

Take some time to learn about MSYS2 and MINGW64, particularly the pacman package manager. You can install lots of useful software that runs in this environment.

The mintty Terminal Emulator Window

The terminal window used in MSYS2 is "mintty". This does NOT work directly with native Windows programs that work with a console window, which includes the XicTools programs. One must run WRspice and possibly Xic with the "winpty" program. Just type winpty followed by the name and arguments of the program you want to run.

For example, the command to run WRspice is

winpty wrspice ...
where the ... represents the command line arguments to wrspice.

The winpty program performs some magic that enables native Windows programs expecting to find a cmd.com type of window to work with the mintty.

MSYS2 Basics

The environment is a bash shell and environment very similar to Linux.

You bring up a new shell window from the MSYS2 64bit / MSYS2 MinGW x64 entry of the Start menu. There are multiple selections for MSYS2 in the Start menu, including MSYS2 MinGW x86 which is the MINGW 32-bit subsystem, MSYS2 MinGW x64 is the MINGW 64-bit subsystem used for XicTools, and MSYS2 MSYS is the MSYS subsystem without MinGW support. MinGW is "minimal Gnu (for) Windows" and is a library that provides a limited Linux-like programming environment under Windows. The XicTools programs use this environment and are thus Windows-native programs.

MSYS2 uses an underlying dll to provide a more complete Linux-like environment, similar to Cygwin. Installed programs are available for all three subsystems, though the search order differs. The XicTools do not use the dll, but the MSYS2 environment is very convenient for use with the tools. The MSYS subsystem provides the shell and other Linux-emulation commands. The MinGW subsystems provide libraries which enable porting of Linux programs to native Windows.

From the shell window, the file system installed under c:\msys64 (or wherever the msys64 directory is installed) is taken as root. One can access the files and directories explicitly with a path starting with /c where the c can be any existing drive letter. Your home directory is /home/yourname, or equivalently /c/msys64/home/yourname.

It is important to realize that within MINGW and other native Windows programs including XicTools, the paths used by the programs are expected to be Windows paths, though they may use forward slashes. For example, in the shell /usr/local is rooted to the msys64 directory, but within Xic /usr/local is rooted to the current drive, e.g., c:/usr/local.

In MSYS2, the mount command can provide an alias between the file system as viewed from the shell and that of Windows. The command

mount c:/usr/local/xictools /usr/local/xictools
will map the Windows directory c:/usr/local/xictools to the location /usr/local/xictools in the shell. From a shell window, /usr/local/xictools is equjivalent to /c/usr/local/xictools, or in Windows c:/usr/local/xictools, the default Xictools installation location.

XicTools Installation procedure

The easiest way to install/upgrade is to download and execute the package files. The programs being upgrated should not be running during the update or the update will fail. The files can also be saved and executed at some later time.

Notes

Conformity

Most basic features are available under Windows. Some of the more advanced features are not.

  • There is no support for plug-ins, so presently no Tcl/Tk or Python script language support, and no OpenAccess connectivity.

  • There is no provision for remote running of the programs as with the X window system in Linux.

  • Windows does not provide a reliable interface for internet mail, so the email clients and crash-dump report in the XicTools may not work. The mail in XicTools works by passing the message to a Windows interface called "MAPI", which in turn relies on another installed program to actually send the mail.

    To get this working in Windows 8, I had to download and install something called "live mail" from Microsoft, which eventually worked. This app supports MAPI, apparently the Windows 8 Mail app does not(?). The Windows 8 app also does not work with POP3 servers.

Removal

Programs are uninstalled with the Settings (gear-shaped icon) in the StartApps and scroll down to the program to uninstall. Click on the program icon and follow directions to uninstall.

Updating

Once the Xic and WRspice have been installed, updating could not be simpler. See the program documentation:
  • In WRspice, give the commands "help passwd" and "help wrupdate".
  • In Xic, with the mouse pointer in the main drawing window, type "?!passwd" and "?!update"".
These help topics explain how to set up and use the update features. The programs will check for updates when started, and updates can be downloaded and installed. Other programs will have a simplified update checking/installing mechanism to be determined. The programs can also be updated manually by following the installation procedure.

Copyright © Whiteley Research Inc. 2017