MKS Toolkit Release
MKS Software Inc.
12701 Fair Lakes Circle, Suite 350
Fairfax VA 22033-3831 USA
MKS Toolkit 7.0.1
Introducing Toolkit 7.0
Hardware and Software Requirements
Installing Your MKS Toolkit Product
Uninstalling Your MKS Toolkit Product
New Features in Toolkit 7.0
Additional MKS Toolkit Resources
Problems Fixed in MKS Toolkit Release 7.0.1
Problems Fixed in MKS Toolkit 7.0 Patch 1
Problems Fixed in MKS Toolkit Release 7.0
MKS Toolkit 7.0.1
MKS Toolkit 7.0.1 is an updated version of MKS Toolkit 7.0 with the following improvements:
MKS Toolkit 7.0 is the result of merging our MKS Toolkit 6.x and MKS NuTCRACKER Professional 4.x products, along with the addition of several new features. In addition, the award-winning MKS Toolkit general-purpose product has become five different products, each designed to serve the needs of a different user community.
The MKS Toolkit products are as follows, in order of fewest features to most features. With minor exceptions, each subsequent product contains all the features of its predecessor.
For convenience, the following abbreviations are used in these release notes:
TKSA -- MKS Toolkit for System Administrators
TKDev -- MKS Toolkit for Developers
TKIO -- MKS Toolkit for Interoperability
TKPDev -- MKS Toolkit for Professional Developers
TKEDev -- MKS Toolkit for Enterprise Developers
The following table summarizes the features available in each of the MKS Toolkit products.
|Shells and scripting utilities||Yes||Yes||Yes||Yes||Yes|
|System administration utilities||Yes||Yes||Yes||Yes||Yes|
|Client-side remote utilities||Yes||Yes||Yes||Yes||Yes|
|Software development utilities||Yes||Yes||Yes||Yes|
|Web development utilities||Yes||Yes||Yes||Yes|
|Server-side remote services||Yes||Yes||Yes||Yes||Yes|
|Telnet client and server||Yes||Yes|
|Advanced development utilities||Yes||Yes|
|Non-graphical UNIX APIs||Yes||Yes|
|X, Motif, OpenGL||Yes|
For more information about the specific contents and features of each product, refer to the MKS Toolkit Product Overview and Solutions Guide, included with your MKS Toolkit product in both hardcopy and on-line versions.
MKS Toolkit products run only on Windows on Intel 32-bit processors.
All MKS Toolkit products will install on Windows 95, Windows 98, Windows NT 4.0 (Workstation, Server, or Terminal Server) with Service Pack 4+, and Windows 2000 (Professional, Server, or Advanced Server). Applications migrated with either MKS Toolkit for Professional Developers or for Enterprise Developers will run on any of these platforms.
There are limitations for Windows 95 and Windows 98. Many MKS Toolkit utilities are Windows NT- or Windows 2000-specific. These are clearly documented on the reference pages. Additionally, the SLNet Telnet Server (provided in MKS Toolkit for Interoperability and MKS Toolkit for Enterprise Developers) only runs on Windows NT/2000. In addition, because of the lack of certain OS features on Windows 95 and Windows 98, certain of the MKS Toolkit UNIX APIs run in degraded mode (or return without doing anything) on those platforms. These are discussed in the MKS Toolkit Cross-Platform Developer's Guide and in great detail in the documentation for each API.
The development products work with Microsoft Visual C++ versions 5.0 and 6.0. Both MKS Toolkit for Professional Developers and for Enterprise Developers support both versions of the Standard Template Library. In addition, they both support the Absoft Pro Fortran f90/f77 compiler, versions 5.0 and 6.0 (http://www.absoft.com/).
The typical disk space requirements are:
|MKS Toolkit for System Administrators||67M|
|MKS Toolkit for Developers||73M|
|MKS Toolkit for Interoperability||100M|
|MKS Toolkit for Professional Developers||115M|
|MKS Toolkit for Enterprise Developers||210M|
MKS Toolkit products do not have any particular hardware requirements. Any machine that is sufficient to run the underlying operating system is sufficient to run any MKS Toolkit product.
MKS Toolkit Product
Note: To install either MKS Toolkit for Professional Developers or for Enterprise Developers, you must have Microsoft Visual C/C++ (version 5.0 or later) already installed on your system.
Note: Installing either MKS Toolkit for Professional Developers or for Enterprise Developers on Windows NT or Windows 2000 requires an account with local or domain administrator privileges. You do not need to be an Administrator, but your login ID must be a member of the local or domain Windows Administrators group before you can install.
Note: We recommend that you uninstall any previous version of MKS Toolkit before installing MKS Toolkit 7.0. If you have a previous version of MKS NuTCRACKER Professional, we recommend that you either uninstall it, or install MKS Toolkit for Enterprise Developers on another machine.
All MKS Toolkit products have an integrated installer. To install your product:
Notes: Depending on the product, you may not have a choice of servers. You may not install both English and Japanese X servers on the same machine.
You will then have the choice of selecting an X server
to start at system startup.
Your MKS Toolkit Product
To uninstall MKS Toolkit:
MKS Toolkit 7.x
MKS Platform Components 7.x
You must reboot your system before reinstalling MKS Toolkit.
New Features in MKS
The primary new features in MKS Toolkit 7.0 are:
Note: In the past, the utility called rsh behaved as a
restricted shell. Because of the new rsh (remote shell) command,
we moved the restricted shell to resh.
MKS Toolkit for Professional Developers and MKS Toolkit for Enterprise Developers now include the equivalent API-level support: lchown() and lstat(). In addition, the symlink(), readlink(), chown(), and stat() APIs have been updated and behave according to the UNIX98 specification.
Note: If you delete a symbolic link from Windows Explorer using the DEL key, the link file i
ent to the Recycle Bin. If you delete the symbolic
link with SHIFT-DEL, Windows Explorer not only deletes
the link file, but it also deletes the directory that is
the target of the link (including any subdirectories).
Using the command line DEL command deletes the link and
all files in the target directory, except subdirectories.
The following items require additional clarification:
nutsys4.dll: NuTCRCACKER system call library, version 4.30.0000
Additionally, because NuTCRACKER Workstation is now part of the MKS Toolkit, the NuTCRACKER control panel applet is now installed with all members of the MKS Toolkit product family. Selecting File Versions in the Category combo box lists the file versions of programs included in the NuTCRACKER Platform. If you have installed MKS Toolkit for System Administrators, MKS Toolkit for Developers, or MKS Toolkit for Interoperability, the displayed list includes entries for the two files, apppkgwz.exe and nutins.dll, marked with red exclamation points to indicate that version information for these files could not be found. These two files are not installed by the listed members of the MKS Toolkit product family, and this error report can be safely ignored.
- Start the SLNet control panel applet.
- Select the Users tab.
- Either select the account ot update and click Edit, or click New.
- Set the Default Shell text box to %systemroot%\system32\cmd.exe.
- Set the Startup Directory text box to an appropriate value (for example, C:\ or %HOME%)
- Clear the contents of the Command Line text box.
- Click OK.
To receive support for your MKS Toolkit product, you must buy a Preferred Customer Support (PCS) contract. Many products come bundled with PCS. For others, PCS is optional. PCS is renewable annually for a small fee and entitles you to unlimited customer support, patches, bug fixes, and all product upgrades for the duration of the contract. In any given 12-month period, MKS typically releases one minor upgrade (maintenance), one major upgrade (new features), and several patches, none of which you will want to miss.
In addition, customers with PCS may elect to receive periodic mailings from our customer support organization. These mailings--geared at end users--outline new features, give tips for using features, discuss how to solve common problems, and provide other frequently requested information. Moreover, as MKS moves more of its internal support information onto the support web site, only those customers with PCS will be able to access this controlled information, that will include instant status about reported issues, a searchable database of frequently asked questions, and much more detailed self-help information.
If you are a new customer or you have never activated your PCS account, you must register with our customer support organization. Registration--mandatory before you can receive support--is simple. The easiest way to register is by filling out the registration form during product installation, or you may do so at any time over the web at http://www.mks.com/interop/register. And please be assured that this information is used for no other purpose than to provide support to you. Your personal information will not be given to anyone else.
Without PCS, you will not be entitled to any support, patches, bug fixes, upgrades, mailings, or self-help information. If you do not have PCS, all of our sales channels offer MKS Toolkit products with bundled PCS for your convenience. If you already have product, but need PCS, you may purchase a PCS contract by contacting MKS directly at 800-637-8034 or +1-703-803-3343.
With PCS, you can request customer support by contacting us using one of the means listed below and in your request, include the name and version number of the product that you are using, your serial number, and the operating system and version/patch level that you are using. Contact MKS customer support at:
There are several other sources for additional information about our MKS Toolkit products.
We have general product information, including technical specifications, detailed utility listings, and datasheets at:
We offer a resource kit including example scripts, additional utilities, more tutorials, and a wide variety of other useful information at:
Through the years, we have accumulated a lot of technical details about the MKS Toolkit products and have put this information in a searchable database at:
Our customers commonly ask certain questions. These questions and their answers are in our Frequently Asked Questions pages at:
in MKS Toolkit 7.0.1 Release
The following table documents issues that were fixed in the MKS Toolkit 7.0.1 release.
|CFS 16442||All||Only one TK demo allowed per system|
|CFS 16449||All||Installer needs to add SDK registry keys|
|CFS 16464||All||Workstation always installed, even in custom installs that tried to omit it|
|CFS 16471||All||Installation directory cannot be root|
|CFS 16473||All||`ncoeenv' is added to registry, even if workstation not installed|
|CFS 16483||All||see 16503|
|CFS 16492||All||see 16473|
|CFS 16503||All||upgrade from SX serial number failed|
|CFS 16553||All||Receiving message "Failed to obtain information about MKS Toolkit Utilities"|
|CFS 16577||All||Demo does not include rshd|
|CFS 16583||All||Receiving message "String variable is not large enough for string"|
|CFS 16596||All||Installer thinks that uninstaller is in use|
|CFS 16601||All||Problem installing TKEDev|
|CFS 16625||All||see 16473|
|CFS 16646||All||Can't install MKS 7.0|
|CFS 16653||All||Default file error|
|CFS 16679||All||Toolkit 7.0 files put in directory of existing installation|
|CFS 16692||All||see 16583|
|CFS 16763||All||see 16577|
|CFS 16768||All||see 16583|
|CFS 16769||All||custom reinstall of TKEDev clobbers existing start menu|
|CFS 16772||All||Problem moving TKDev to a different directory|
Fixed in MKS Toolkit 7.0 Patch 1
The following table documents issues that were fixed in the MKS Toolkit 7.0 Patch 1 release.
|SR 11522||TKDev, TKIO,
|Problem with compiler.ccg (from msc32.ccg) not detecting -link option|
|SR 15316||All||KornShell about box can be misleading|
|SR 16393||All||"end" in C Shell for loop not recognized if it ends after 1024 chars|
|SR 16713||All||MKS C Shell behavior differs from UNIX in terms of variable substitution within a foreach loop|
|SR 17403||All||in C Shell, variables are not available inside `` (command substitution)|
|SR 17630||All||quoted command substitutions in C Shell fail|
|SR 17635||All||C Shell $< substitution does not work in verbose mode|
|SR 17664||All||large foreach loops in C Shell execute only once|
|SR 17712||All||C Shell crashes if PATH is set to ""|
|SR 18139||All||quoted args in KornShell are not passed to registry associations correctly|
|SR 18277||All||awk adds extra "^M" characters after encountering a "^Z"|
|SR 18326||TKSA, TKDev,
|"delete" key does not work with autorun|
|SR 18327||TKSA, TKDev,
|autorun puts garbage, empty command in registry|
|SR 18415||All||KornShell downcasts the path of the executable hardcoded in the script|
|SR 18417||All||from cmd.exe 'echo a\"b\" c' has wrong output|
|SR 18469||TKSA, TKDev,
|NT symlinks and tar|
|SR 18493||All||csh "cd e:/dir ; cd c:/ ; cd e:. ; pwd" displays e:/ not e:/dir|
|SR 18511||All||C Shell has temp file problem when run from C:/|
|SR 18516||TKSA, TKDev,
|rcp -r fails sometimes|
|SR 18592||All||C Shell re-evaluates the value of $$ in ` `|
|SR 18601||All||path length is limited in ugrep "Starting From" field|
|SR 18617||All||memory leak during command substitutions|
|SR 18627||TKSA, TKDev,
|rsh exit status is always "1"|
|SR 18632||All||C Shell sometimes adds extra, unnecessary backslashes to echoed lines|
|SR 18639||TKSA, TKDev,
|rexec always sets exit code to "1"|
|SR 18642||All||command substitution in cshrc.csh causes infinite loop at startup|
|CFS 14766||TKPDev, TKEDev||App Packaging Wizard browse for stage directory|
|CFS 15421||TKPDev, TKEDev||select() does not work well in multi-threaded environments.|
|CFS 15927||TKPDev, TKEDev||shared memory problem.|
|CFS 16172||TKPDev, TKEDev||Multiple Socket/Pipe Errors in NT eventlog, busy loop in...|
|CFS 16176||TKPDev, TKEDev||putenv("PATH",...) does not update PATH correctly.|
|CFS 16199||TKPDev, TKEDev||getsid() is not working correctly.|
|CFS 16214||TKPDev, TKEDev||Processes sometimes hang on exit.|
|CFS 16217||TKPDev, TKEDev||shmat fails in some instances.|
|CFS 16243||TKPDev, TKEDev||Navigation problem in the Deployment Wizard|
|CFS 16253||TKPDev, TKEDev||Deployment wizard unable to create nested directories|
|CFS 16355||TKPDev, TKEDev||NuTCleanup Error.|
|CFS 16380||TKPDev, TKEDev||Version number was not bumped for 7.0 release.|
|CFS 16389||TKPDev, TKEDev||read() sets errno incorrectly to EAGAIN.|
|CFS 16391||TKPDev, TKEDev||Bug in _NutForkExec family involving itimers.|
|CFS 16416||TKPDev, TKEDev||TKUTILS Key not installed|
|CFS 16419||TKPDev, TKEDev||NUT_VALIDATE_HEAPS should bring up debug dialog|
|CFS 16552||TKPDev, TKEDev||Release of select() semaphore for file type 6 failed with error 298.|
|CFS 16553||TKPDev, TKEDev||Getting "Failed to obtain information about, MKS Toolkit Utilities".|
|CFS 16567||TKPDev, TKEDev||pthread_cond_timewait suspending thread.|
|CFS 16619||TKPDev, TKEDev||strerror() was incorrectly modifying the errno value.|
|CFS 16825||TKPDev, TKEDev||App Packaging Wizard not copying Toolkit chown.exe|
Problems Fixed in
MKS Toolkit 7.0 Release
The following table documents issues that were fixed in the MKS Toolkit 7.0 release.
|CFS 4152||TKPDev, TKEDev||application cannot redefine FD_SETSIZE|
|CFS 5264||TKPDev, TKEDev||What is max number of sockets you can open|
|CFS 7509||TKPDev, TKEDev||need to extend FD_SETSIZE from 256 to 512 in include\nutc\fd_set.h|
|CFS 10276||TKPDev, TKEDev||socket problems when the client process forks.|
|CFS 10753||TKPDev, TKEDev||like to know implications of increasing the FS_SETSIZE settings|
|CFS 11968||TKPDev, TKEDev||socket connection broken when the server process forks|
|CFS 12551||TKPDev, TKEDev||NuTCRACKER SDK - select function|
|CFS 12812||TKPDev, TKEDev||NUT_VALIDATE_HEAPS did not catch double free.|
|CFS 12836||TKPDev, TKEDev||Update security discussion in Cross-Platform Guide for Win2000 Active Directory|
|CFS 12866||TKPDev, TKEDev||Create real man pages for advanced programming commands and APIs.|
|CFS 12911||TKPDev, TKEDev||SO_LINGER difference in Winsock/berkeley|
|CFS 12968||TKPDev, TKEDev||read() on a socket returns -1|
|CFS 12977||TKPDev, TKEDev||SIGKILL does not shut down processes|
|CFS 13222||TKPDev, TKEDev||fork() fails on dual processor machines|
|CFS 13277||TKPDev, TKEDev||multibyte (Asian) input does not work well for console applications.|
|CFS 13688||TKPDev, TKEDev||socket linger option buggy!|
|CFS 13839||TKPDev, TKEDev||document that bison must be built before flex.|
|CFS 13967||TKEDev||XRT samples not from PDS 2.0|
|CFS 13982||TKPDev, TKEDev||Clarify documentation on deploying third-party options.|
|CFS 14011||TKPDev, TKEDev||nutinsProcessHasRights(), nutinsRegisterApp() misspelled in nutins header|
|CFS 14435||TKPDev, TKEDev||typo in bzero.h|
|CFS 14534||TKPDev, TKEDev||_NutWIN32getenv() alters environment variable contents|
|CFS 14620||All||kill command cannot send signal 0|
|CFS 14626||TKPDev, TKEDev||fixed fnmatch() to be case insensitive.|
|CFS 14677||TKEDev||X11 global variables in C++.|
|CFS 15227||TKEDev||MessageBox too small|
|CFS 15452||TKEDev||unresolved reference: XtInheritTranslations|
|CFS 15461||TKPDev, TKEDev||poll() error|
|CFS 15462||All||command line mangled by sh|
|CFS 15474||TKPDev, TKEDev||poll blows up|
|CFS 15559||TKPDev, TKEDev||FD_SETSIZE limited to 256|
|CFS 15642||TKPDev, TKEDev||File Selection dialog not properly resized|
|CFS 15879||TKEDev||Problem with bind() for AF_UNIX sockets|
|CFS 15927||TKPDev, TKEDev||shared memory problem|
|CFS 15980||All||Where is the type command?|
|CFS 16111||TKPDev, TKEDev||Cannot bind before connect using AF_UNIX sockets|
|SR 10277||All||vi and viw now use the current directory for temporary files when neither TMP nor TMPDIR are set.|
|SR 12798||TKDev, TKIO, TKPDev, TKEDev||web now has a -t option that allows you to specify how long to wait before timing out.|
|SR 14145||All||A segmentation violation no longer occurs when the disk that viw is using runs out of free space.|
|SR 14904||All||The sh -G option now shuts off all GUI features for the running shell.|
|SR 15308||All||sh, csh, vi: if a startup file with a Windows-style name (e.g., ~/profile.ksh) does not exist, now look for the equivalent UNIX-style name (for example, ~/.profile).|
|SR 15429||All||When working with multiple files, viw now correctly remembers the cursor position of previous files.|
|SR 15781||All||sh now properly handles #! when the script is found using an extension search. For example, assume you type prog and using an extension search, sh finds prog.ksh. If prog.ksh begins with #!csh, sh now properly invokes csh to run the script.|
|SR 16473||All||viw now has the :set guierror option to report errors to the status line rather than a dialog box.|
|SR 16747||All||vi: a pipe broken error no longer occurs when an ex command replaces the current file.|
|SR 16778||All||The csh built-in which no longer searches the current directory unless it is explicitly listed in the search path.|
|SR 16798||All||The Options->Text menu of viw now lets you set the color of the window and the text.|
|SR 16800||All||viw now stores settings in the registry. The viw.ini file is used only when registry settings are not found.|
|SR 16912||All||Window location settings are now saved when exiting viw.|
|SR 16935||All||In viw, problems with highlighting text have now been fixed.|
|SR 16947||All||viw now properly handles the dragging of shortcut files into its window.|
|SR 16949||All||viw no longer loses the file name of a file that contains lines longer than LINE_MAX.|
|SR 16960||All||viw: clicking on a line too long to display in the window no longer generates an internal error.|
|SR 16975||All||The name of the file being edited is now displayed first in the viw title bar.|
|SR 16978||All||viw: working in the ex command line box no longer delays menu processing.|
|SR 17354||All||The printf command now correctly returns MAXINT+1.|
|SR 17624||All||viw now properly handles directory names with spaces when you use it with file associations.|
|SR 17637||All||viw now properly handles file lists when more than one viw session is open.|
|SR 17638||All||viw now has a -n option that allows the loading and saving of profiles.|
|SR 17807||All||viw now has *.asc and *.ans file filters in the Open, Save, and Save As dialog boxes.|
|SR 17914||All||viw is no longer silent when a shell command fails.|
|SR 18002||All||The shell (sh) now correctly handles traps on pipe errors.|