LTSP-4 Errata

February 7, 2004 - James McQuillan

This page contains information about problems relating to LTSP-4.

Updates on this page will most likely be rolled into future releases of the LTSP-4 packages. We put them here first, to get them into your hands as quickly as possible.


Contents:

1) Fatal server error: You must specify a keyboard in XF86Config
2) syntax error, line=38
3) ltspcfg - Use of ininitialized value in ...


Problem:

When the workstation boots and tries to enter graphical mode, it fails with the following error message:
  Fatal server error:
  You must specify a keyboard in XF86Config

Explanation:

The above error can happen if you are attempting to use the XFree86 3.3.6 Xserver.

The message is misleading. What has actually happened is the /tmp/XF86Config.1 file is empty. This is caused by the fact that the build_x3_cfg script is missing.

Solution:

The solution is to download this build_x3_cfg script and install it in your ${LTSP_ROOT}/i386/etc directory. Typically, this will be in /opt/ltsp/i386/etc.

Once you've put the script into the proper place, make sure you set the ownership and permissions properly. Here's an example of how to set it:

  chown root:root /opt/ltsp/i386/etc/build_x3_cfg
  chmod 0755      /opt/ltsp/i386/etc/build_x3_cfg
  


Problem:

The workstation doesn't seem to be picking up parameters from the lts.conf file, or you see an error like this on the screen during bootup of the workstation:
  parse error. line=38

Explanation:

The getltscfg program is the utility that is used to read entries from the lts.conf file. This utility has been completely rewritten for LTSP-4. It now uses flex and bison to implement the lexical analizer and parser. The problem is that the grammer that is specified is using equal signs "=" as delimiters between the keywoards and the values. If the value contains equal signs, it confuses getltscfg and causes it to spit out the error, and ignore the remainder of the file.

Solution:

The quick solution is to put quotes around any parameter values that contain equal signs. The error message printed by getltscfg includes the line number of the entry that caused the error.

This is an example of a config entry that would cause an error:

    SMODULE_01  =  sb io=0x220 irq=5 dma=1

And this is how a corrected entry should look:

    SMODULE_01  =  "sb io=0x220 irq=5 dma=1"

We're looking at a change to getltscfg to make it allow embedded quotes in values, without requiring the value be enclosed in quotes.


Problem:

Errors from the ltspcfg utility complaining about uninitialized values.

  Checking Runlevel....: 3
  Checking Ethernet InterfacesUse of uninitialized value in pattern match (m//) at /usr/sbin/ltspcfg line 387,  line 1.
  Use of uninitialized value in pattern match (m//) at /usr/sbin/ltspcfg line 387,  line 2.
  Use of uninitialized value in pattern match (m//) at /usr/sbin/ltspcfg line 387,  line 3.

Explanation:

The ltspcfg utility is written in perl, and it runs various system programs, such as ipconfig and netstat. The logic in ltspcfg is expecting those utilities to output English text. The program gets confused when other languages are set.

Solution:

The ltspcfg utility has been updated to set LANG=C before calling the system utilities. So, those utilities now output English when run from inside ltspcfg.

You can download the updated ltspcfg packages here.

ltspcfg-0.5 RPM
ltspcfg-0.5 TGZ