[lsb-discuss] building the X11 test suite (vsw4)

Wichmann, Mats D mats.d.wichmann at intel.com
Wed Dec 20 09:04:52 PST 2006

We've reached a bit of a dilemma with the X11 test
suite in that it's become hard to build.

It is desirable for the test binaries to require
the use of the LSB linker, in case the system under
test somehow requires different libraries for LSB
support, as only the standard libraries will be
tested if this is not done.  That would mean the
test has possibly seen a different environment than
LSB-conforming binaries will see.  I don't believe
there are any cases where this would have an impact
today, to be honest, but it's a potential concern.

There are three possible approaches to building
the test suite:

1) use lsbcc to build.  meets the desire to have
the test binaries have the LSB linker in them.
unfortunately, the test suite does not currently
build with lsbcc due to three problems that don't
have trivial resolutions.

2) use standard gcc to build.  works fine on the
current tree in version control, but does not meet
the desire to have the LSB linker.

3) play a trick where the build is done with gcc
but the LSB linker is forced.  This is the way
past builds have done it - the gcc specs file has
to be manually edited, the suite built, and then
the specs file restored (lsb-runtime test and the
new X11 test suite, xts5, also use this trick).
Unfortunately this is an unsupportable mechanism -
not only is it really flaky to temporarily alter
your system in order to build releases, but modern
(4.0 and later) gcc versions don't have an external
specs file to modify any longer, and in fact this
investigation was kicked off by the test suite no
longer building at all because the pre-build check
ends up hanging (a grep that never gets any input
file).  I imagine the build could be modified to
supply the "-Wl,--dynamic-linker=FOO" argument, but
this turns out to be non-trivial due to the use of
an intermediate program - the tests builds are
actually driven by tcc.  The other possible approach
is to continue to build on a gcc 3.4 system, but
none of the current "official build" machines have
gcc3.4 compilers - they may be available, but they're
at least not currently installed.

Open to suggestions here....

More information about the lsb-discuss mailing list