Whiteley Research Inc., 456 Flora Vista Avenue, Sunnyvale CA 94086 www.wrcad.com
It is well known that OS X is built using the core of FreeBSD. Lurking beneath the pretty graphics is a skeletal Unix-like operating system, including support for X-Windows. Most of the open-source software developed for Linux/FreeBSD has been ported to OS X, so for the Unix fans (like me), the operating system can look like Unix with a great graphical interface that also runs Macintosh applications. Overall, OS X is a very impressive desktop operating system.
Ports for OS X release 10.4 and later of all programs are available in the distribution area under the "Darwin" subdirectory. These are "universal" binaries, meaning that they will run on either Intel or PowerPC Macs.
The programs require that the X-windows server be running, as X is used for graphics. This package may have to be installed from the OS X CD, if it is not already installed on the hard drive.
Operation and behavior are itentical to the Unix/Linux versions of the programs. However, there is one subtle difference: the internal low-level memory management system can't be used in OS X, so Xic and WRspice use the system memory allocator, and not the built-in memory allocator. This means that memory usage statistics are not as readily available, built-in memory diagnostics are not available, error checking and recording are not as complete, and the performance for extremely large data sets is unknown. In general use, this should not be visible to the user, however.
Otherwise, the ports are direct compilations of the Unix/Linux releases under OX X, and behave in the same way as under Unix/Linux. There are no OS X or Mac-specific enhancements at this point.
InstallationThe installation procedure is pretty much the same as under Unix/Linux. As under Unix/Linux (but not Windows) the Xic and WRspice programs can make use of a separate license server, and all of the workgroup configuration options apply. Similarly, due to the X-Windows support, graphical operation from remote OS X systems is possible, unlike under Windows.
The programs are installed by default under /usr/local, and it is recommended that this default be chosen. In order for the install to be successful, the user must have write permission to this location. That means that the user must have root permission.
If a root password has been defined, the user can use "su" to become root as in Unix/Linux. Otherwise, there is a "sudo" command that can be issued which provides temporary root privileges to certain pre-designated users. From a command line, one can use sudo to execute commands that require root privileges. The user is asked for their password, and the command is executed if the password is accepted.
The sudo command is built into the wr_install script, so that users should not need to become root explicitly to perform updates. To edit configuration files in the installation, root access is needed. The sudo command can be used to start the license server.
The package distribution files are tarred/gzipped Apple packages. Apple packages are actually directories, but look like files in the Finder. As an alternative to using wr_install, one can unpack the package and use Apple's installer (click on the listing icon in the Finder).
Un-InstallationThe OS X package system does not provide an uninstall function, and overall is quite a bit less capable than the package management systems in supported Unix/Linux systems.
Thus, upgrades will always directly overwrite an existing installation; it is not cleared first as under Unix/Linux. This should not be a problem, though.
To uninstall, the files must be removed manually. In addition, be sure to remove the corresponding entry in /Library/Receipts.
Running the ApplicationsIt is assumed that the user will be initiating the applications from a terminal window, as under Unix/Linux. The directory containing the binaries should be in the search path. Then, all executables will be found by name. Operation is the same as under Unix/Linux.
The X-Windows server must be running for successful execution of the programs that use graphics.