Build brigade en la T200
Software instalado
Entorno
- User: gslave, ZFS: /export/backups/gslave, con la estructura de directorios tal y como dice en el documento arriba citado, es decir:
$ mkdir -p ~/gnome # Directories for the actual build process (<work>) $ mkdir -p ~/gnome/work/src $ mkdir -p ~/gnome/work/bin $ mkdir -p ~/gnome/work/slaves # Directory to keep downloaded sources (<sources>) $ mkdir ~/sources
Dentro del $HOME de este usuario, en el directorio ~/sources, se ha bajado la 0.7.5 del buildbot y la 2.5.0 de Twisted.
Ahora vamos a instalar Twisted de acuerdo al documento arriba citado. Al python 2.3.3 instalado en /usr/sfw/bin le faltan cosas, así que instalamos desde sunfreeware.com el python 2.5.1. Una vez hecho esto, empezamos a instalar Twisted:
gslave@gnomehispano $ cd sources/Twisted-2.5.0/zope.interface-3.3.0 gslave@gnomehispano $ python ./setup.py build ... gslave@gnomehispano $ python ./setup.py install --home=~ ...
- Parece que se instaló sin errores.
- Instalamos ahora el buildbot.
gslave@gnomehispano $ cd sources/buildbot-0.7.5 gslave@gnomehispano $ python ./setup.py build running build running build_py ... copying and adjusting bin/buildbot -> build/scripts-2.5 changing mode of build/scripts-2.5/buildbot from 644 to 755 gslave@gnomehispano $ python ./setup.py install --home=~ ... creating /export/home/gslave/lib/python/buildbot/test/subdir copying buildbot/test/subdir/emit.py -> /export/home/gslave/lib/python/buildbot/test/subdir running install_egg_info Writing /export/home/gslave/lib/python/buildbot-0.7.5-py2.5.egg-info gslave@gnomehispano $
- Parece que también se ha instalado sin errores.
- Instalación de jhbuild (para hacer el checkout hemos tenido que instalar svn y todas las dependencias, usando software de sunfreeware.com).
gslave@gnomehispano $ svn co http://svn.gnome.org/svn/jhbuild/trunk ./jhbuild ... A jhbuild/NEWS U jhbuild Checked out revision 1911. gslave@gnomehispano $
- El siguiente paso será compilar e instalar jhbuild, aunque parece que falla:
gslave@gnomehispano $ gmake -f Makefile.plain Run "make install" to install. gslave@gnomehispano $ gmake -f Makefile.plain install /bin/sh: test: unknown operator == gmake: *** [install] Error 1
- Parece que invoca al shell de SVR4 en lugar del de GNU (BASH). Para forzar a que use la BASH le añadimos al Makefile.plain una línea "SHELL = /usr/bin/bash" al principio e instalamos de nuevo. El resultado parece ok:
gmake -f Makefile.plain install Creating /export/home/gslave/bin/jhbuild Creating /export/home/gslave/.local/share/applications/jhbuild.desktop install -m 755 install-check /export/home/gslave/bin/install-check install-check installed as /export/home/gslave/bin/install-check
Ahora en el fichero $HOME/.jhbuildrc se verifican las variables recomendadas:
makeclean = 'yes' alwaysautogen = True checkout_mode = 'clobber' os.environ['CFLAGS'] = '-g3 -O0 -fprofile-arcs -ftest-coverage' os.environ['CXXFLAGS'] = '-g -O0 -fprofile-arcs -ftest-coverage' os.environ['CPPFLAGS'] = '-g -O0 -fprofile-arcs -ftest-coverage' # Uncomment this if you are using gcc 4.1 (not tested with gcc 4.0) # os.environ['LDFLAGS'] = '-lgcov'
Introducimos el $HOME/bin en el $PATH del usuario (fichero /export/home/gslave/.profile).
Intentamos lanzar jhbuild:
gslave@gnomehispano $ jhbuild bootstrap [...] ImportError: ld.so.1: python: fatal: libncurses.so.5: open failed: No such file or directory
Hacen falta las libncurses 5. Las bajamos de sunfreeware y las instalamos (versión: ftp://ftp.sunfreeware.com/pub/freeware/sparc/10/ncurses-5.6-sol10-sparc-local.gz).
Una vez instalado, ejecutamos de nuevo jhbuild:
$ jhbuild bootstrap
*** Checking out gettext *** [1/15]
wget ftp://ftp.gnu.org/gnu/gettext/gettext-0.16.tar.gz -O /export/home/gslave/gnome/work/src/gettext-0.16.tar.gz
--2008-08-09 11:47:14-- ftp://ftp.gnu.org/gnu/gettext/gettext-0.16.tar.gz
=> `/export/home/gslave/gnome/work/src/gettext-0.16.tar.gz'
Resolving ftp.gnu.org... 140.186.70.20
Connecting to ftp.gnu.org|140.186.70.20|:21... connected.
Logging in as anonymous ... Logged in!
==> SYST ... done. ==> PWD ... done.
==> TYPE I ... done. ==> CWD /gnu/gettext ... done.
==> SIZE gettext-0.16.tar.gz ... 8546162
==> PASV ... done. ==> RETR gettext-0.16.tar.gz ... done.
Length: 8546162 (8.1M)
100%[=======================================>] 8,546,162 440K/s in 21s
2008-08-09 11:47:36 (396 KB/s) - `/export/home/gslave/gnome/work/src/gettext-0.16.tar.gz' saved [8546162]
gunzip -dc "/export/home/gslave/gnome/work/src/gettext-0.16.tar.gz" | tar xf -
*** Configuring gettext *** [1/15]
[...]
*** Installing gettext *** [1/15]
make install
Making install in gnulib-local
Making install in gettext-runtime
Making install in doc
Making install in intl
if { test "gettext-runtime" = "gettext-runtime" || test "gettext-runtime" = "gettext-tools"; } \
&& test 'yes' = yes; then \
../../build-aux/install-sh -c -d /export/home/gslave/gnome/work/bin/lib /export/home/gslave/gnome/work/bin/include; \
/export/home/gslave/bin/install-check -m 644 libintl.h /export/home/gslave/gnome/work/bin/include/libintl.h; \
/bin/sh ../libtool --mode=install \
/export/home/gslave/bin/install-check -m 644 libintl.la /export/home/gslave/gnome/work/bin/lib/libintl.la; \
if test "no" = yes; then \
dependencies=`sed -n -e 's,^dependency_libs=\(.*\),\1,p' < /export/home/gslave/gnome/work/bin/lib/libintl.la | sed -e "s,^',," -e "s,'\$,,"`; \
if test -n "$dependencies"; then \
rm -f /export/home/gslave/gnome/work/bin/lib/libintl.la; \
fi; \
fi; \
else \
: ; \
fi
*** Error code 255
make: Fatal error: Command failed for target `install-exec'
Current working directory /export/home/gslave/gnome/work/src/gettext-0.16/gettext-runtime/intl
*** Error code 1
The following command caused the error:
failcom='exit 1'; \
for f in x $MAKEFLAGS; do \
case $f in \
*=* | --[!k]*);; \
*k*) failcom='fail=yes';; \
esac; \
done; \
dot_seen=no; \
target=`echo install-recursive | sed s/-recursive//`; \
list='doc intl intl-java intl-csharp gnulib-lib libasprintf src po man m4 tests'; for subdir in $list; do \
echo "Making $target in $subdir"; \
if test "$subdir" = "."; then \
dot_seen=yes; \
local_target="$target-am"; \
else \
local_target="$target"; \
fi; \
(cd $subdir && make $local_target) \
|| eval $failcom; \
done; \
if test "$dot_seen" = "no"; then \
make "$target-am" || exit 1; \
fi; test -z "$fail"
make: Fatal error: Command failed for target `install-recursive'
Current working directory /export/home/gslave/gnome/work/src/gettext-0.16/gettext-runtime
*** Error code 1
The following command caused the error:
failcom='exit 1'; \
for f in x $MAKEFLAGS; do \
case $f in \
*=* | --[!k]*);; \
*k*) failcom='fail=yes';; \
esac; \
done; \
dot_seen=no; \
target=`echo install-recursive | sed s/-recursive//`; \
list='gnulib-local gettext-runtime gettext-tools autoconf-lib-link'; for subdir in $list; do \
echo "Making $target in $subdir"; \
if test "$subdir" = "."; then \
dot_seen=yes; \
local_target="$target-am"; \
else \
local_target="$target"; \
fi; \
(cd $subdir && make $local_target) \
|| eval $failcom; \
done; \
if test "$dot_seen" = "no"; then \
make "$target-am" || exit 1; \
fi; test -z "$fail"
make: Fatal error: Command failed for target `install-recursive'
*** error during stage install of gettext: ########## Error running make install *** [1/15]
[1] rerun stage install
[2] ignore error and continue to done
[3] give up on module
[4] start shell