'''~+Build brigade en la T200+~''' == Software instalado == * Ver http://live.gnome.org/BuildBrigade/DocsAndGuides/GnomeBuildbotInstallation == 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 () $ mkdir -p ~/gnome/work/src $ mkdir -p ~/gnome/work/bin $ mkdir -p ~/gnome/work/slaves # Directory to keep downloaded sources () $ mkdir ~/sources }}} * Dentro del $HOME de este usuario, en el directorio ''~/sources'', se ha bajado la [[http://downloads.sourceforge.net/buildbot/buildbot-0.7.5.tar.gz|0.7.5 del buildbot]] y la [[http://tmrc.mit.edu/mirror/twisted/Twisted/2.5/Twisted-2.5.0.tar.bz2|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 [[ftp://ftp.sunfreeware.com/pub/freeware/sparc/10/python-2.5.1-sol10-sparc-local.gz|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 }}}