Information for SCO Users : Trouble Shooting
Previous: Known Problems
Next: Acknowledgements

10. Trouble Shooting

Problem:

The server does not start up, and I cannot tell what is going wrong as it did not print any error messages.

Causes:

There can be any number of causes why the server doesn't start. The first step is to find out what the server has to say. To do this we have to catch the error output of the server into a file. This output contains a log of what the server is finding/doing as it starts up. To get this output run:
               startx 2> /tmp/errs
	
The output of the server will now be in "/tmp/errs". You should look through this output for possible problems, and then check here in this document for any references to the problems you are seeing.

Problem:

The server starts up, the screen goes blank, and I never see anything else. It appears that my machine has hung.

Causes:

Again this can have many causes. Most likely your XF86Config is wrong. You should be able to kill the server by typing Ctrl-Alt-BackSpace, if it is still running. If this does not restore your display then you may have to drive your system blind. Always keep another login running at the shell prompt so that you may switch to that screen and run commands even if you cannot see anything on the screen. Try these things, usually in the order given:
  • log out of the login where you started ``X'' and then change consoles. This will cause the SCO screen switching code to try to reset the card.
  • run ``vidi v80x25'', this command will also try to set your card into a viewable mode.
  • shutdown the machine cleanly with ``shutdown'' and try again.
When first trying to get XFree86 to run, be sure to use a simple setup. Get 640x480 working first then move on to higher resolutions. Always trap the output of the server as shown earlier. Once you have the valid clocks for your video card (as provided in the server output), hard code them into your XF86Config as this will take some strain off your monitor during XFree86 startup where it usually probes the various clock frequencies. Getting the ``X'' screen to appear can be a painfully slow task. Be patient and read as much of the doco as you can handle. You will get it to work.

Problem:

           Fatal server error:
           xf86MapVidMem:No class map defined for (XXXXX,XXXXX)

Causes:

  1. 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. 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 (3.2 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 of 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:

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:

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, but 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.


Information for SCO Users : Trouble Shooting
Previous: Known Problems
Next: Acknowledgements