June 2004   

MKS Inc.

12701 Fair Lakes Circle, Suite 350
Fairfax VA 22033-3831 USA




MKS Toolkit for Enterprise Developers 64-bit Edition

MKS Toolkit® Release Notes

Version 8.7

MKS Toolkit 8.7

MKS Toolkit is the leader in UNIX to Window scripting, connectivity, and application migration. Enhancements found in the 8.7 release include support for GCC and Intel compilers, expanded 64-bit Windows support, Visual SFTP and a wide variety of new APIs supporting v3 of the Single UNIX Specification.

The Fixed Problems section discusses the problems resolved in this release. The following section discusses the specific enhancements in much greater detail.

Expanded Compiler Support

  • Support for GCC. MKS Toolkit for Professional Developers and MKS Toolkit for Enterprise Developers now support the gcc compiler for migrating applications from UNIX/Linux to Windows. A pre-compiled version of gcc along with its source code, can be found on the MKS Toolkit Resource Kit CD.

  • Support for Intel C++ 8.0. MKS Toolkit for Professional Developers, MKS Toolkit for Enterprise Developers and MKS Toolkit for Enterprise Developers 64-bit Edition now support the Intel C++ 8.0 compiler for IA32 and IA64 compilation of ported UNIX/Linux applications on supported Windows 32 and 64-bit platforms. This feature is available upon special request, please contact customer support for details if you are interested in using the Intel compilers with MKS Toolkit porting and migration products.

  • .NET Support. MKS Toolkit for Developers and all higher products now support the latest release of the Microsoft Visual Studio .NET IDE.

64-bit Windows Support

MKS Toolkit is the ONLY solution for migrating both 32 and 64-bit UNIX/Linux applications for deployment on 64-bit Windows!

64-bit Windows operating systems are ideal for applications that require large amounts of memory and high-performance mathematical computation, such as Web caching, data warehousing, complex mechanical design and analysis, scientific applications and research.

  • New Product. To support 64-bit Windows systems, MKS offers MKS Toolkit for Enterprise Developers 64-bit Edition. This product is intended for customers porting UNIX/Linux code to the NuTCRACKER Platform for deployment on 64-bit versions of Windows (Win64).

  • Operating System Support. MKS Toolkit products, including MKS Toolkit for Enterprise Developers 64-bit Edition, fully support Windows 64-bit running on the Itanium architecture. With the 8.7 release, support for Extended Architecture 64-bit platforms, such as AMD64, is available under beta status with the intent being to release a final version shortly after the official release of the Windows 64-bit operating system for that platform.

  • True 64-bit Shell. When installed on Windows 64-bit operating systems all MKS Toolkit products now include a full 64-bit shell (ksh, sh, bash, and resh).

  • 64-bit Runtime Environment. MKS Toolkit for Enterprise Developers 64-bit Edition includes a 64-bit runtime environment with the same operating systems requirements that are listed above. This environment can only be installed on 64-bit machines and is intended be used to test applications built with the 64-bit product.

  • Updated UNIX to Windows Porting Guide. The online version of the UNIX to Windows Porting Guide has been updated to include a chapter called "Porting Applications to 64-bit Windows" which provides more information on using MKS Toolkit for Enterprise Developers 64-bit Edition.

Secure Shell Explorer (Visual SFTP)

  • Secure Visual File Manipulation. Visual SFTP is a powerful new Windows Explorer extension that allows you to easily drag and drop files through a secure connection just as easily as you would on your local network. Seamlessly integrated with Windows Explorer, Visual SFTP allows you to open one or multiple connections and transfer or manipulate files found on remote Windows, UNIX/Linux, or any other system that supports SFTP over the SSH protocol.

    For information on how to use Visual SFTP, see the MKS Toolkit Connectivity Solutions Guide available from the MKS Toolkit Start menu.

New Porting APIs

MKS Toolkit for Professional Developers, MKS Toolkit for Enterprise Developers and MKS Toolkit for Enterprise Developers 64-bit Edition now include a variety of new APIs. These additions are incorporated into the product in order to remain abreast of the most common sections of the Single UNIX Specification while still maintaining conformance to existing standards. For more information on the Single UNIX Specification, please refer to http://www.unix.org/version3/.

  • Single UNIX Specification Version 3 APIs. New APIs for various real time and other SUSv3 functions have been added in a number of areas. For more information on these functions, please refer to the MKS Toolkit UNIX API Reference pages from the MKS Toolkit Start menu or online at http://www.mkssoftware.com/docs.

      Message Queues
        mq_close(), mq_getattr(), mq_notify(), mq_open(), mq_receive(), mq_send(), mq_setattr(), mq_timedreceive(), mq_timedsend(), mq_unlink()

      Shared Memory Objects
        shm_open(), shm_unlink()

      Spin Locks
        pthread_spin_destroy(), pthread_spin_init(), pthread_spin_lock(), pthread_spin_trylock(), pthread_spin_unlock()

      Read/Write Locks
        pthread_rwlockattr_destroy(), pthread_rwlockattr_getpshared(), pthread_rwlockattr_init(), pthread_rwlockattr_setpshared(), pthread_rwlock_destroy(), pthread_rwlock_getname_np(), pthread_rwlock_getname_np(), pthread_rwlock_init(), pthread_rwlock_rdlock(), pthread_rwlock_setname_np(), pthread_rwlock_timedrdlock(), pthread_rwlock_timedwrlock(), pthread_rwlock_tryrdlock(), pthread_rwlock_trywrlock(), pthread_rwlock_unlock(), pthread_rwlock_wrlock()

      Memory Locking
        mlock(), mlockall(), munlock(), munlockall()

        sem_close(), sem_destroy(), sem_getvalue(), sem_init(), sem_open(), sem_post(), sem_timedwait(), sem_trywait(), sem_unlink(), sem_wait()

        pthread_barrierattr_destroy(), pthread_barrierattr_getpshared(), pthread_barrierattr_init(), pthread_barrierattr_setpshared(), pthread_barrier_destroy(), pthread_barrier_init(), pthread_barrier_setname_np(), pthread_barrier_wait()

        sigqueue(), sigtimedwait(), sigwaitinfo()

  • New Word Expansion APIs. The following word expansion APIs are new to MKS Toolkit 8.7:

      wordexp(), wordfreeexp()

  • New Wide Character stdio APIs. The following wide character stdio APIs are new to MKS Toolkit 8.7:

      wprintf(), fwprintf(), swprintf(), vfwprintf(), vswprintf(), wscanf(), fwscanf(), swscanf(), vfwscanf(), vswscanf()

Various Other Enhancements

  • Software Configuration Management Support.

    • Updated Integration. The inherent support for version control and software configuration management (SCM) systems within MKS Make has been updated to support the latest SCM and Enterprise SCM systems.

    • New Integration. Common SCM operations, such as check-in, check-out, lock, unlock, and version differing are now directly supported from within the MKS Toolkit suite of editors, ex, vi and VIW.

      For more information on Enterprise SCM and the MKS Integrity Solution, please visit www.mks.com.

  • Additional New Utilities.

    • The fping utility. The fping utility allows users to check the status of multiple hosts.

    • The kterm utility. The kterm utility, a version of xterm which supports the Japanese locale, is now available.

  • Miscellaneous Updates.

    • ex/vi/viw. A large number of fixes, as indicated in Fixed Problems, were made to the MKS Toolkit editors to improve operations.

    • New option for diff. The -B option now calls diffb to compute differences when binary files are detected.

    • Changes to mount, mount(), umount, and umount(). Changes were make to the mount and umount utilties and APIs in the area of "file system mounts" (Windows 2000/XP/2003) to support Windows Volumes such that a volume is now treated like a UNIX block special device for the purposes of mount/umount manipulation.

New Features in Previous Releases

Hardware and Software Requirements

MKS Toolkit products do not have any particular hardware requirements. Any machine that is sufficient to run the underlying operating system is sufficient. All MKS Toolkit products run on Windows systems with Intel 32-bit, IA64, or Extended Architecture 64-bit (such as AMD64) processors.

MKS Toolkit products have the following software requirements:

  • Platforms. You can install all MKS Toolkit products on:
    • Windows Me
    • Windows NT (Workstation, Server, or Terminal Server) with Service Pack 6+ (Service Pack 6a is recommended)
    • Windows 2000 (Professional, Server, or Advanced Server)
    • Windows XP (Home or Professional)
    • Windows Server 2003

  • FAT File Systems. It is not currently possible to adequately secure key files and other data, if you install the secure shell server (secshd) onto a FAT file system. Therefore, we do not support use of the server on such a file system; however, the secure clients are all still usable in this case.

  • Limitations for Windows Me. Many MKS Toolkit utilities are Windows NT/2000/XP/2003-specific. These are clearly documented in the reference pages in the MKS Toolkit Utilities Reference, available from the Start menu.

    In addition, because of the lack of certain operating features on Windows Me, some MKS Toolkit UNIX APIs run in degraded mode (or return without doing anything) on those platforms. These are discussed in the MKS Toolkit UNIX to Windows Porting Guide and in great detail in the reference page for each API in the online MKS Toolkit UNIX APIs Reference which you can access via the Start menu.

  • Compilers. The MKS Toolkit development products work with Microsoft Visual C/C++ versions 5.0 and 6.0 as well as Visual Studio.NET (version 7.0) and Visual Studio.NET 2003 (Version 7.1).

    MKS Toolkit for Professional Developers and MKS Toolkit for Enterprise Developers support the following compilation environments:
    • both versions of the Standard Template Library
    • the Absoft Pro Fortran f90/f77 compiler, versions 5.0, 6.0, and 7.0 (http://www.absoft.com/)
    • Intel C++ 8.0
    • gcc — source code is provided on the MKS Toolkit Resource Kit CD.

    MKS Toolkit for Enterprise Developers 64-bit Edition supports the following compilers:
    • Microsoft Visual Studio .NET (See 64-bit Compilers below)
    • Intel C++ 8.0 for Windows 64-bit running on Itanium platforms (contact MKS Technical Support if you would like to use this compiler)

    The "Using Languages" chapter of the MKS Toolkit UNIX to Windows Porting Guide describes how to use these MKS Toolkit products with C, C++, and Fortran.

  • 64-bit Compilers. Currently, the only compiler supported by MKS Toolkit for Enterprise Developers 64-bit Edition for Itanium development is the 64-bit compiler, linker, and assembler included with the Microsoft Platform SDK. The SDK can be installed on both 32-bit x86 machines as well as 64-bit Itanium machines. You can down the Microsoft Platform SDK from http://www.microsoft.com/msdownload/platformsdk/sdkupdate/.

    Users who wish to develop applications for Extended Architecture 64-bit platforms should obtain the Windows Server 2003 DDK, which is only available through MSDN subscriber downloads or through the appropriate beta channels at Microsoft. Beta versions of the Win64 operating system for the Extended Architecture 64-bit platforms (usually titled "64-bit Extended Systems") are also available through both of these channels.

    At the time of release, Microsoft has versions of both Windows XP, and Windows Server 2003 (SP1) which run as native 64-bit operating systems. The MSDN subscriber downloads also has a beta version of the Platform SDK which contains the Extended Architecture 64-bit compiler, linker and associated tools, but at this time this is not supported. Please use the DDK instead.

  • Windows Task Scheduler. The MKS Toolkit Scheduler, the command-line scheduling utilities (at, batch, crontab, and wts) require Internet Explorer 4 (or later) and the Windows Task Scheduler. On Windows Me, 2000, XP, and 2003 these are already installed. On Windows NT 4, you should follow these steps to install the Windows Task Scheduler:

    1. Select Add/Remove Programs from the Control Panel. The list of currently installed programs appears.

    2. Select Microsoft Internet Explorer and click Add/Remove. A dialog appears prompting you for action.

    3. Select Add a component to Internet Explorer. A list of additional Internet Explorer components appears.

    4. If you are running Internet Explorer 5+, select Offline Browsing Pack. If you are running Internet Explorer 4, select Additional Explorer Enhancements.

    Alternatively, you can download Internet Explorer 5 or 6 and their add-ons from http://www.microsoft.com/windows/ie.

Installing MKS Toolkit

If you have MKS Toolkit 7.5 or earlier, or if you have a previous version of MKS NuTCRACKER Professional, we recommend that you uninstall it, or install MKS Toolkit 8.7 on another machine.

When installing MKS Toolkit on a 64-bit machine, you must first uninstall any previously installed MKS Toolkit releases (version 8.6 and earlier).

When installing MKS Toolkit for Enterprise Developers 64-bit Edition on any platform, you must first uninstall any existing MKS Toolkit installation.

When installing MKS Toolkit for Professional Developers or MKS Toolkit for Enterprise Developers, the following additional requirements apply:

  • Microsoft Visual C/C++ (version 5.0 or later) must already be installed on your system.

  • You must install from 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.

All MKS Toolkit products share a common installer. If you are installing from a CD, insert the MKS Toolkit distribution CD; the installer should start automatically. If you are installing from an electronic distribution, run the self-extracting installer.

To install MKS Toolkit, click the Install Toolkit button and follow the instructions on the dialogs that appear.

Note: You should turn off all virus protection software before installing MKS Toolkit. Such software can sometimes cause the installation to be interrupted and rolled back. Once you have installed MKS Toolkit, you can turn virus protection back on.

For step-by-step installation instructions and an installation FAQ, see http://www.mkssoftware.com/support/install.asp.

Silent and Administrative Installations

For step-by-step installation instructions and information on administrative and silent installations for MKS Toolkit see http://www.mkssoftware.com/support/install.asp.

Additional Components on the MKS Toolkit CD

The MKS Toolkit CD also includes several items that are not installed as part of the normal installation procedure. These are:

  • The samples directory. This directory contains a collection of sample source code for use with MKS Toolkit for Professional Developers and MKS Toolkit for Enterprise Developers. Though they can be modified and compiled for 64-bit Windows systems, these samples were designed and tested on 32-bit Windows platforms using the MKS Toolkit porting and migration products.

    These samples include binaries for cpp, gawk, gmake, install, and the groff suite of utilities.

  • The redist directory. This directory contains a collection of utilities and drivers that may be needed to get full use out of MKS products. This includes the recent versions of the Jet Database driver, Microsoft Data Access Components (MDAC), Microsoft Management Console (MMC) and Adobe® Acrobat® Reader.

Uninstalling MKS Toolkit

Uninstalling MKS Toolkit 8.x

To uninstall MKS Toolkit, use the following procedure:

  1. From the Control Panel run Add/Remove Programs.

  2. Remove MKS Toolkit 8.x.

  3. Remove SCO XVision Eclipse. (This is only necessary if the XVision X server is installed. This X Server is normally only installed with MKS Toolkit for Interoperability and MKS Toolkit for Enterprise Developers.)

You must reboot your system before reinstalling MKS Toolkit.

Uninstalling Previous Versions of MKS Toolkit

To uninstall a 7.x version of MKS Toolkit, run the TKUninstall utility found in your system directory (you can find your system directory with the windir -s command).

Alternatively, you can uninstall the components manually with the following procedure:

  • From the Control Panel, run Add/Remove Programs.

  • Remove, in order, each of the following (if present):

    MKS Evaluation Guide
    MKS Toolkit 7.x
    MKS Platform Components 7.x

    You must reboot your system before reinstalling MKS Toolkit.

    Known Issues

    The following known issues exist in MKS Toolkit 8.7:

    • Security ID Warning. When the TK_NTSERCURITYINFO_OFF environment variable is set, it turns off all security related features. This includes the ability to look up user and group IDs. As a result, utilities such as id, chown, and chgrp that depend upon user and group IDs will not work properly when this variable is set.

    • _NutConf(). MKS Toolkit 8.6 added large file support and as a result inadvertently broke backward binary compatibility for applications linked against previous import libraries. With 8.6p2 and 8.7 we have added an environment variable to supplement the _NuTConf() to revert the behaviour of the runtime to pre-8.6 form such that read beyond a 2G boundary without large file support enabled will not result in an error. set NUT_DISABLE_FULL_LFS_SEMANTICS=1 to do the equivalent of _NutConf(_NC_SET_FULL_LFS_SEMANTICS, FALSE) without the need to recompile or relink your application.

    • Path Name Issue. If you install the Microsoft Platform SDK on a 64-bit machine, and your PATH environment variable contains elements that begin with C:\Program files (x86), the script for setting up the 64-bit build environment included with the platform SDK does not work. There are two possible solutions:

      • Modify the PATH environment variable in the system environment to substitute the short path variant of the folder name Program Files (x86). The short path variant is normally C:\progra~2. You can use dir /x from a command window to be sure.

      • Modify the file setenv.bat in the root directory of the platform SDK tree. Find the section that looks like this:
                REM ---------------------------------------------
                REM Patch path to put Bin\WinNT\NT4 in path ahead
                REM of NT5 tools that don't run on NT4
                REM ---------------------------------------------
                For /F "delims=;" %%i IN ('Cmd /c Ver') DO (
                  IF "%%i"=="Windows NT Version 4.0" (
                    Set Path=%MSSdk%\Bin\WinNT\NT4;%Path%
                    Goto Finish
                Goto Finish
        and remove or comment out the line that begins Set Path=.

    • X Server Support. The SCO X Vision X server (included in some MKS Toolkit products) is a 32-bit application that will run on the Extended Architecture 64-bit platforms in 32-bit emulation mode. If you require a 64-bit native X server, and not a 32-bit client display server, MKS recommends the Hummingbird Exceed product which is available directly from Hummingbird Ltd..

    • Absoft Fortran Support. Currently, Absoft does not provide a 64-bit Fortran compiler and associated libraries for the Windows 64-bit platforms. Once this support is available from Absoft, MKS Toolkit for Enterprise Developers 64-bit Edition will provide Fortran support.

    • The uil Compiler. The uil compiler used with some Motif applications can generate uid files that are compatible with either 32 or 64-bit platforms. A single uid file cannot be used for both situations. This is consistent with the documented behavior of the uil compiler. The uil compiler normally will try to figure out whether to build the 32-bit or 64-bit version based on your build environment. If the TARGET_CPU environment variable is set to either "AMD64" or "IA64", the uil compiler builds a 64-bit compatible uid file; otherwise, it builds a 32-bit compatible uid file. The TARGET_CPU environment variable is set as appropriate for all 64-bit NuTCRACKER build environments launched from the Start menu.

      The uid file that is generated by the uil compiler in this release is not guaranteed to be portable to other 64-bit UNIX platforms.

    Customer Support

    When reporting a problem, you will need certain information about your product, which you can find on the Support Information of the MKS Toolkit Control Panel Applet.

    Contact MKS customer support at:

    Web Site: http://www.mkssoftware.com/support
    Online Request Form: http://www.mkssoftware.com/support/support.asp
    E-mail: tk_support@mkssoftware.com
    Telephone: +1-703-803-7660
    (9:00am to 7:00pm ET, Mon-Fri, except holidays)
    Fax: +1-703-803-3344

    Additional MKS Toolkit Resources

    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:

    We have several additional articles, tutorials, and white papers about using features of the MKS Toolkit 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:

    Known installation issues are listed at:

    Fixed Problems

    Several problems were fixed in MKS Toolkit 8.7. These are listed at:

    Fixed Problems in Previous Releases

  • ©2004 MKS Software Inc.; in Canada Copyright owned by MKS Inc. All rights reserved.