12 Trouble Shooting

Contents of this section

Problem:

Server aborts with the error message, "Failed to map video display memory".

Causes:

Your system does not have the correct /etc/conf/pack.d/cn/class.h, You can confirm this by editing the file and looking for the string "SVGA", if it is not there then you should re-install this file from the "Extended Utilities" diskettes provided with your OS. If this is not possible then installing the "dmmap" driver from the distribution may allow the server to operate correctly.

Problem:

xf86install does not work.

Causes:

You should not be running xf86install when using the XFree86 server under SCO. It is used for Interactive (ISC) installations.

Problem:

The server starts but the screen is not aligned correctly or is shaky and impossible to view.

Causes:

This is most likely due to an incorrect XF86Config setup. Look for the files README.Config VideoModes.doc (in /usr/X11R6/lib/X11/doc with the binary distribution). These files explains how to fix up your video modes.

Problem:

  1. Can only run a limited number of xterms.
  2. xterm does not work but other programs like xclock do work.

Causes:

Not enough or no pseudo ttys devices are present on your system. Depending on which version of SCO you are using you will have to do different things.

3.2.2

cd /etc/conf/cf.d; ./configure and increase the number of pseudo ttys. Rebuild the kernel. "ls -al /dev/ttyp0 /dev/ptyp0" to get the major numbers for the slave and master drivers. Use mknod to create the extra devices using the naming schemes ttyp0-9a-f and ptyp0-9a-f.

3.2.4

Run "mkdev ptty" and increase the number of ptty's.

Problem:

When running curses/termcap applications in an xterm the output gets corrupted especially when scrolling.

Causes:

  1. You are running an original 1.3 distribution of XFree86. Update to the latest version (2.0 or greater).
  2. You have resized the window and not ran "eval `resize`" before using your application. The SCO operating system does not support dynamic resizing or xterms fully so this command must be run after resizing an xterm in order for curses/termcap applications to operate correctly.

Problem:

  1. When starting X it dies with an error "Cannot access a needed shared library".
  2. When starting an X application is dies with the above error.

Causes:

  1. You do not have the binaries installed in the correct directory. Check that they are in /usr/X11R6
  2. You have upgraded to a new binary distribution which has a new version of the shared libraries which are not compatible with your old binaries. To fix this you will need to re-install the old shared libraries or recompile your application against the new libraries.

Problem:

My SCO 3.2.4 system fails to build libXext.a for shared libraries.

Causes:

This behaviour was observed when compiling with a STDC_VALUE=0 for gcc. mkshlib was core dumping on building the shared library in this case. Using a new gcc without the STDC_VALUE=0 or using a 3.2.2 mkshlib appears to fix this problem.

Problem:

When linking against the SCO motif library I get an unresolved external for "XtDisplayStringConversionWarning" when using gcc.

Causes:

The SCO library is compiled with limited length identifiers. To work around this add the following code to your application when compiling under XFree86 with gcc and SCO motif.
    #ifdef SCO
    void XtDisplayStringConversionWarnin(dpy, from, toType)
        Display*  dpy;
        String    from;
        String    toType;
    { XtDisplayStringConversionWarning(dpy, from, toType); }
    #endif

Problem:

When compiling the XFree86 source under 3.2.4, libX11 fails to get built with an error like "mkshlib : : cannot exec /bin/sh"

Causes:

Read the section on compiling for 3.2.4. To fix this use "env - make".

Problem:

The server fails to run and prints out a line similar to:

XFree86: Cannot open /dev/spx for ???? listener: No such file or directory

Causes:

All SCO unix installations appear to have the Streams pseudo tty driver installed its just not all the devices are present.

  1. there should be a /etc/conf/pack.d/sp directory,
  2. /etc/conf/sdevice.d/sp should have a 'Y' in it.
  3. You need a file in /etc/conf/node.d which contains something like:
            clone   spx             c       sp
            sp      X0S             c       127
            sp      X0R             c       126
            sp      X1S             c       125
            sp      X1R             c       124
            sp      X2S             c       123
            sp      X2R             c       122
            sp      X3S             c       121
            sp      X3R             c       120
            sp      X4S             c       119
            sp      X4R             c       118
            sp      X5S             c       117
            sp      X5R             c       116
            sp      X6S             c       115
            sp      X6R             c       114
            sp      X7S             c       113
            sp      X7R             c       112
    
if you don't have something like this (maybe called "Xsco") then create one and that should fix your problem. As far as I can tell the streams pseudo tty driver should be there.

The simplest way to get the devices if you had to create this file is to rebuild the kernel and the environment. If you don't want to do this then:

            
        touch /etc/.new_unix
        cd /etc/conf/bin
        ./idmkenv
 
and try it out.

Next Chapter, Previous Chapter

Table of contents of this chapter, General table of contents

Top of the document, Beginning of this Chapter