The Linux Foundation

 
TetSourceBuildInstructions

From The Linux Foundation

Back to TestGroup

Contents

Tet Source Build Instructions

This document has instructions on how to build the source for tet. (written based on a build on a Mandriva system, some variations expected on different distros)

Assumptions

  • bzr is installed, 0.13 or better
  • build tools are installed (make, gcc)
  • LSB-build tools are installed (lsb-build-base lsb-build-cc, lsb-build-c++)
  • Python development packages are installed (need Python.h - lib64python2.5-devel for Mandriva)
  • lsb dynamic linker is in place (/%_lib/ld-lsb-%_arch.so.3)
  • rpm-build is installed
  • my 'pwd' is ~/LSB-work/doc-test
  • all build work is done as a "normal" user, not root
  • Distribution pre-requisites for running LSB tests are installed (package lsb-test on Mandriva)

Building Steps

Checkout a branch from Bazaar-NG

An initial branch will take some minutes to complete:

bzr branch http://bzr.freestandards.org/lsb/3.1/tet-harness tet-harness

or if you have an existing branch:

cd tet-harness
bzr pull

Build the rpm packages

Source is pulled from http://www.opengroup.org/infosrv/TET/TET3/

I found the PYTHONPATH environment variable I had set for tet-devel interfered with the build:

unset PYTHONPATH
cd tet-harness
make

You should find something like this at the end of the build:

lsb-tet3-lite-3.7-5.lsb3.src.rpm
lsb-tet3-lite-3.7-5.lsb3.x86_64.rpm
lsb-tet3-lite-devel-3.7-5.lsb3.x86_64.rpm

Troubleshooting Build Problems

If you find issues in following the above procedure, please feel free to fix it or add notes in this area.

If you happen to have the lsb-python binary on your PATH before the system one, you may see the build fail with something like this:

+ make
make[1]: Entering directory `/var/tmp/rpm-build/BUILD/tet3-lite-3.7/contrib/pyth
on_api'
/opt/lsb/bin/lsbcc -D_POSIX_SOURCE -DTET_LITE -O -fPIC -I/usr/include/appbat -c 
pytet_wrap.c
pytet_wrap.c:13:20: error: Python.h: No such file or directory

Where it should be more like:

+ make
make[1]: Entering directory `/var/tmp/rpm-build/BUILD/tet3-lite-3.7/contrib/pyth
on_api'
/opt/lsb/bin/lsbcc -D_POSIX_SOURCE -DTET_LITE -O -fPIC -I/usr/include/python2.5 
-c pytet_wrap.c

Some of the parsing for PYTHONLIB and friends in the spec file seems to fall apart in this scenario. This may be corrected soon.


[Article] [Discussion] [View source] [History]