[an error occurred while processing this directive]

HP OpenVMS Systems Documentation

Content starts here

HP DECwindows Motif for OpenVMS
Release Notes


Previous Contents Index


Chapter 4
Programming Release Notes

This chapter contains release notes related to programming in the DECwindows Motif environment.

4.1 General Programming

This section contains release notes pertaining to the general DECwindows Motif programming environment.

4.1.1 Motif Toolkit and X Window System Support and Compatibility

V1.5

The following table lists the versions of the OSF/Motif Toolkit and X Window System upon which each release of DECwindows Motif is based.

DECwindows Motif OSF/Motif Toolkit X Window System
Versions 1.3, 1.3--1, and 1.5 CDE Motif 1.0 (OSF/Motif Release 1.2.5) Version 11 Release 6.6 (X11R6.6)
Versions 1.2--4, 1.2--5, and 1.2--6 CDE Motif 1.0 (OSF/Motif Release 1.2.5) Version 11 Release 5 (X11R5)
Version 1.2--3 OSF/Motif 1.2.3 (with extensions for the Common Desktop Environment (CDE)) X11R5
Version 1.2 OSF/Motif 1.2.2 X11R5
Version 1.1 OSF/Motif 1.1.3 Version 11 Release 4 (X11R4)
Version 1.0 OSF/Motif 1.1.1 X11R4

DECwindows Motif for OpenVMS Version 1.1 applications will continue to run without modification with current version of DECwindows Motif. Only those applications that have been built against the OSF/Motif Release 1.2.2 or greater Toolkit can take advantage of Version 1.2 features, such as drag-and-drop functionality and tear-off menus.

4.1.2 Run-Time and Programming Environment Support

V1.5

The following run-time and programming environments are provided with the DECwindows Motif for OpenVMS Version 1.5 software:

  • Run-time support is provided for the CDE Motif 1.0 Toolkit (OSF/Motif Release 1.2.5), OSF/Motif Release 1.1.3 Toolkit, and the XUI Toolkits.
  • Development support is provided for the CDE Motif 1.0 Toolkit only.
  • Language support is provided for C++ as well as for updated Motif language bindings for Pascal, Fortran, and C.
  • Language bindings for Ada are available for the OpenVMS Alpha and OpenVMS VAX platforms only as part of the Ada Version 3.5A for OpenVMS layered product. Note, however, that these bindings do not include enhancements added subsequent DECwindows Motif for OpenVMS Version 1.2--6.

Although development support is expressly provided for the CDE Motif 1.0 Toolkit, you can choose during installation to save the OSF/Motif Release 1.1.3 programming environment that existed on your system prior to the DECwindows Motif for OpenVMS Version 1.2--4 product.

If you install the software using the POLYCENTER Software Installation utility, and if programming support for the OSF/Motif Release 1.1.3 Toolkit is present, you can choose to save the header files and UIL compiler used to develop OSF/Motif Release 1.1.3 applications. If selected, the installation procedure creates a subdirectory called [.DECW$113], and the previous programming files are moved into the new subdirectory.

See the HP DECwindows Motif for OpenVMS Installation Guide for additional information about saving the Release 1.1.3 programming environment. For additional information about Release 1.1.3 programming support on the OpenVMS Alpha and OpenVMS I64 platforms, see Section 4.3.3.

4.1.3 Multithreaded Applications with Upcalls Enabled No Longer Cause Address Corruption (Alpha Only)

V1.5

Previously, on systems running DECwindows Motif for OpenVMS Alpha Version 1.3 or higher, compiling and running multithreaded DECwindows Motif applications with upcalls enabled could corrupt random addresses in the user-mode stack. This problem has been corrected with DECwindows Motif for OpenVMS Version 1.5.

4.1.4 DECwindows Display Server Blocks Write Operations When All Transport Buffers are in Use

V1.5

The DECwindows X display server blocks write operations to the DECwindows Motif client when all transport buffers are in use. If the client fails to read and free a buffer within the 30-second timeout period, the server closes the connection. During this timeout period, the server may hang and not process any other requests or events.

Prior to DECwindows Motif Version 1.3, the client software would transfer events from the transport buffers to internal memory using a user-mode AST. Therefore, a client would only fail to read a buffer if suspended or if user-mode ASTs were disabled for a prolonged period.

Since Version 1.3, the DECwindows Motif client does not read from the transport buffer until a client function is called that either processes events or requires a reply. If a client is not actively processing events for a particular display connection, the server may hang and close the connection when events do arrive. Programs that use Xt to create an application context and then process events using XtAppMainLoop will not experience this problem.

4.1.5 Functions Calling getaddrinfo and getnameinfo are not Threadsafe Over TCP/IP Connections

V1.5

HP TCP/IP Services for OpenVMS does not currently provide threadsafe implementations of the getaddrinfo and getnameinfo functions. Therefore, the DECwindows implementation of XOpenDisplay, IceOpenConnection, and images built upon these functions are also not threadsafe when opening connections over the TCPIP transport. This applies equally to TCPIP transport connections that follow either the IPv4 or IPv6 name format.

4.1.6 Increasing the Limit of Top-Level Widgets Allowed by the UIL Compiler

V1.3--1

The UIL compiler has a maximum number of top-level widgets that it can write to the UID file. A top-level widget is one that is named and not referenced within the UIL compilation. By default, the maximum number of widgets is set to 1000. If this limit is exceeded, the following error message is displayed by the UIL compiler:


$  UIL test.uil
%UIL-F-SUBMIT_SPR, internal error - submit defect report

To change this limit and prevent this error from occurring, use the logical DECW$MRM$MAX_MODULE_WIDGET. Make sure that you define the logical prior to running the UIL compiler, as follows:


$  DEFINE DECW$MRM$MAX_MODULE_WIDGET 2000
$  UIL test.uil

Note

The error message noted above can also result from other compilation problems. If you have already used the DECW$MRM$MAX_MODULE_WIDGET logical to increase the maximum number of top-level widgets, and the error continues to be displayed during compilation, examine the UIL file for other build issues and dependencies.

4.1.7 Increased Stack Requirements

V1.3

The addition of significant new functionality in the client libraries may increase the stack space used by DECwindows Motif at run time. Client applications that call DECwindows Motif functions from threads other than the main thread may experience a stack overflow.

If an overflow occurs, rebuild the application using a larger stack size for created threads.

Note that this problem does not occur with single-threaded applications or those multithreaded applications that make all their calls to DECwindows Motif from the main application thread.

4.1.8 Privileges Required for ICE, Proxy Manager, and LBX Server Processes

V1.3

The Inter-Client Exchange (ICE), proxy manager, and Low-Bandwidth X (LBX) proxy server each provide functions that can establish separate server processes. These server processes may require certain system resources to gain access to one or more transport interfaces and to manage client connections.

The following table shows the minimum privileges required, according to network transport, to gain access to the appropriate resources:

Transport Privilege
TCPIP NETMBX
DECNET TMPMBX, NETMBX, and SYSNAM
LOCAL PRMMBX and SYSGBL

4.1.9 Support for Display PostScript Removed

V1.2--6

Starting August 1, 1998, support was discontinued for the Display PostScript software licensed by Adobe Systems Incorporated. This action resulted from Adobe ending their former ongoing support of Display PostScript.

Due to this decision, HP is contractually obligated to remove all Display PostScript capability from the DECwindows Motif software. This includes all related translated-image support and any functionality described in the following programming reference manuals:

  • VMS DECwindows Display PostScript System Programming Supplement
  • Display PostScript System: Perspective for Software Developers
  • Display PostScript System: Client Library Reference Manual
  • Display PostScript System: Color Extensions
  • Display PostScript System: pswrap Reference Manual
  • PostScript Document Structuring Conventions Specification Version 2.1

There is no workaround. See the following sections for more information on the potential impact to applications in the DECwindows Motif environment.

4.1.9.1 Impact on DECwindows Motif Applications

Removing Display PostScript from DECwindows Motif impacts any application that relies on its capabilities to present and display graphics and documents in PostScript format.

Unfortunately, this includes not only those applications developed by HP, such as the CDA Viewer, but also any third-party, user-written, or translated VAX applications that depend on one or more of the following files and libraries. These items are no longer a part the product kit and are removed from your system when upgrading from a previous version of DECwindows Motif client software.

  • PSWRAP command (DCL)
  • Display PostScript (XDPS) libraries
    [SYSLIB]XDPS$DPSBINDINGSSHR.EXE
    [SYSLIB]XDPS$DPSCLIENTSHR.EXE
    [SYSLIB]XDPS$DPSLIBSHR.EXE
  • Display PostScript header files and sample programs
  • Translated-Image Support (TIS) files
    [SYSLIB]XDPS$DPSBINDINGSSHR_TV_SUPPORT.EXE
    [SYSLIB]XDPS$DPSCLIENTSHR_TV_SUPPORT.EXE
    [SYSLIB]XDPS$DPSLIBSHR_TV_SUPPORT.EXE
    [SYSLIB]CDA$ACCESS_TV_SUPPORT.EXE
    [SYSLIB]DDIF$VIEWSHR_TV_SUPPORT.EXE
    [SYSLIB]DECW$BKRSHR_TV_SUPPORT.EXE
    [SYSLIB]DECW$MAILSHR_TV_SUPPORT.EXE

The actual effect of removing Display PostScript depends on the extent to which it was implemented in the application. Applications that call the PSWRAP command may fail only at the point where the command is invoked. However, applications that link against one or more of the XDPS libraries or TIS images will fail to function entirely due to unresolved links at run time.

As a result, you may need to modify those portions of DECwindows Motif applications that rely on these files to run successfully in the current DECwindows Motif environment.

4.1.9.2 Impact on Java Applications

The Java Development Kit (JDK) for OpenVMS Version 1.2.2-1 contains two shareable images (JAVA$FONT_MANAGER_SHR.EXE and JAVA$FONT_MANAGER_G_SHR.EXE) that link against the Display PostScript (XDPS) libraries. As a result, all Java applications built with this kit that use Display PostScript capabilities will fail in the current DECwindows Motif environment.

Note that this restriction only applies to the Version 1.2.2-1 kit. The Java machine for the 1.1* series, as well as all releases of the JDK subsequent to Version 1.2.2-1, are not dependent on the Adobe Display PostScript software or its libraries.

4.1.10 Problems Using the DECW$INCLUDE:INTRINSIC.H File

V1.2--5

The DECwindows header file, DECW$INCLUDE:INTRINSIC.H, redefines the globalref macro to be extern when using the DEC C compiler, even when the /STANDARD=VAXC compiler switch is specified. This could have a wide impact on user applications.

This redefinition in INTRINSIC.H is required because DECwindows needs to ensure that references to data located in the DECwindows shared images by user-written applications use the same extern model that was used when the DECwindows shared images were compiled.

To workaround this problem, rather than having your application use globalref and globaldef for its own variables, use the following preprocessor directive:


#pragma extern_model strict_refdef

This workaround has the advantage of being strictly ANSI compliant. This pragma directive is described in the DEC C User's Guide for OpenVMS Systems manual.

4.1.11 DECW$WML.EXE Looks in Current Directory For DECW$WML_TOKENS.DAT

1.2--4

The program SYS$SYSTEM:DECW$WML.EXE can be used to customize the parsing of UIL files. It reads a list of tokens from the file DECW$WML_TOKENS.DAT. In previous versions of DECwindows Motif, this tokens file was always read from SYS$LIBRARY. However, starting with DECwindows Motif for OpenVMS Version 1.2--4, DECW$WML.EXE first looks for this file in the current directory before looking for it in SYS$LIBRARY. This allows a customized tokens file to be used.

4.1.12 Running Translated Images on OpenVMS Systems (Alpha Only)

V1.2--3

The OpenVMS operating system provides translated image support (TIS) that addresses the following issues when migrating from the OpenVMS VAX to OpenVMS Alpha operating system platform:

  • Lack of full-language programming support
  • Unavailability of source code for recompilation
  • Difficulty recompiling code that depended on VAX architecture features

The translated-image environment supports the VAX programming language features that were introduced with the VMS Version 5.5-2 release. The TIS environment also provides support for those images that are restricted to using the VMS Version 5.5-2 system services and run-time library entry points.

DECwindows Motif offers translated-image support as part of the installation procedure. The DECwindows Motif TIS environment includes support for running translated DECwindows Motif for OpenVMS VAX images on an OpenVMS Alpha system, provided the images were built against the OSF/Motif Release 1.1.3 libraries. It does not include support for running translated images that were built against a later version of the OSF/Motif Release libraries (1.2 or greater).

If you want to run an application that was built against a later version of the OSF/Motif libraries (available with DECwindows Motif for OpenVMS Versions 1.2 and later), you must compile and link the application natively on an OpenVMS Alpha or OpenVMS I64 system.

If you cannot build your VAX application on an OpenVMS Alpha system, you can translate it using the OpenVMS Migration Software for VAX to Alpha (OMSVA) product, provided that your application was built against the OSF/Motif Release 1.1.3 programming environment.

Most VAX images built against the OSF/Motif Release 1.1.3 programming environment can be copied to an OpenVMS Alpha system, translated, and run successfully. Note, however, that the OSF/Motif Release 1.1.3 shareable images that are used with translated images are different from and incompatible with the shareable images used for native images. As a result, the following image restrictions apply:

  • Do not use both native and translated images that use DECwindows Motif software in a process. Either port or translate all the images that use DECwindows Motif software and all images that call each other.
  • Translated images that dynamically activate a DECwindows Motif image using LIB$FIND_IMAGE_SYMBOL from a translated image are not supported.

For information on enabling the DECwindows Motif TIS environment, see the HP DECwindows Motif for OpenVMS Installation Guide. For more information on OSF/Motif application programming support, see Section 4.3.

4.1.13 UIL Compilation Problems with Looped Object References

V1.2

The UIL compiler can omit information about some objects from the UID file when there is a self-contained hierarchy of objects and each named object is only referenced internally (by another object in the hierarchy). Minimally, one of the references in the hierarchy must be something other than a child relationship.

To determine which objects contain omissions, use the /LIST and /MACHINE_CODE qualifiers during compilation. The resulting list file indicates the objects that are missing information.

To prevent this from occurring, add a name to one of the unnamed objects in the hierarchy.

4.1.14 Compiling Applications Written in Fortran

V1.1

Some of the include files used for writing DECwindows Motif applications in Fortran, such as the DECW$MOTIF.FOR file, contain structure definitions that cause memory layout changes, depending on the compiler switches used.

You can do one of the following:

  • Use the CDEC$ OPTIONS in the source code so that your Fortran programs work correctly with the DECwindows Motif run-time libraries:
    • Before you include files in your program, add the following statement:


      CDEC$ OPTIONS /ALIGN=RECORDS=NATURAL
      
    • Following the INCLUDE statement, add the following statement:


      CDEC$ END OPTIONS
      

      For example:


      CDEC$ OPTIONS /ALIGN=RECORDS=NATURAL
      INCLUDE "DECW$MOTIF.FOR"
      CDEC$ END OPTIONS
      
  • Use the Fortran compiler switch, /ALIGN=RECORDS=NATURAL, when you compile your programs.

4.1.15 Compiling Applications Written in C

V1.0

With DEC C, header files do not need to be extracted from the text library if you define the DECC$TEXT_LIBRARY logical name as follows:


$ DEFINE DECC$TEXT_LIBRARY SYS$LIBRARY:DECC$RTLDEF.TLB

4.2 Application Programming

This section contains release notes pertaining to developing applications for the DECwindows Motif environment.

4.2.1 CDA Viewer Programming

This section contains programming information about the CDA application and run-time services.

4.2.1.1 Corrected Image Ident for SYS$LIBRARY:DDIF$VIEWSHR.EXE (Alpha Only)

V1.3

The SYS$LIBRARY:DDIF$VIEWSHR.EXE image supplied with DECwindows Motif for OpenVMS Alpha Version 1.2--6 included the wrong image ident. Programs linked against the Version 1.2--6 image could not load and would report SHRIDMISMATCH error. This has been corrected, and the image ident restored to its original value.

Applications linked against the image supplied with Version 1.2--6 of DECwindows Motif will need to be relinked against the corrected image. Note that this only impacts images linked against the V1.1.3 compatibility version of DDIF (such as, DECwindows interface to Notes for OpenVMS) and not images using the current DDIF$VIEWSHR12 image.

4.2.1.2 Message for Style Guide Fallback

V1.2

The following message is displayed when a local style guide cannot be found:

STYGDEFBK, Fallback to nonlocale-specific style guide: file-spec

Level: Informational
Explanation: Since the locale-specific style guide cannot be found, the nonlocale-specific version of the style guide is used.

4.2.1.3 Using Logical Names with CONVERT Commands

V1.2

During a document conversion, if a logical name is used to specify the directory of the primary document and the document file extension is omitted, external references that contain relative file specifications cause the conversion to fail.

This failure occurs because the back-end converter examines the converter processing options, although the front-end converter opens the input file. Because the converter software cannot predict what default file extension the front-end converter might apply, it uses the OpenVMS file services to resolve the logical name and to find the actual file specification so that the directory can be parsed and extended with a relative specification.

The conversion fails only when the external reference uses a format such as the following:


sys$login:mydoc

In this case, the reference will not be resolved. The reference is resolved in all other cases. For example:


sys$login:mydoc.doc
disk$:[smith]mydoc
disk$:[smith]mydoc.doc

4.2.2 DEClinks Programming

This section contains programming information about the DEClinks application and run-time services.

4.2.2.1 DEClinks Shareable Libraries Not Available (I64 only)

V1.5

The DEClinks shareable libraries (LWK$DXMSHR*.EXE) have not been ported to the OpenVMS I64 environment and are not available with DECwindows Motif for OpenVMS Version 1.5 or later on the OpenVMS I64 platform.

These shareable libraries were retained in the OpenVMS Alpha environment to prevent regression in other applications. The libraries may be available in a future release if they are deemed functionally necessary in the OpenVMS I64 environment.

4.2.3 DECterm Programming

This section contains programming information about the DECterm application and run-time services.


Previous Next Contents Index