[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Testing of lsbdev and sample implementation



I have been running some tests combining the latest LSB Development Package
(lsbdev-1.0.7) and the latest LSB Sample Implementation
(minimal-runtime-0.8.tar.gz) and have run into some problems getting the
sample application, rsync, to execute. Basically I built rsync in lsbdev
using the system headers (Debian system). The rsync app will not build
using the set of headers currently in lsbdev. Following this I copied the
resulting rsync file to the sample implementation directory. When I tried
to run it I ran into a series of problems. Here's what I saw.

1. When I first tried running the rsync command, I got the following error
messsage:

     rsync: /lib/lsb/libc.so.6: version 'GLIBC_2.2.3' not found (required
by rsync)

The problem appears to be caused by a call to the function fnmatch, which
is not defined by the LSB. This can probably be resolved by having rsync
statically link fnmatch, but I couldn't get it to work. Instead I worked
around the problem by modifying the config.h file in the rsync source
directory. It has a variable HAVE_FNMATCH which indicates whether or not
libc on the system has fnmatch in it. By commenting out the setting of this
variable I was able to get beyond this first problem.

2. After fixing the problem with fnmatch, I tried rsync again and got this
message:

     Failed to exec rsh: No such file or directory

This is ocurring because the sample implementation does not have the rsh
command in it. To work around this problem I simply copied /usr/bin/rsh to
/tmp/live/usr/bin/rsh.

3. After getting around the problem with rsh, I tried rsync again and got
this message:

     rsh: shell/tcp: unknown service.

This problem happens because the sample implementation does not have an
/etc/services file. To work around this problem I copied /etc/services to
/tmp/live/etc/services.

Now, after all the steps above I was able to successfully execute the rsync
command in the sample implementation. All this leads me some questions
about the sample implementation. The current version of the sample
implementation seems to be pretty old with no changes since the summer.
Does anyone know what its status is and when a new version will be
available? The problems I found with /usr/bin/rsh and /etc/services missing
lead me to believe we probably need some more files added to the sample
implementation. There are most likely other basic applications that need
other missing files. Is there a list somewhere of candidates to be added to
the sample implementation?

The main reason I have been doing these tests is because I am trying to get
some application development teams at IBM to start self-certifying their
apps for LSB compliance. To do this I need to point them to a good build
environment and sample implementation. If we can't provide a fairly robust
sample implementation, the app teams will lower the priority of getting
their products LSB compliant.

Regards,

Marvin Heffler
Linux Standard Base and Developers Toolbox
IBM Linux Technology Center
11400 Burnet Road, Zip 908-1A33
Austin, TX 78758
(512) 838-0953    T/L 678-0953



Reply to: