Updated 00/04/04
Sun WorkShop(TM) 6 Readme
 
Introduction

This document contains last-minute information about the final release of the Sun WorkShop(TM) 6 programming environment. This document describes the software corrections addressed by this release and lists known problems, limitations, and incompatibilities.

To access the HTML version of this document, do one of the following:

  • Choose Help > Readme from the WorkShop main window.

  • From a Netscape(TM) Communicator 4.0 or compatible Netscape version browser, go to index.html (file:/opt/SUNWspro/docs/index.html).

To view the text version of this document, type the following at a command prompt:

     example% more /opt/SUNWspro/READMEs/workshop.readme

Note - If your Sun WorkShop software is not installed in the /opt directory, ask your system administrator for the equivalent path on your system.


 Contents 
  1. About Sun WorkShop 6
  2. Software Corrections
  3. Problems and Workarounds 
  4. Limitations and Incompatibilities 
  5. Documentation Errors 

A. About Sun WorkShop 6 

Sun WorkShop 6 is available on the Solaris(TM) Operating Environment (SPARC(TM) Platform Edition) and Solaris Operating Environment (Intel Platform Edition) versions 2.6, 7, and 8.

To send comments or suggestions about Sun WorkShop 6 to the Sun WorkShop development team, choose Help > Send Comments from the Sun WorkShop main window.

For more information about this release, see: 

  • What's New in Sun WorkShop 6 -- Describes the new features in this release.

  • About Sun WorkShop 6 Documentation -- Describes the documentation available with this release and how to access it.

    The last three documents and all Sun WorkShop 6 manuals are accessible in HTML by pointing your browser to index.html (file:/opt/SUNWspro/docs/index.html). If your Sun WorkShop software is not installed in the /opt directory, ask your system administrator for the equivalent path on your system.



B.  Software Corrections

There is no new information at this time.



C. Problems and Workarounds

This section discusses the Sun WorkShop problems that could not be fixed in time for this release and possible workarounds for those problems. For updates, check Hot News for Sun WorkShop 6
(http://www.sun.com/workshop/users/ws.html).

This section is divided into the following subsections:

  1. WorkShop Problems and Workarounds
  2. Building Problems and Workarounds
  3. Browsing Problems and Workarounds
  4. Debugging Problems and Workarounds
  5. Editing Problems and Workarounds
  6. NEdit Problems and Workarounds
  7. Vi Problems and Workarounds
  8. Vim Problems and Workarounds
  9. File Chooser Problems and Workarounds
  10. Data Visualizer Problems and Workarounds
1. WorkShop Problems and Workarounds

  • WorkShop core dumps during startup if you specify more than 1024 file descriptors in your /etc/system file.

    Workaround:  Change set rlim_fd_max to 1024 or less and reboot.

  • The man <man-page-name> command might return the error message:
  • 	No manual entry for man page
    

    Workaround:  Try the following man command:

    	man -F <man-page-name>
    

  • Motif uses F10 to highlight a menu name. If you remap your function keys, do not remap the F10 key.

2. Building Problems and Workarounds

  • Building 64-bit Motif applications using the project wizard does not work. The generated Makefile looks for the Motif libraries in /usr/dt/lib and /usr/openwin/lib. For 64-bit applications, it needs to look in the sparcv9 subdirectories.

    Workaround:  Do the following in the Edit Current Project window (to open the window, choose Project > Edit Project):

    1. In the Select Standard Libraries panel, disable the Motif toggle.
    2. In the Enter User Libraries panel, add these three libraries:
        /usr/dt/lib/sparcv9/libXm.so
        /usr/openwin/lib/sparcv9/libXt.so
        /usr/openwin/lib/sparcv9/libX11.so

  • If you are building static archives (files with a .a file suffix) and you have enabled the strip symbol information option, WorkShop will strip the symbol table in the .a files. This means that you will not be able to link with the functions in the .a file.

    Workaround:  Disable the strip symbol information option in the Select Compiler Flags panel of the Edit Current Project window (to open the window, choose Project > Edit Project).

  • The .IGNORE makefile directive causes the Dmake Jobs Graph to ignore failed compiles and mark them as if they succeeded. The  make -k option does not have this problem and can be used instead of the .IGNORE makefile directive.
  • By default, WorkShop uses distributed make (dmake) to build all projects and build targets. If you wish to use make rather than dmake, be aware that a problem might occur in the Solaris 2.6 and 7 Operating Environments when compiling C++ sources that include standard C++ include files without a .h suffix (for example, iostream). The Sun WorkShop 6 C++ compiler and the Sun WorkShop 5.0 C++ compiler save the dependency between iostream and another include file iostream.cc into the interface file .make.state. If you have .KEEP_STATE in your makefile, make reads .make.state to find the hidden dependencies and tries to rebuild target iostream using the default Single Suffix Rule: CC -o /opt/SUNWspro/WS6/include/CC/istream /opt/SUNWspro/WS6/include/CC/istream.cc.

    This behavior will cause the compilation to fail.

    Workaround:  Use dmake instead of make in the Solaris 2.6 and Solaris 7 Operating Environments (this make utility in the Solaris 8 Operating Environment has been updated). If you do not want to perform distributed builds, run dmake in serial mode:

    	dmake -m serial

3. Browsing Problems and Workarounds

  • The SourceBrowserEngine (the backend process for the Source Browser) occasionally gets out of synch with the Source Browser database. When this happens, the engine will often core dump. It might core dump when rebuilding the index. If the SourceBrowserEngine core dumps, you might be able to resolve the problem by removing the Browser database and rebuilding with the -xsb option.

    To remove the Browser database:

    1. Go to the top level source directory of your application.
    2. Type the following at a command line:
    3. find . -type d \( -name sb_Index -o -name sb_Refd \
      -o -name sb_OldRoot -o -name sb_NewRoot \) \
      -exec rm -rf {} \;

4. Debugging Problems and Workarounds (See Also the Sun WorkShop dbx Readme)

  • For the Solaris Operating Environment (Intel Platform Edition): Sun WorkShop might dump core when debugging multiple processes simultaneously.

    For both the Solaris Operating Environment (Intel Platform Edition) and the Solaris Operating Environment (SPARC Platform Edition): Tab characters are not handled correctly in the Program I/O window.

    Both of these problems are caused by problems in the libDtTerm.so library.

    Workaround:  Download these dtterm patches (which might require the Motif runtime patches as well) from http://sunsolve.sun.com:

      5.6 sparc:
        105160 (dtterm), 105284 (motif runtime)
      5.6 intel:
        105161 (dtterm), 105285 (motif runtime)
      5.7 sparc:
        107094 (dtterm), 107081 (motif runtime)
      5.7 intel:
        107095 (dtterm), 107082 (motif runtime)

  • Using older copies of libC.so.5 might cause problems for dbx in the area of C++ exceptions. Warning messages about bad stabs and unhandled exceptions might result.
  • Workaround:  Link libC statically (use the option -staticlib=libC) or install the latest libC.so.5 patch on all systems. For more information about the shared library patch for C++, see the Sun WorkShop 6 Release Notes, accessible in HTML by pointing your browser to index.html (file:/opt/SUNWspro/docs/index.html) and clicking on the document title. (If your Sun WorkShop software is not installed in the /opt directory, ask your system administrator for the equivalent path on your system.)

  • The Dbx Commands window might show error messages and warnings not otherwise seen in the Debugging window. If the debugger does not work as expected, look in the Dbx Commands window for more information.
  • Data Evaluation from the Data Display is not affected by the Include inherited members debugging option.
  • The Attach Process filter uses an ed-style filter syntax instead of shell-style. The regular expression ``.*'' matches everything, while ``*'' matches nothing. For example, to filter for a particular program progname, use .*progname or progname.
  • Some Runtime Checking functionality is only accessible through the Dbx Commands window, including suppress and unsuppress. You can suppress the last error using the Suppress Last Reported Error button in the Runtime Checking window.
  • PortSocket warnings similar to the following may appear and can be safely ignored:
    • # workshop: warning: PortSocket::snd(): write() failed -- Broken pipe
      # workshop: warning: PortSocket::snd(): sz=8 fd=21.

  • Persistent breakpoints are not restored when you attach to a process. Sun WorkShop cannot determine the full path name of the process, so it does not detect the breakpoint information for the process. Also, if your application calls exec() in a signal handler to restart itself, the debugger does not recognize the new process image as the same executable as the old process and does not restore the breakpoints.
  • Workaround:  Type status -s at a command line to display a list of breakpoints set for the process, and copy the list into a file. When you restart the process, type source <filename> to restore the persistent breakpoints.

5. Editing Problems and Workarounds

  •  A compile-time error message might contain double quotes, such as:  The type "foo" is incomplete. If so, the double quotes in the error messages might appear as quot; in the editor footer.

6. NEdit Problems and Workarounds

  • The version of NEdit in Sun WorkShop 6 is 5.1 beta (plus some bug fixes) because the final version of NEdit 5.1 was not available.
  • Workaround:  To get an updated WorkShop integrated version of NEdit 5.1, go to ftp://ftp.nedit.org and navigate to:

      /pub/contrib/misc/SunWorkShop/neditSW-5.1.1-source.tar.gz
      /pub/contrib/misc/SunWorkShop/neditSW-5.1.1-sparc.tar.gz
      /pub/contrib/misc/SunWorkShop/neditSW-5.1.1-x86.tar.gz

  • Text files might be converted to DOS files.
  • Workaround:  This is an NEdit 5.1 beta bug that has been fixed in the version that is available from NEdit's ftp site (ftp://ftp.nedit.org).

  • Opening multiple NEdit windows might cause parts of the window to be corrupted.

    Workaround:  Resizing the window might solve this problem.

    The problem seems to be related to Motif 1. If you are using the Solaris 7 or Solaris 8 Operating Environment, you can recompile NEdit yourself, which will fix the problem. By recompiling, NEdit will use Motif 2 which does not have this problem. To compile your own version of NEdit:

    1. Get the latest version of the source code from the following ftp site:
        ftp://ftp.nedit.org/pub/contrib/misc/SunWorkShop/neditSW-5.1.1-source.tar.gz
      Then, type the following commands:
        cp neditSW-5.1.1-source.tar.gz /tmp
        cd /tmp
        gzip -d neditSW-5.1.1-source.tar
        mv neditSW-5.1.1-source.tar nedit_source.tar

      Or -- if getting the source from the ftp site is not possible -- go to /opt/SUNWspro/contrib/contrib6/NEdit5.1/src. (If your Sun WorkShop software is not installed in the /opt directory, ask your system administrator for the equivalent path on your system.) Then, type the following commands:

        cp nedit_source.tar.Z /tmp
        cd /tmp
        uncompress nedit_source.tar.Z

    2. Type the following commands:
        tar xvf nedit_source.tar
        cd nedit_source

    3. Customize the nedit_source/makefiles/Makefile.WorkShop file to set the macro WORKSHOP to point to your WorkShop installation directory. (It needs to find some additional source files, like the sources to the Xpm library).

    4. Type make.

  • In the Solaris 2.6 Operating Environment (SPARC Platform Edition), there is a long delay before the NEdit window displays.

    Workaround:  Download this patch from http://sunsolve.sun.com:

      5.6 sparc:
        105284 (motif runtime)
      5.6 intel:
        105285 (motif runtime)

    Installing the patch will improve performance dramatically. The patch also enables a resource, NEdit*XmMenuReduceGrabs. Setting this resource to True will eliminate the delay completely. You can add the line NEdit*XmMenuReduceGrabs: True to your .Xresources or .Xdefaults file.

7. Vi Problems and Workarounds

  • Sometimes moving the cursor over highlighted text causes the highlight to disappear.

    Workaround:  Use Control+L to refresh.

  • You cannot traverse the vi buttons using the tab/arrow mechanisms.
  • Using File > Save As causes the new file to be loaded into vi. Unsaved changes in the original file are not saved.

    Workaround:  Save the original file before saving it as another file name.

  • Jumping to tags might not operate correctly.
  • 8. Vim Problems and Workarounds

    • Breakpoint and other icons might remain in the lefthand column when switching files.
    • Workaround:  Type Control-L.

    9. File Chooser Problems and Workarounds

    • Changes to the current directory might not be reflected in the file chooser file list.

      Workaround:  Click Update to view the current list.

    10. Data Visualizer Problems and Workarounds

    • In order to graph data in arrays of dimension 3 or greater, a one- or two-dimensional slice of the array must be specified.
    • The array dimensions must be known at compile time. For example, you have a dynamically allocated array that is 50x50 integers starting at position data. You cannot use a cast to get the Visualizer to display it, as in
    •            *(int (*)[50][50]) data

      However, this will work for the Evaluate window and the Data Display windows.

      Workaround:  Using fix and continue, insert the following line in the code:

         int (*fixedSizeArray)[50][50] = (int (*)[50][50]) data;

      You can now graph *fixedSizeArray. This forces you to recompile every time the (dynamic) dimensions of the array changes.

    • C does not allow arbitrary dimensions to be sliced. Fortran does allow this.

    • D. Limitations and Incompatibilities 

      This section discusses the following limitations and incompatibilities with systems or other software: 

      1. Browsing Limitations and Incompatibilities
      2. Debugging Limitations and Incompatibilities
      3. Collector Limitations and Incompatibilities
      4. Visual Limitations and Incompatibilities
      5. Editing Limitations and Incompatibilities

      1. Browsing Limitations and Incompatibilities

      • You must use a database stored in the SunWS_cache directory (or the directory set by the SUNWS_CACHE_NAME environment variable) to use Sun WorkShop 6 Source Browsing. A database created with Sun Compilers 4.2 must be moved to the correct directory or be regenerated by recompiling the application. Sun WorkShop 6 Source Browsing works with all databases generated from Sun Compilers 4.2 and 5.0.
      • The .sbinit file has been renamed to sb_init and is now stored in the SunWS_config directory (or the directory set by the SUNWS_CONFIG_NAME environment variable). If you attempt to use source browsing without renaming your .sbinit file and moving it to the correct directory, Source Browsing displays the following warning:
        • Your .sbinit file must renamed before it will be used.

      • The SPARC version of Sun WorkShop is incompatible with the Intel version when Source Browsing. A source browser database generated on X86 cannot be used when browsing on a SPARC; the reverse is also true. Intermixing databases from these architectures can cause a segmentation fault (SEGV) in the browser.
      • 2. Debugging Limitations and Incompatibilities (See Also the Sun WorkShop dbx Readme)

        • Fortran users should compile with the -stackvar option to take full advantage of runtime checking. Some programs might not work properly with -stackvar. In such cases, try the -C compiler option, which turns on array subscript checking without runtime checking.
        • Runtime checking and watchpoints (stop modify in dbx) should not be used together. There is a multiplicative slowdown effect. From the WorkShop main window, choose Options > Debugging Options, then choose the category Forks and Threads, and set the toggle to off for "Allow Watchpoints in Multithreaded Programs."

        3. Collector Limitations and Incompatibilities

        • The Sampling Collector and Runtime Checking cannot be used during the same program run. You will get the following message:
            The collector and Runtime Checking cannot be mixed.
            Doing `uncheck -all' will allow use of collector in the next run.

          To turn off runtime checking, choose Checks > Disable Access Checking and Checks > Disable Memuse Checking in the Debugging window.

        4. Visual Limitations and Incompatibilities

        • There are many user widget integrations supported. See the READMEs in /opt/SUNWspro/WS6/user_widgets/* for information about the specific integrations. If your Sun WorkShop software is not installed in the /opt directory, ask your system administrator for the equivalent path on your system.

        5. Editing Limitations and Incompatibilities

        • The Save All Files Before Build option, which you set through the Text Editor Options dialog box, is only available for XEmacs.


        E. Documentation Errors 

        • The version of the NEdit text editor available with Sun WorkShop 6 is 5.1, not 5.0.2 as stated in the Introduction to Sun WorkShop and in the online help.


        Copyright 2000 Sun Microsystems, Inc., 901 San Antonio Road, Palo Alto, CA 94303, U.S.A. All rights reserved. 

        Sun, Sun Microsystems, the Sun logo, docs.sun.com, and Solaris are trademarks, registered trademarks, or service marks of Sun Microsystems, Inc. in the U.S. and other countries.