Differences between revisions 1 and 26 (spanning 25 versions)
Revision 1 as of 2009-02-03 19:51:16
Size: 4271
Editor: DavidAdam
Comment:
Revision 26 as of 2009-02-13 15:08:55
Size: 3383
Editor: DavidAdam
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
Manduba should run a GNOME buildbot slave in order to help tinderbox the GNOME code. Manduba should run a GNOME buildbot slave in order to help tinderbox the GNOME code, linked to http://build.gnome.org/
Line 9: Line 9:
PATH=/usr/local/bin:/usr/gnu/bin:/usr/sfw/bin:/opt/csw/bin:/opt/csw/sbin:/opt/SUNWspro/bin:/ucs/ccs/bin:/usr/bin: (in .zshenv) See http://developers.sun.com/solaris/articles/build_sw_on_solaris.html for general advice.
Line 11: Line 11:
The following Blastwave packages are installed. PATH=/space/buildbot/bin:/space/buildbot/prefix/bin:/usr/local/bin:/usr/gnu/bin:/usr/sfw/bin:/opt/SUNWspro/bin:/ucs/ccs/bin:/usr/ucb:/usr/bin: (from .zshenv) - make sure /usr/ucb is after /usr/ccs.
Line 13: Line 13:
{{{# (From site http://blastwave.network.com/csw/unstable )
       software localrev
         amanda 2.5.2p1,REV=2008.05.21
    berkeleydb4 4.2.52,REV=2008.02.23_rev=p5
   berkeleydb44 4.4.20,REV=2007.01.27
       binutils 2.17
          bzip2 1.0.5,REV=2008.11.26
         common 1.4.6,REV=2008.04.28
       cswutils 1.12,REV=2008.04.28
     cupsclient 1.2.7,REV=2007.01.22
         curlrt 7.18.0,REV=2008.01.28
      diffutils 2.8.1,REV=2005.11.10
          expat 1.95.7
       fakeroot 0.5.2,REV=2004.09.09.sparcfix
      fileutils 4.1,REV=2003.01.23
      findutils 4.2.30,REV=2007.03.19
     fontconfig 2.3.2,REV=2005.11.04
        fortune 9708,REV=2004.08.07
      freetype2 2.1.10,REV=2005.12.11
           gawk 3.1.5
       gcc4core 4.0.2,REV=2005.09.29
     gcc4corert 4.0.2,REV=2005.09.29
        gcc4g++ 4.0.2,REV=2005.09.29
      gcc4g++rt 4.0.2,REV=2005.09.29
             gd 2.0.33
           gdbm 1.8.3,REV=2006.01.01
       ggettext 0.14.1,REV=2005.06.29
    ggettextdoc 0.14.1,REV=2005.06.29
          ggrep 2.5,REV=2004.12.01
          glib2 2.18.3,REV=2008.11.26
          gnupg 1.4.9,REV=2009.01.23
        gnuplot 4.0.23,REV=2008.04.07
         gnutls 2.0.4
           gtar 1.15.91,REV=2006.07.26
        isaexec 0.1
           jpeg 6b,REV=2007.10.28
        libcups 1.2.7,REV=2007.01.22
          libgc 6.8
      libgcrypt 1.4.1,REV=2008.05.27
   libgpg_error 1.6
       libiconv 1.9.2
         libidn 0.5.19,REV=2006.01.02
         libnet 1.0.2,REV=2004.04.08_rev=a
     libsunmath 2007.08.04
       logwatch 5.2.2
           lsof 4.77,REV=2006.11.13
            mtx 1.2.18
        ncurses 5.7,REV=2009.01.23
        opencdk 0.6.6
    openldap_rt 2.3.39,REV=2008.02.22
        openssl 0.9.8g,REV=2008.04.30_rev=g
  openssl_devel 0.9.8,REV=2007.12.26_rev=g
     openssl_rt 0.9.8,REV=2007.12.26_rev=g
  openssl_utils 0.9.8,REV=2007.12.26_rev=g
     patchutils 0.2.29,REV=2004.06.27
           pcre 7.6,REV=2008.02.20
        pcre_rt 7.6,REV=2008.02.20
           perl 5.8.8,REV=2008.03.25
        pkg_get 3.8.4
pkg_update_watch 1.0,REV=2007.04.10
   pm_xmlparser 2.34,REV=2004.03.06
            png 1.2.29,REV=2008.05.08
       readline 5.2,REV=2009.01.23
           sasl 2.1.22,REV=2007.06.19
     schilybase 1.01,REV=2007.06.25
    schilyutils 1.02,REV=2008.04.29
         screen 4.0.3,REV=2008.04.30
  smartmontools 5.36,REV=2006.09.11
      textutils 2.1,REV=2003.01.23
           tiff 3.8.2,REV=2007.12.09
            top 3.6,REV=2007.01.01
            w3m 0.5.1,REV=2004.05.22
            xpm 3.4k,REV=2002.12.31
           zlib 1.2.3,REV=2007.05.12
.jhbuildrc:

{{{
checkoutroot = os.path.expanduser('~/checkout/gnome2')
prefix = '/space/buildbot/prefix/'
makeargs = '-j4'
module_autogenargs['gettext'] = autogenargs + ' LDFLAGS="-lsec"'
os.environ['INSTALL'] = os.path.expanduser('~/bin/install-check')
Line 89: Line 23:
As CSW packages (blastwave.org/opencsw.org) are not part of the running path, there's a wrapper script in ~/bin/git:

{{{
#!/bin/sh
PATH=/opt/csw/bin:$PATH
git $@
}}}

(git is also from opencsw while all other CSW packages come from Blastwave. Potential for interestingness.)

vte needs SUNWncurses installed.
Line 90: Line 36:

== Part 1: Configure jhbuild ==
http://live.gnome.org/Jhbuild

{{{
manduba: ~> mkdir -p ~/checkout/gnome2
manduba: ~> cd ~/checkout/gnome2
manduba: ~/checkout/gnome2> svn co http://svn.gnome.org/svn/jhbuild/trunk jhbuild
manduba: ~/checkout/gnome2> cd jhbuild
manduba: ~/checkout/gnome2/jhbuild> gmake -f Makefile.plain install-check CFLAGS='-DWITH_INSTALL=\"/usr/ucb/install\"'
}}}

(see http://bugzilla.gnome.org/show_bug.cgi?id=364465)

{{{
manduba: ~/checkout/gnome2/jhbuild> gmake -f Makefile.plain
manduba: ~/checkout/gnome2/jhbuild> gmake -f Makefile.plain install
}}}

Create ~/.jhbuildrc as above.

To pick up standard version of gettext, libtool, automake-1.{4,7,8,9,10}, pkg-config, python, guile and waf,

{{{
manduba: ~> jhbuild bootstrap
}}}

Building gettext-0.17 on Solaris requires special arguments: http://savannah.gnu.org/bugs/?21604 which are added to jhbuild above. However, using the bootstrap version fixes errors on Solaris with "AM_NLS" Automake macros (the system gettext doesn't have them).

/!\ Current issues:
 * No SSL CA certs for wget, meaning Mozilla packages have to be manually downloaded
 * Guile doesn't build (from the bootstrap moduleset) - configure dies with
{{{configure: error: GNU MP not found, see README}}}
 * PolicyKit doesn't configure because when checking for PAM it tries to pass -l,as-needed which isn't supported by Solaris' ld(1). It also assumes that if using GCC, you're using GNU ld, which is not the case. Search configure.in for 'as-needed' to see the check. Filed as https://bugs.freedesktop.org/show_bug.cgi?id=20060
 * A bunch of modules fail to build with this error (more investigation needed):
{{{
/usr/include/sys/feature_tests.h:353:2: #error "Compiler or options invalid for pre-UNIX 03 X/Open applications and pre-2001 POSIX applications"
}}}
 * PulseAudio doesn't configure - dies with
{{{
checking for gdbm_open in -lgdbm... no
checking gdbm.h usability... no
checking gdbm.h presence... no
checking for gdbm.h... no
configure: error: gdbm.h not found
}}}

== Part 2: Configure buildbot ==
http://live.gnome.org/BuildBrigade/DocsAndGuides

Manduba should run a GNOME buildbot slave in order to help tinderbox the GNOME code, linked to http://build.gnome.org/

Running configuration

Manduba is running SunOS manduba 5.11 snv_101 sun4u sparc SUNW,Ultra-Enterprise Solaris

The buildbot runs as user 'buildbot' from /space/buildbot/

See http://developers.sun.com/solaris/articles/build_sw_on_solaris.html for general advice.

PATH=/space/buildbot/bin:/space/buildbot/prefix/bin:/usr/local/bin:/usr/gnu/bin:/usr/sfw/bin:/opt/SUNWspro/bin:/ucs/ccs/bin:/usr/ucb:/usr/bin: (from .zshenv) - make sure /usr/ucb is after /usr/ccs.

.jhbuildrc:

checkoutroot = os.path.expanduser('~/checkout/gnome2')
prefix = '/space/buildbot/prefix/'
makeargs = '-j4'
module_autogenargs['gettext'] = autogenargs + ' LDFLAGS="-lsec"'
os.environ['INSTALL'] = os.path.expanduser('~/bin/install-check')

As CSW packages (blastwave.org/opencsw.org) are not part of the running path, there's a wrapper script in ~/bin/git:

PATH=/opt/csw/bin:$PATH
git $@

(git is also from opencsw while all other CSW packages come from Blastwave. Potential for interestingness.)

vte needs SUNWncurses installed.

Configuration procedure

Part 1: Configure jhbuild

http://live.gnome.org/Jhbuild

manduba: ~> mkdir -p ~/checkout/gnome2
manduba: ~> cd ~/checkout/gnome2
manduba: ~/checkout/gnome2> svn co http://svn.gnome.org/svn/jhbuild/trunk jhbuild
manduba: ~/checkout/gnome2> cd jhbuild
manduba: ~/checkout/gnome2/jhbuild> gmake -f Makefile.plain install-check CFLAGS='-DWITH_INSTALL=\"/usr/ucb/install\"'

(see http://bugzilla.gnome.org/show_bug.cgi?id=364465)

manduba: ~/checkout/gnome2/jhbuild> gmake -f Makefile.plain
manduba: ~/checkout/gnome2/jhbuild> gmake -f Makefile.plain install

Create ~/.jhbuildrc as above.

To pick up standard version of gettext, libtool, automake-1.{4,7,8,9,10}, pkg-config, python, guile and waf,

manduba: ~> jhbuild bootstrap

Building gettext-0.17 on Solaris requires special arguments: http://savannah.gnu.org/bugs/?21604 which are added to jhbuild above. However, using the bootstrap version fixes errors on Solaris with "AM_NLS" Automake macros (the system gettext doesn't have them).

/!\ Current issues:

  • No SSL CA certs for wget, meaning Mozilla packages have to be manually downloaded
  • Guile doesn't build (from the bootstrap moduleset) - configure dies with

configure: error: GNU MP not found, see README

  • PolicyKit doesn't configure because when checking for PAM it tries to pass -l,as-needed which isn't supported by Solaris' ld(1). It also assumes that if using GCC, you're using GNU ld, which is not the case. Search configure.in for 'as-needed' to see the check. Filed as https://bugs.freedesktop.org/show_bug.cgi?id=20060

  • A bunch of modules fail to build with this error (more investigation needed):

/usr/include/sys/feature_tests.h:353:2: #error "Compiler or options invalid for pre-UNIX 03 X/Open applications and pre-2001 POSIX applications"

checking for gdbm_open in -lgdbm... no
checking gdbm.h usability... no
checking gdbm.h presence... no
checking for gdbm.h... no
configure: error: gdbm.h not found

Part 2: Configure buildbot

http://live.gnome.org/BuildBrigade/DocsAndGuides