5518
Comment:
|
29193
|
Deletions are marked like this. | Additions are marked like this. |
Line 2: | Line 2: |
[[TableOfContents]] | |
Line 9: | Line 9: |
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. |
See http://developers.sun.com/solaris/articles/build_sw_on_solaris.html and http://wikis.sun.com/display/SolarisDeveloper/Issues+When+Porting+Open+Source+Projects+to+Solaris for general advice. PATH=/space/buildbot/bin:/space/buildbot/prefix/bin:/usr/local/bin:/usr/gnu/bin:/usr/sfw/bin:/opt/SUNWspro/bin:[[BR]]/usr/ccs/bin:/usr/ucb:/usr/bin:/usr/X11/bin (from .zshenv) - make sure /usr/ucb is after /usr/ccs. |
Line 16: | Line 16: |
moduleset = 'gnome-suites-2.26' | moduleset = 'gnome-suites-2.28' # A list of the modules to build. Defaults to the Gnome Desktop and # developer platform. # modules = [ 'meta-gnome-desktop' ] # use a separate directory for sources to share between jhbuilds dvcs_mirror_dir = '/space/buildbot/checkout/sources' tarballdir = '/space/buildbot/checkout/sources' # extra arguments to pass to all autogen.sh scripts # to speed up builds of gnome2, try '--disable-static --disable-gtk-doc' # it is also possible to set CFLAGS this way, 'CFLAGS="-g -O2"' for example #autogenargs='' module_autogenargs['gettext'] = autogenargs + ' LDFLAGS="-lsec"' module_autogenargs['gst-plugins-base'] = autogenargs + ' CFLAGS=-I/usr/X11/include' module_autogenargs['gtk+'] = autogenargs + ' --without-libjasper' # GNU MP decides to build 64-bit libraries, despite the toolchain being 32-bit module_autogenargs['gmp'] = autogenargs + ' ABI=32' module_autogenargs['libgda'] = autogenargs + ' --without-mysql' module_autogenargs['libxml2'] = autogenargs + ' --with-python=/space/buildbot/prefix/bin/python' # dtrace requires root permission module_autogenargs['mono'] = autogenargs + ' --disable-dtrace' # NSS doesn't like -j4 module_makeargs['nss'] = '' # NSPR is built 64-bit by default module_autogenargs['nspr'] = autogenargs + ' --disable-64bit' # e-d-s and e-e require Sun LDAP to be explicitly enabled module_autogenargs['evolution-data-server'] = autogenargs + ' --with-sunldap=yes' module_autogenargs['evolution-exchange'] = autogenargs + ' --with-sunldap=yes' module_autogenargs['brasero'] = autogenargs + ' --disable-inotify' module_autogenargs['gvfs'] = autogenargs + ' CFLAGS="-D_XPG4_2 -D__EXTENSIONS__"' module_autogenargs['glib'] = autogenargs + ' CFLAGS="-D_XPG4_2 -D__EXTENSIONS__"' #module_autogenargs['glib'] = autogenargs + ' CFLAGS="-std=c99 -D_XOPEN_SOURCE=600 -D__EXTENSIONS__"' module_autogenargs['metacity'] = autogenargs + ' CFLAGS=-Wno-uninitialized' module_autogenargs['gdm'] = autogenargs + ' CFLAGS=-Wno-uninitialized' module_autogenargs['evolution'] = autogenargs + ' --with-cde-path=no' module_autogenargs['gconf'] = autogenargs + ' --enable-defaults-service=no' module_autogenargs['gconf-editor'] = autogenargs + ' --with-policykit=no' # disable epiphany support until webkit builds module_autogenargs['seahorse-plugins'] = autogenargs + ' --disable-epiphany' # remove once http://bugzilla.gnome.org/show_bug.cgi?id=583471 fixed module_autogenargs['zenity'] = autogenargs + ' LIBS=-lX11' # remove once http://bugzilla.gnome.org/show_bug.cgi?id=583618 fixed module_autogenargs['gnome-session'] = autogenargs + ' LIBS=-lXext' nopoison=True # PolicyKit isn't ported to Solaris # Solaris has its own versions of HAL and mozilla, a patched version of gamin # and a crazy avahi wrapper for bonjour skip = ['PolicyKit', 'hal', 'mozilla', 'gamin', 'avahi'] # On SMP systems you may use something like this to improve compilation time: # be aware that not all modules compile correctly with make -j2 makeargs = '-j4' # a alternative install program to use. # The included install-check program won't update timestamps if the # header hasn't changed os.environ['INSTALL'] = os.path.expanduser('~/bin/install-check') # Run the tests makecheck = False jhbuildbot_master = 'build.gnome.org:9070' jhbuildbot_password = 'XXXXX' # include the compiler-specific settings if os.environ.has_key('JHBUILD_CC'): include('/space/buildbot/.jhbuildrc-%s' % os.environ['JHBUILD_CC']) else: include('/space/buildbot/.jhbuildrc-gcc') }}} There are compiler-specific options in .jhbuildrc-suncc and .jhbuildrc-gcc, which get imported using the JHBUILD_CC environment variable. This is because jhbuild buildbot doesn't support the --file argument (although it might support JHBUILDRC, rendering the cleverness above unnecessary): .jhbuildrc-gcc: {{{ |
Line 18: | Line 94: |
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: {{{ #!/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. |
# the prefix to configure/install modules to (must have write access) prefix = '/space/buildbot/prefix' buildscript = 'terminal' jhbuildbot_slavename = 'opensol-gcc' }}} .jhbuildrc-suncc {{{ checkoutroot = os.path.expanduser('~/checkout/gnome2-suncc') # the prefix to configure/install modules to (must have write access) prefix = '/space/buildbot/prefix-suncc' jhbuildbot_slavename = 'opensol-suncc' # Sun Studio 12 os.environ['MAKE'] = 'gmake' os.environ['CC'] = 'cc' os.environ['CXX'] = 'CC' os.environ['F77'] = 'f7 }}} There are a few CSW packages (blastwave.org) installed - git 1.6 as SXCE only has 1.5, and doxygen is installed for libsigc++2. GNU MP (in the bootstrap moduleset) builds 64-bit libraries by default, which then cannot be linked against the 32-bit binaries that the toolchain produces for EVERYTHING ELSE. This makes guile fail to configure. There is a module_autogenargs setting to override this (module_extra_env didn't seem to work). There are sometimes spurious warnings "'variable' might be used uninitialized in this function" which become fatal thanks to -Werror that some modules enable when being built from version control. This is because we're using gcc 3.4 which has poor logic compared to more recent versions, so rather than wasting maintainers' time, just silence the warnings by putting -Wno-uninitialized in CFLAGS. http://src.opensolaris.org/source/xref/jds/spec-files/trunk/ may contain useful patches that should be pushed upstream. |
Line 61: | Line 145: |
manduba: ~> jhbuild bootstrap | manduba: ~> jhbuild bootstrap --ignore-system |
Line 65: | Line 149: |
Line 69: | Line 152: |
{{{ jhbuild bot --setup }}} (more to come) |
|
Line 73: | Line 160: |
* 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): |
* 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 (hacks are in place to work around this, but the make fails later. Needs more investigation.) * A bunch of modules fail to build with this error: |
Line 80: | Line 165: |
This is apparently caused by [http://wiki.netbsd.se/Typical_pkgsrc_error_messages#Compiler_or_options_invalid_for_pre-UNIX_03_X.2FOpen_applications__and_pre-2001_POSIX_applications the -std=gnu99 flag] or the USE_LANGUAGES=c99 option in Makefiles. There is a patch for Python that fixes this: http://bugs.python.org/issue1759169 Affected packages are: * dbus-python * pycairo * pyorbit * gtk-vnc * metacity fails with the related error reported in [http://bugzilla.gnome.org/show_bug.cgi?id=582739 bug 582739] {{{ /usr/include/sys/feature_tests.h:357:2: #error "Compiler or options invalid; UNIX 03 and POSIX.1-2001 applications require the use of c99" }}} * libproxy is [http://src.opensolaris.org/source/xref/jds/spec-files/trunk/patches/libproxy-05-config-posix.diff patched by Sun] to remove -D_POSIX_C_SOURCE=1; see http://code.google.com/p/libproxy/issues/detail?id=45 for a committed patch, waiting for a new release. |
|
Line 88: | Line 183: |
* vte doesn't want to build. configure includes this: {{{ configure: WARNING: term.h: present but cannot be compiled configure: WARNING: term.h: check for missing prerequisite headers? configure: WARNING: term.h: see the Autoconf documentation configure: WARNING: term.h: section "Present But Cannot Be Compiled" configure: WARNING: term.h: proceeding with the preprocessor's result configure: WARNING: term.h: in the future, the compiler will take precedence configure: WARNING: ## ------------------------------------------------------------------ ## configure: WARNING: ## Report this to http://bugzilla.gnome.org/enter_bug.cgi?product=vte ## configure: WARNING: ## ------------------------------------------------------------------ ## }}} and make dies with {{{ gcc -I/space/buildbot/prefix/include/glib-2.0 -I/space/buildbot/prefix/lib/glib-2.0/include -I/space/buildbot/prefix/include/glib-2.0 -I/space/buildbot/prefix/lib/glib-2.0/include -g -O2 -Wall -Wextra -Wsign-compare -Werror-implicit-function-declaration -Wpointer-arith -Wwrite-strings -Wstrict-prototypes -Waggregate-return -Wcast-align -Wimplicit -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -Wpacked -Wmissing-format-attribute -Wshadow -Wstrict-aliasing=2 -Winit-self -Wdeclaration-after-statement -Wold-style-definition -Wno-unused-parameter -fno-common -Wno-switch-enum -o slowcat slowcat.o -L/space/buildbot/prefix/lib /space/buildbot/prefix/lib/libgobject-2.0.so /space/buildbot/prefix/lib/libglib-2.0.so -lncurses -lsocket -lm -R/space/buildbot/prefix/lib -R/space/buildbot/prefix/lib ld: fatal: library -lncurses: not found ld: fatal: File processing errors. No output written to slowcat }}} although adding -L/usr/gnu/lib fixes that error. |
This is because gdbm is not available as a SUNW package or in buildbot (only by CSW). Filed as http://pulseaudio.org/ticket/493 - patching looks reasonably simple because use is confined to a single file. * libdaemon doesn't build because of a reference to _NSIG (instead of NSIG) in dfork.c - this is fixed in HEAD but not 0.13. * cairo 1.8.6 creates a messed up libtool: {{{ /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. -I. -I/space/buildbot/prefix/include/pixman-1 -I/usr/include/freetype2 -I/space/buildbot/prefix//include -I/usr/include/libpng12 -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -I/usr/X11/include -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -I/usr/X11/include -Wall -Wextra -Wsign-compare -Werror-implicit-function-declaration -Wpointer-arith -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -Wpacked -Wswitch-enum -Wstrict-aliasing=2 -Winit-self -Wdeclaration-after-statement -Wold-style-definition -Wno-unused-parameter -Wno-long-long -Winline -fno-strict-aliasing -fno-common -Wp,-D_FORTIFY_SOURCE=2 -g -O2 -D_POSIX_PTHREAD_SEMANTICS -MT cairo-atomic.lo -MD -MP -MF .deps/cairo-atomic.Tpo -c -o cairo-atomic.lo cairo-atomic.c ../libtool: line 845: X--tag=CC: command not found ../libtool: line 878: libtool: ignoring unknown tag : command not found ../libtool: line 845: X--mode=compile: command not found ../libtool: line 1012: *** Warning: inferring the mode of operation is deprecated.: command not found ../libtool: line 1013: *** Future versions of Libtool will require --mode=MODE be specified.: command not found ../libtool: line 1156: Xgcc: command not found ../libtool: line 1156: X-DHAVE_CONFIG_H: command not found ../libtool: line 1156: X-I.: command not found ../libtool: line 1156: X-I..: command not found ... }}} each error occurs four times, and there's many more errors on line 1156. Copying the libtool from 1.8.4 works, but it'll be overwritten whenever autogen.sh is run. Needs futher investigation. |
Line 108: | Line 201: |
* dbus 1.2.12 dies in configure ([https://bugs.freedesktop.org/show_bug.cgi?id=21545 freedesktop bug 21545]): {{{ checking 32-bit integer type... configure: error: No 32-bit integer type found }}} for which [http://www.nabble.com/problem-building-new-dbus-on-sparc64-td21711441.html OpenBSD have a fix]: [http://www.openbsd.org/cgi-bin/cvsweb/ports/x11/dbus/patches/patch-configure_in?rev=1.1 patch] |
|
Line 109: | Line 207: |
* libxml2 installs python modules into the 2.4 site-packages directory, not the 2.5 directory (which is the version in bootstrap) | * glade fails to build: {{{ gcc -DHAVE_CONFIG_H -I. -I.. -DG_LOG_DOMAIN=\"libglade\" -I.. -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -I/space/buildbot/prefix//include/libxml2 -I/space/buildbot/prefix/include/atk-1.0 -I/space/buildbot/prefix/include/glib-2.0 -I/space/buildbot/prefix/lib/glib-2.0/include -I/space/buildbot/prefix/include/gtk-2.0 -I/space/buildbot/prefix/lib/gtk-2.0/include -I/space/buildbot/prefix/include/cairo -I/space/buildbot/prefix/include/pango-1.0 -I/space/buildbot/prefix//include/pixman-1 -I/space/buildbot/prefix//include -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/X11/include -DGLADE_LIBDIR=\"/space/buildbot/prefix/lib\" -DGLADE_PREFIX=\"/space/buildbot/prefix\" -DG_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED -DGNOME_DISABLE_DEPRECATED -g -O2 -Wall -std=c9x -MT glade-init.lo -MD -MP -MF .deps/glade-init.Tpo -c glade-init.c -fPIC -DPIC -o .libs/glade-init.o In file included from /space/buildbot/prefix/include/glib-2.0/glib/gbacktrace.h:35, from /space/buildbot/prefix/include/glib-2.0/glib.h:36, from glade-init.c:27: /usr/include/signal.h:219: error: syntax error before '*' token }}} gbacktrace.h including signal.h without also sys/select.h is the proximate cause. I suspect this is also fixable with the right -std= flag (ala the Compiler or options error above) or defining _``_XOPEN_OR_POSIX and (_XPG42 or _XPG6). Currently fixed with a local patch to gbacktrace.h in glib see http://bugzilla.gnome.org/show_bug.cgi?id=562334 . * gnome-vfs fails to build because krb5-config doesn't like gssapi, see http://bugzilla.gnome.org/show_bug.cgi?id=395357 for workaround patch used. * libgtop fails to build, Sun patch in [http://bugzilla.gnome.org/show_bug.cgi?id=576421 bug 576421] has been rejected. {{{sysdeps.c:49: error: `GLIBTOP_SUID_PROC_WD' undeclared here (not in a function) sysdeps.c:50: error: `GLIBTOP_SUID_PROC_AFFINITY' undeclared here (not in a function)}}} * libsigc++ fails to build with {{{SRCDIR=. TOP_SRCDIR=../.. doxygen Doxyfile /bin/bash: doxygen: command not found}}} * ptlib fails with {{{g++ -DP_USE_PRAGMA -DPTRACING=1 -D_REENTRANT -I/usr/sfw/include -D_GNU_SOURCE=1 -D_REENTRANT -I/usr/include/SDL -Wall -fPIC -DPIC -DNDEBUG -xO3 -I/space/buildbot/checkout/gnome2/ptlib-2.5.2/include -DSOLARIS -D__inline=inline -felide-constructors -Wreorder -c ptlib/common/pluginmgr.cxx -o /space/buildbot/checkout/gnome2/ptlib-2.5.2/lib_solaris_sparc/obj/pluginmgr.o g++: language O3 not recognized}}} because unix.mak puts -xO3 in CFLAGS on Solaris even when using GCC ([https://sourceforge.net/tracker/?func=detail&aid=2794207&group_id=204472&atid=989748 SourceForge bug 2794207]). It also needs environ declared: [https://sourceforge.net/tracker/?func=detail&aid=2794209&group_id=204472&atid=989748 SourceForge bug 2794209]. * opal also sets -xO3 when using thanks to opal.m4 ([https://sourceforge.net/tracker/?func=detail&aid=2795159&group_id=204472&atid=989748 SourceForge bug 2795159]). * samba's configure script complains (needs http://osdir.com/ml/solaris.opensolaris.networking/2006-11/msg00054.html) that {{{ checking netinet/ip.h usability... no checking netinet/ip.h presence... yes configure: WARNING: netinet/ip.h: present but cannot be compiled configure: WARNING: netinet/ip.h: check for missing prerequisite headers? configure: WARNING: netinet/ip.h: see the Autoconf documentation configure: WARNING: netinet/ip.h: section "Present But Cannot Be Compiled" configure: WARNING: netinet/ip.h: proceeding with the preprocessor's result configure: WARNING: netinet/ip.h: in the future, the compiler will take precedence configure: WARNING: ## ---------------------------------------- ## configure: WARNING: ## Report this to [email protected] ## configure: WARNING: ## ---------------------------------------- ## }}} and the build fails (see https://bugzilla.samba.org/show_bug.cgi?id=3871) with {{{ Compiling heimdal/lib/roken/vis.c In file included from heimdal/../heimdal_build/vis.h:3, from heimdal/lib/roken/vis.c:83: ./heimdal/lib/roken/vis.hin:83:23: sys/cdefs.h: No such file or directory In file included from heimdal/../heimdal_build/vis.h:3, from heimdal/lib/roken/vis.c:83: ./heimdal/lib/roken/vis.hin:86: error: syntax error before "char" heimdal/lib/roken/vis.c:103: error: syntax error before "static" heimdal/lib/roken/vis.c: In function `do_svis': heimdal/lib/roken/vis.c:229: error: `u_int32_t' undeclared (first use in this function) heimdal/lib/roken/vis.c:229: error: (Each undeclared identifier is reported only once heimdal/lib/roken/vis.c:229: error: for each function it appears in.) heimdal/lib/roken/vis.c:229: error: syntax error before "u_char" heimdal/lib/roken/vis.c:229: error: syntax error before ')' token heimdal/lib/roken/vis.c:230: error: syntax error before "u_char" heimdal/lib/roken/vis.c:230: error: syntax error before ')' token The following command failed: gcc -Iheimdal/../heimdal_build -Iheimdal/lib/roken -I../lib/socket_wrapper -fPIC -I./include -I. -I./lib -I./../lib/replace -I./../lib/talloc -I./.. -D_SAMBA_BUILD_=4 -DHAVE_CONFIG_H -c heimdal/lib/roken/vis.c -o heimdal/lib/roken/vis.o }}} which partially is fixed in [http://gitweb.samba.org/?p=samba.git;a=commit;h=cdca75dee67ebfee62b44273d7d5ae5f123c477b commit cdca75dee67ebfee62b44273d7d5ae5f123c477b] which is in Samba 4alpha7. The lack of u_int32_t is fixed by a simple rename to uint32_t (bug to be filed). The build then dies at: {{{ Linking bin/asn1_compile ld: fatal: symbol `flock' is multiply-defined: (file heimdal/../heimdal_build/replace.ho type=FUNC; file bin/mergedobj/heimdal_roken.o type=FUNC); ld: fatal: File processing errors. No output written to bin/asn1_compile collect2: ld returned 1 exit status }}} * system-tools-backends doesn't compile because Net-DBus' Makefile.PL unconditionally adds -Wall to CFLAGS which breaks because the system perl is compiled with Sun Studio. Reported as [https://rt.cpan.org/Ticket/Display.html?id=46218 CPAN ticket 46218] and will require system-tools-backends to then update its local copy of Net-DBus. * clutter doesn't build - possibly lack of an OpenGL library? Best guess is it needs SUNWxorg-mesa, which is x86 only! {{{ gcc -DHAVE_CONFIG_H -I. -I../../.. -I../../.. -I../../../clutter -I../../../clutter/cogl -I../../../clutter/cogl/common -I../../../clutter/cogl/gl -I../../../clutter -I../../../clutter/cogl -D_REENTRANT -D_PTHREADS -D_POSIX_PTHREAD_SEMANTICS -I/space/buildbot/prefix/include/pango-1.0 -I/space/buildbot/prefix/include/cairo -I/space/buildbot/prefix/include/glib-2.0 -I/space/buildbot/prefix/lib/glib-2.0/include -I/space/buildbot/prefix//include/pixman-1 -I/space/buildbot/prefix//include -I/space/buildbot/prefix/include/gtk-2.0 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/X11/include -DCLUTTER_ENABLE_DEBUG -DG_DISABLE_CAST_CHECKS -g -Wall -g -O2 -MT cogl-fbo.lo -MD -MP -MF .deps/cogl-fbo.Tpo -c cogl-fbo.c -fPIC -DPIC -o .libs/cogl-fbo.o cogl-fbo.c: In function `cogl_offscreen_new_to_texture': cogl-fbo.c:100: error: `GL_RENDERBUFFER_EXT' undeclared (first use in this function) cogl-fbo.c:100: error: (Each undeclared identifier is reported only once cogl-fbo.c:100: error: for each function it appears in.) cogl-fbo.c:101: error: `GL_STENCIL_INDEX8_EXT' undeclared (first use in this function) cogl-fbo.c:108: error: `GL_FRAMEBUFFER_EXT' undeclared (first use in this function) cogl-fbo.c:109: error: `GL_COLOR_ATTACHMENT0_EXT' undeclared (first use in this function) cogl-fbo.c:111: error: `GL_STENCIL_ATTACHMENT_EXT' undeclared (first use in this function) cogl-fbo.c:118: error: `GL_FRAMEBUFFER_COMPLETE_EXT' undeclared (first use in this function) cogl-fbo.c: In function `cogl_draw_buffer': cogl-fbo.c:293: error: `GL_FRAMEBUFFER_EXT' undeclared (first use in this function}}} * libgda doesn't build due to http://bugzilla.gnome.org/show_bug.cgi?id=576417 but this is worked around by disabling MySQL. * libvolume_id wants sys/inotify.h for inotify, which doesn't exist on anything except Linux. Perhaps see what the FreeBSD guys have done? * gamin wants FAM, which doesn't exist on Solaris. Sun have [http://bugzilla.gnome.org/show_bug.cgi?id=491319 submitted a patch to use FEN] but no-one cares (gamin is unmaintained?) * Fixing bugs in the PulseAudio HEAD requires libtool 2.2 or greater. guile will not build with libtool greater than 1.5.6. Yay. And make sure you do 'make uninstall' in the libtool2.2 directory before reinstall 1.5.6, otherwise random stuff breaks. * gtk+ tries to install manpages even when they're not built, see http://bugzilla.gnome.org/show_bug.cgi?id=578765 for patch * gvfs needs CFLAGS="-D_XPG4_2" to make CMSG_SPACE in <sys/socket.h> visible. Taken from http://src.opensolaris.org/source/xref/jds/spec-files/trunk/SUNWgnome-gvfs.spec * libnice also needs -D_XPG4_2 in CFLAGS for CMSG_SPACE, and a AC_SEARCH_LIBS([socket],[socket inet]) in configure.ac, but also needs a newer libtool so testing this is a pain. * nautilus fails to compile because of warnings in eel being made errors by -Werror ([http://bugzilla.gnome.org/show_bug.cgi?id=582711 bug 582711] : {{{ gcc -DHAVE_CONFIG_H -I. -I.. -DG_LOG_DOMAIN=\"Eel\" -I.. -D_REENTRANT -D_PTHREADS -DORBIT2=1 -D_POSIX_PTHREAD_SEMANTICS -I/space/buildbot/prefix/include/glib-2.0 -I/space/buildbot/prefix/lib/glib-2.0/include -I/space/buildbot/prefix/include/gnome-desktop-2.0 -I/space/buildbot/prefix/include/gtk-2.0 -I/space/buildbot/prefix/include/startup-notification-1.0 -I/space/buildbot/prefix/lib/gtk-2.0/include -I/space/buildbot/prefix/include/atk-1.0 -I/space/buildbot/prefix/include/cairo -I/space/buildbot/prefix/include/pango-1.0 -I/space/buildbot/prefix//include/pixman-1 -I/space/buildbot/prefix//include -I/space/buildbot/prefix/include/gio-unix-2.0/ -I/space/buildbot/prefix//include/unique-1.0 -I/space/buildbot/prefix//include/dbus-1.0 -I/space/buildbot/prefix//lib/dbus-1.0/include -I/space/buildbot/prefix/include/gail-1.0 -I/space/buildbot/prefix/include/gconf/2 -I/space/buildbot/prefix/include/orbit-2.0 -I/space/buildbot/prefix/include/libxml2 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/X11/include -I/space/buildbot/prefix/include/pango-1.0 -I/space/buildbot/prefix/include/glib-2.0 -I/space/buildbot/prefix/lib/glib-2.0/include -Wall -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wcast-align -Werror -Wstrict-aliasing=0 -DDATADIR=\"/space/buildbot/prefix/share\" -DSOURCE_DATADIR=\"../data\" -DGNOMELOCALEDIR=\"/space/buildbot/prefix/share/locale\" -DG_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED -DGMENU_I_KNOW_THIS_IS_UNSTABLE -g -O2 -MT eel-background.lo -MD -MP -MF .deps/eel-background.Tpo -c eel-background.c -fPIC -DPIC -o .libs/eel-background.o eel-background.c: In function `eel_background_receive_dropped_color' eel-background.c:1050: warning: cast increases required alignment of target type make[2]: *** [eel-background.lo] Error 1 }}} * gstreamer has a .po file that segfaults /usr/bin/gmsgfmt, but works with the older /opt/csw/bin/gmsgfmt (now symlinked in ~/bin) which reports: {{{ /opt/csw/bin/gmsgfmt -c --statistics -o eu.gmo eu.po /opt/csw/bin/gmsgfmt: eu.po: warning: PO file header fuzzy warning: older versions of msgfmt will give an error on this }}} however this older gmsgfmt fails on gtk+, so the symlink has been removed for the moment. * zenity fails with a linking error because it uses X functions without -lX11 (this works on Linux because gtk+ links to X11, but Solaris is stricter). Already reported as [http://bugzilla.gnome.org/show_bug.cgi?id=559638 bug 559638]. * gnome-session has a similar problem, but with Xext functions and -lXext ([http://bugzilla.gnome.org/show_bug.cgi?id=583618 bug 583618]). * Cheese fails because it needs HAL >= 0.5.9 but SXCE b101 only has HAL 0.5.8. * WebKit needs icu-config, which will come when Sun integrates [http://arc.opensolaris.org/caselog/PSARC/2009/129/ PSARC/2009/129] - keep an eye on http://www.opensolaris.org/os/community/on/flag-days/ for this. * gnome-control-center thinks it has a libslab directory, but there isn't one in the [http://git.gnome.org/cgit/gnome-control-center/tree/ git repository], [http://bugzilla.gnome.org/show_bug.cgi?id=583158 bug 583158]. See discussion on [http://mail.gnome.org/archives/gnomecc-list/2009-April/msg00002.html gnomecc-list]. * gdm fails to build becase HOST_NAME_MAX doesn't exist on Solaris - already reported as [http://bugzilla.gnome.org/show_bug.cgi?id=580676 bug 580676]. * pygtksourceview's autogen.sh has a GNU find predicate that's no longer needed since conversion from CVS ([http://bugzilla.gnome.org/show_bug.cgi?id=583217 bug 583217]). * seahorse-plugins needs gpgme - the version from Blastwave can't be used as it has its own libgpg-error that conflicts with the jhbuilt version. = Compiling with Sun Studio = [http://developers.sun.com/sunstudio/ Sun Studio 12] is preferentially used by Sun for compiling GNOME in Solaris, and provides another layer of error detection, e.g. void functions that return values. It's installed into /opt/SUNWspro and /opt/SUNWspro/bin is added to PATH. Skip guile in the bootstrap as it doesn't compile and isn't used by much; Sun don't even ship it: {{{ manduba: ~> JHBUILD_CC=suncc jhbuild bootstrap --skip guile --ignore-system }}} == Issues only affecting Sun Studio == * glib fails becaues g_socket_control_message_serialize in gio/gsocketcontrolmessage.c is defined as void but returns a value ([http://bugzilla.gnome.org/show_bug.cgi?id=583408 bug 583408]) = Bugs fixed = We've reported a bunch of bugs, and some have been fixed: * http://bugzilla.gnome.org/show_bug.cgi?id=313417 * http://bugzilla.gnome.org/show_bug.cgi?id=313531 * http://bugzilla.gnome.org/show_bug.cgi?id=339407 * http://bugzilla.gnome.org/show_bug.cgi?id=339765 * http://bugzilla.gnome.org/show_bug.cgi?id=339924 * http://bugzilla.gnome.org/show_bug.cgi?id=340016 * http://bugzilla.gnome.org/show_bug.cgi?id=340117 * http://bugzilla.gnome.org/show_bug.cgi?id=340128 * http://bugzilla.gnome.org/show_bug.cgi?id=340195 * http://bugzilla.gnome.org/show_bug.cgi?id=340277 * http://bugzilla.gnome.org/show_bug.cgi?id=341604 * http://bugzilla.gnome.org/show_bug.cgi?id=357076 * http://bugzilla.gnome.org/show_bug.cgi?id=358161 * http://bugzilla.gnome.org/show_bug.cgi?id=364465 * http://bugzilla.gnome.org/show_bug.cgi?id=364895 * http://bugzilla.gnome.org/show_bug.cgi?id=364928 * http://bugzilla.gnome.org/show_bug.cgi?id=365029 * http://bugzilla.gnome.org/show_bug.cgi?id=365073 * http://bugzilla.gnome.org/show_bug.cgi?id=383949 * http://bugzilla.gnome.org/show_bug.cgi?id=388196 * http://bugzilla.gnome.org/show_bug.cgi?id=388497 * http://bugzilla.gnome.org/show_bug.cgi?id=406016 * http://bugzilla.gnome.org/show_bug.cgi?id=406018 * http://bugzilla.gnome.org/show_bug.cgi?id=406289 * http://bugzilla.gnome.org/show_bug.cgi?id=418855 * http://bugzilla.gnome.org/show_bug.cgi?id=419279 * http://bugzilla.gnome.org/show_bug.cgi?id=445011 * http://bugzilla.gnome.org/show_bug.cgi?id=446600 * http://bugzilla.gnome.org/show_bug.cgi?id=571149 * http://bugzilla.gnome.org/show_bug.cgi?id=575329 * http://bugzilla.gnome.org/show_bug.cgi?id=575398 * http://bugzilla.gnome.org/show_bug.cgi?id=575695 * http://bugzilla.gnome.org/show_bug.cgi?id=575937 * http://bugzilla.gnome.org/show_bug.cgi?id=578851 * http://bugzilla.gnome.org/show_bug.cgi?id=578983 * http://bugzilla.gnome.org/show_bug.cgi?id=579069 * http://bugzilla.gnome.org/show_bug.cgi?id=579070 * http://bugzilla.gnome.org/show_bug.cgi?id=580194 * http://bugzilla.gnome.org/show_bug.cgi?id=581547 * http://bugzilla.gnome.org/show_bug.cgi?id=582715 * http://bugzilla.gnome.org/show_bug.cgi?id=583227 * http://bugzilla.gnome.org/show_bug.cgi?id=583229 * http://bugzilla.gnome.org/show_bug.cgi?id=583294 * http://bugzilla.gnome.org/show_bug.cgi?id=583309 * http://bugzilla.gnome.org/show_bug.cgi?id=583006 * http://bugzilla.gnome.org/show_bug.cgi?id=582930 * http://bugzilla.gnome.org/show_bug.cgi?id=582939 * http://bugzilla.gnome.org/show_bug.cgi?id=583311 * http://bugzilla.gnome.org/show_bug.cgi?id=583404 * http://bugzilla.gnome.org/show_bug.cgi?id=583471 * http://bugzilla.gnome.org/show_bug.cgi?id=583518 * http://bugzilla.gnome.org/show_bug.cgi?id=590268 * http://bugzilla.gnome.org/show_bug.cgi?id=590694 * http://bugs.freedesktop.org/show_bug.cgi?id=4120 * http://bugs.freedesktop.org/show_bug.cgi?id=6700 * http://bugs.freedesktop.org/show_bug.cgi?id=6968 * http://bugs.freedesktop.org/show_bug.cgi?id=8760 * http://bugs.freedesktop.org/show_bug.cgi?id=9247 * http://bugs.freedesktop.org/show_bug.cgi?id=10481 * http://bugs.freedesktop.org/show_bug.cgi?id=21751 * https://bugzilla.novell.com/show_bug.cgi?id=504592 |
Manduba should run a GNOME buildbot slave in order to help tinderbox the GNOME code, linked to http://build.gnome.org/ TableOfContents
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 and http://wikis.sun.com/display/SolarisDeveloper/Issues+When+Porting+Open+Source+Projects+to+Solaris for general advice.
PATH=/space/buildbot/bin:/space/buildbot/prefix/bin:/usr/local/bin:/usr/gnu/bin:/usr/sfw/bin:/opt/SUNWspro/bin:BR/usr/ccs/bin:/usr/ucb:/usr/bin:/usr/X11/bin (from .zshenv) - make sure /usr/ucb is after /usr/ccs.
.jhbuildrc:
moduleset = 'gnome-suites-2.28' # A list of the modules to build. Defaults to the Gnome Desktop and # developer platform. # modules = [ 'meta-gnome-desktop' ] # use a separate directory for sources to share between jhbuilds dvcs_mirror_dir = '/space/buildbot/checkout/sources' tarballdir = '/space/buildbot/checkout/sources' # extra arguments to pass to all autogen.sh scripts # to speed up builds of gnome2, try '--disable-static --disable-gtk-doc' # it is also possible to set CFLAGS this way, 'CFLAGS="-g -O2"' for example #autogenargs='' module_autogenargs['gettext'] = autogenargs + ' LDFLAGS="-lsec"' module_autogenargs['gst-plugins-base'] = autogenargs + ' CFLAGS=-I/usr/X11/include' module_autogenargs['gtk+'] = autogenargs + ' --without-libjasper' # GNU MP decides to build 64-bit libraries, despite the toolchain being 32-bit module_autogenargs['gmp'] = autogenargs + ' ABI=32' module_autogenargs['libgda'] = autogenargs + ' --without-mysql' module_autogenargs['libxml2'] = autogenargs + ' --with-python=/space/buildbot/prefix/bin/python' # dtrace requires root permission module_autogenargs['mono'] = autogenargs + ' --disable-dtrace' # NSS doesn't like -j4 module_makeargs['nss'] = '' # NSPR is built 64-bit by default module_autogenargs['nspr'] = autogenargs + ' --disable-64bit' # e-d-s and e-e require Sun LDAP to be explicitly enabled module_autogenargs['evolution-data-server'] = autogenargs + ' --with-sunldap=yes' module_autogenargs['evolution-exchange'] = autogenargs + ' --with-sunldap=yes' module_autogenargs['brasero'] = autogenargs + ' --disable-inotify' module_autogenargs['gvfs'] = autogenargs + ' CFLAGS="-D_XPG4_2 -D__EXTENSIONS__"' module_autogenargs['glib'] = autogenargs + ' CFLAGS="-D_XPG4_2 -D__EXTENSIONS__"' #module_autogenargs['glib'] = autogenargs + ' CFLAGS="-std=c99 -D_XOPEN_SOURCE=600 -D__EXTENSIONS__"' module_autogenargs['metacity'] = autogenargs + ' CFLAGS=-Wno-uninitialized' module_autogenargs['gdm'] = autogenargs + ' CFLAGS=-Wno-uninitialized' module_autogenargs['evolution'] = autogenargs + ' --with-cde-path=no' module_autogenargs['gconf'] = autogenargs + ' --enable-defaults-service=no' module_autogenargs['gconf-editor'] = autogenargs + ' --with-policykit=no' # disable epiphany support until webkit builds module_autogenargs['seahorse-plugins'] = autogenargs + ' --disable-epiphany' # remove once http://bugzilla.gnome.org/show_bug.cgi?id=583471 fixed module_autogenargs['zenity'] = autogenargs + ' LIBS=-lX11' # remove once http://bugzilla.gnome.org/show_bug.cgi?id=583618 fixed module_autogenargs['gnome-session'] = autogenargs + ' LIBS=-lXext' nopoison=True # PolicyKit isn't ported to Solaris # Solaris has its own versions of HAL and mozilla, a patched version of gamin # and a crazy avahi wrapper for bonjour skip = ['PolicyKit', 'hal', 'mozilla', 'gamin', 'avahi'] # On SMP systems you may use something like this to improve compilation time: # be aware that not all modules compile correctly with make -j2 makeargs = '-j4' # a alternative install program to use. # The included install-check program won't update timestamps if the # header hasn't changed os.environ['INSTALL'] = os.path.expanduser('~/bin/install-check') # Run the tests makecheck = False jhbuildbot_master = 'build.gnome.org:9070' jhbuildbot_password = 'XXXXX' # include the compiler-specific settings if os.environ.has_key('JHBUILD_CC'): include('/space/buildbot/.jhbuildrc-%s' % os.environ['JHBUILD_CC']) else: include('/space/buildbot/.jhbuildrc-gcc')
There are compiler-specific options in .jhbuildrc-suncc and .jhbuildrc-gcc, which get imported using the JHBUILD_CC environment variable. This is because jhbuild buildbot doesn't support the --file argument (although it might support JHBUILDRC, rendering the cleverness above unnecessary):
.jhbuildrc-gcc:
checkoutroot = os.path.expanduser('~/checkout/gnome2') # the prefix to configure/install modules to (must have write access) prefix = '/space/buildbot/prefix' buildscript = 'terminal' jhbuildbot_slavename = 'opensol-gcc'
.jhbuildrc-suncc
checkoutroot = os.path.expanduser('~/checkout/gnome2-suncc') # the prefix to configure/install modules to (must have write access) prefix = '/space/buildbot/prefix-suncc' jhbuildbot_slavename = 'opensol-suncc' # Sun Studio 12 os.environ['MAKE'] = 'gmake' os.environ['CC'] = 'cc' os.environ['CXX'] = 'CC' os.environ['F77'] = 'f7
There are a few CSW packages (blastwave.org) installed - git 1.6 as SXCE only has 1.5, and doxygen is installed for libsigc++2.
GNU MP (in the bootstrap moduleset) builds 64-bit libraries by default, which then cannot be linked against the 32-bit binaries that the toolchain produces for EVERYTHING ELSE. This makes guile fail to configure. There is a module_autogenargs setting to override this (module_extra_env didn't seem to work).
There are sometimes spurious warnings "'variable' might be used uninitialized in this function" which become fatal thanks to -Werror that some modules enable when being built from version control. This is because we're using gcc 3.4 which has poor logic compared to more recent versions, so rather than wasting maintainers' time, just silence the warnings by putting -Wno-uninitialized in CFLAGS.
http://src.opensolaris.org/source/xref/jds/spec-files/trunk/ may contain useful patches that should be pushed upstream.
Configuration procedure
Part 1: Configure 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 --ignore-system
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).
Part 2: Configure buildbot
http://live.gnome.org/BuildBrigade/DocsAndGuides
jhbuild bot --setup
(more to come)
Current Issues
Current issues:
- No SSL CA certs for wget, meaning Mozilla packages have to be manually downloaded
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 (hacks are in place to work around this, but the make fails later. Needs more investigation.)
- A bunch of modules fail to build with this error:
/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"
This is apparently caused by [http://wiki.netbsd.se/Typical_pkgsrc_error_messages#Compiler_or_options_invalid_for_pre-UNIX_03_X.2FOpen_applications__and_pre-2001_POSIX_applications the -std=gnu99 flag] or the USE_LANGUAGES=c99 option in Makefiles. There is a patch for Python that fixes this: http://bugs.python.org/issue1759169 Affected packages are:
- dbus-python
- pycairo
- pyorbit
- gtk-vnc
metacity fails with the related error reported in [http://bugzilla.gnome.org/show_bug.cgi?id=582739 bug 582739]
/usr/include/sys/feature_tests.h:357:2: #error "Compiler or options invalid; UNIX 03 and POSIX.1-2001 applications require the use of c99"
libproxy is [http://src.opensolaris.org/source/xref/jds/spec-files/trunk/patches/libproxy-05-config-posix.diff patched by Sun] to remove -D_POSIX_C_SOURCE=1; see http://code.google.com/p/libproxy/issues/detail?id=45 for a committed patch, waiting for a new release.
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
This is because gdbm is not available as a SUNW package or in buildbot (only by CSW). Filed as http://pulseaudio.org/ticket/493 - patching looks reasonably simple because use is confined to a single file.
- libdaemon doesn't build because of a reference to _NSIG (instead of NSIG) in dfork.c - this is fixed in HEAD but not 0.13.
- cairo 1.8.6 creates a messed up libtool:
/bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. -I. -I/space/buildbot/prefix/include/pixman-1 -I/usr/include/freetype2 -I/space/buildbot/prefix//include -I/usr/include/libpng12 -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -I/usr/X11/include -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -I/usr/X11/include -Wall -Wextra -Wsign-compare -Werror-implicit-function-declaration -Wpointer-arith -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -Wpacked -Wswitch-enum -Wstrict-aliasing=2 -Winit-self -Wdeclaration-after-statement -Wold-style-definition -Wno-unused-parameter -Wno-long-long -Winline -fno-strict-aliasing -fno-common -Wp,-D_FORTIFY_SOURCE=2 -g -O2 -D_POSIX_PTHREAD_SEMANTICS -MT cairo-atomic.lo -MD -MP -MF .deps/cairo-atomic.Tpo -c -o cairo-atomic.lo cairo-atomic.c ../libtool: line 845: X--tag=CC: command not found ../libtool: line 878: libtool: ignoring unknown tag : command not found ../libtool: line 845: X--mode=compile: command not found ../libtool: line 1012: *** Warning: inferring the mode of operation is deprecated.: command not found ../libtool: line 1013: *** Future versions of Libtool will require --mode=MODE be specified.: command not found ../libtool: line 1156: Xgcc: command not found ../libtool: line 1156: X-DHAVE_CONFIG_H: command not found ../libtool: line 1156: X-I.: command not found ../libtool: line 1156: X-I..: command not found ...
- each error occurs four times, and there's many more errors on line 1156. Copying the libtool from 1.8.4 works, but it'll be overwritten whenever autogen.sh is run. Needs futher investigation.
- clutter-cairo could use a dependency on clutter, otherwise configure fails.
dbus 1.2.12 dies in configure ([https://bugs.freedesktop.org/show_bug.cgi?id=21545 freedesktop bug 21545]):
checking 32-bit integer type... configure: error: No 32-bit integer type found
for which [http://www.nabble.com/problem-building-new-dbus-on-sparc64-td21711441.html OpenBSD have a fix]: [http://www.openbsd.org/cgi-bin/cvsweb/ports/x11/dbus/patches/patch-configure_in?rev=1.1 patch]
- gtkspell needs aspell or pspell, neither of which appear to have Solaris packages.
- glade fails to build:
gcc -DHAVE_CONFIG_H -I. -I.. -DG_LOG_DOMAIN=\"libglade\" -I.. -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -I/space/buildbot/prefix//include/libxml2 -I/space/buildbot/prefix/include/atk-1.0 -I/space/buildbot/prefix/include/glib-2.0 -I/space/buildbot/prefix/lib/glib-2.0/include -I/space/buildbot/prefix/include/gtk-2.0 -I/space/buildbot/prefix/lib/gtk-2.0/include -I/space/buildbot/prefix/include/cairo -I/space/buildbot/prefix/include/pango-1.0 -I/space/buildbot/prefix//include/pixman-1 -I/space/buildbot/prefix//include -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/X11/include -DGLADE_LIBDIR=\"/space/buildbot/prefix/lib\" -DGLADE_PREFIX=\"/space/buildbot/prefix\" -DG_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED -DGNOME_DISABLE_DEPRECATED -g -O2 -Wall -std=c9x -MT glade-init.lo -MD -MP -MF .deps/glade-init.Tpo -c glade-init.c -fPIC -DPIC -o .libs/glade-init.o In file included from /space/buildbot/prefix/include/glib-2.0/glib/gbacktrace.h:35, from /space/buildbot/prefix/include/glib-2.0/glib.h:36, from glade-init.c:27: /usr/include/signal.h:219: error: syntax error before '*' token
gbacktrace.h including signal.h without also sys/select.h is the proximate cause. I suspect this is also fixable with the right -std= flag (ala the Compiler or options error above) or defining __XOPEN_OR_POSIX and (_XPG42 or _XPG6). Currently fixed with a local patch to gbacktrace.h in glib see http://bugzilla.gnome.org/show_bug.cgi?id=562334 .
gnome-vfs fails to build because krb5-config doesn't like gssapi, see http://bugzilla.gnome.org/show_bug.cgi?id=395357 for workaround patch used.
libgtop fails to build, Sun patch in [http://bugzilla.gnome.org/show_bug.cgi?id=576421 bug 576421] has been rejected.
{{{sysdeps.c:49: error: `GLIBTOP_SUID_PROC_WD' undeclared here (not in a function) sysdeps.c:50: error: `GLIBTOP_SUID_PROC_AFFINITY' undeclared here (not in a function)}}}
- libsigc++ fails to build with
{{{SRCDIR=. TOP_SRCDIR=../.. doxygen Doxyfile /bin/bash: doxygen: command not found}}}
- ptlib fails with
{{{g++ -DP_USE_PRAGMA -DPTRACING=1 -D_REENTRANT -I/usr/sfw/include -D_GNU_SOURCE=1 -D_REENTRANT -I/usr/include/SDL -Wall -fPIC -DPIC -DNDEBUG -xO3 -I/space/buildbot/checkout/gnome2/ptlib-2.5.2/include -DSOLARIS -Dinline=inline -felide-constructors -Wreorder -c ptlib/common/pluginmgr.cxx -o /space/buildbot/checkout/gnome2/ptlib-2.5.2/lib_solaris_sparc/obj/pluginmgr.o g++: language O3 not recognized}}} because unix.mak puts -xO3 in CFLAGS on Solaris even when using GCC ([https://sourceforge.net/tracker/?func=detail&aid=2794207&group_id=204472&atid=989748 SourceForge bug 2794207]). It also needs environ declared: [https://sourceforge.net/tracker/?func=detail&aid=2794209&group_id=204472&atid=989748 SourceForge bug 2794209]. opal also sets -xO3 when using thanks to opal.m4 ([https://sourceforge.net/tracker/?func=detail&aid=2795159&group_id=204472&atid=989748 SourceForge bug 2795159]). samba's configure script complains (needs http://osdir.com/ml/solaris.opensolaris.networking/2006-11/msg00054.html) that and the build fails (see https://bugzilla.samba.org/show_bug.cgi?id=3871) with which partially is fixed in [http://gitweb.samba.org/?p=samba.git;a=commit;h=cdca75dee67ebfee62b44273d7d5ae5f123c477b commit cdca75dee67ebfee62b44273d7d5ae5f123c477b] which is in Samba 4alpha7. The lack of u_int32_t is fixed by a simple rename to uint32_t (bug to be filed). The build then dies at: system-tools-backends doesn't compile because Net-DBus' Makefile.PL unconditionally adds -Wall to CFLAGS which breaks because the system perl is compiled with Sun Studio. Reported as [https://rt.cpan.org/Ticket/Display.html?id=46218 CPAN ticket 46218] and will require system-tools-backends to then update its local copy of Net-DBus. libgda doesn't build due to http://bugzilla.gnome.org/show_bug.cgi?id=576417 but this is worked around by disabling MySQL. gamin wants FAM, which doesn't exist on Solaris. Sun have [http://bugzilla.gnome.org/show_bug.cgi?id=491319 submitted a patch to use FEN] but no-one cares (gamin is unmaintained?) Fixing bugs in the PulseAudio HEAD requires libtool 2.2 or greater. guile will not build with libtool greater than 1.5.6. Yay. And make sure you do 'make uninstall' in the libtool2.2 directory before reinstall 1.5.6, otherwise random stuff breaks. gtk+ tries to install manpages even when they're not built, see http://bugzilla.gnome.org/show_bug.cgi?id=578765 for patch gvfs needs CFLAGS="-D_XPG4_2" to make CMSG_SPACE in <sys/socket.h> visible. Taken from http://src.opensolaris.org/source/xref/jds/spec-files/trunk/SUNWgnome-gvfs.spec nautilus fails to compile because of warnings in eel being made errors by -Werror ([http://bugzilla.gnome.org/show_bug.cgi?id=582711 bug 582711] : zenity fails with a linking error because it uses X functions without -lX11 (this works on Linux because gtk+ links to X11, but Solaris is stricter). Already reported as [http://bugzilla.gnome.org/show_bug.cgi?id=559638 bug 559638]. gnome-session has a similar problem, but with Xext functions and -lXext ([http://bugzilla.gnome.org/show_bug.cgi?id=583618 bug 583618]). Cheese fails because it needs HAL >= 0.5.9 but SXCE b101 only has HAL 0.5.8. WebKit needs icu-config, which will come when Sun integrates [http://arc.opensolaris.org/caselog/PSARC/2009/129/ PSARC/2009/129] - keep an eye on http://www.opensolaris.org/os/community/on/flag-days/ for this. gnome-control-center thinks it has a libslab directory, but there isn't one in the [http://git.gnome.org/cgit/gnome-control-center/tree/ git repository], [http://bugzilla.gnome.org/show_bug.cgi?id=583158 bug 583158]. See discussion on [http://mail.gnome.org/archives/gnomecc-list/2009-April/msg00002.html gnomecc-list]. gdm fails to build becase HOST_NAME_MAX doesn't exist on Solaris - already reported as [http://bugzilla.gnome.org/show_bug.cgi?id=580676 bug 580676]. pygtksourceview's autogen.sh has a GNU find predicate that's no longer needed since conversion from CVS ([http://bugzilla.gnome.org/show_bug.cgi?id=583217 bug 583217]).
[http://developers.sun.com/sunstudio/ Sun Studio 12] is preferentially used by Sun for compiling GNOME in Solaris, and provides another layer of error detection, e.g. void functions that return values. It's installed into /opt/SUNWspro and /opt/SUNWspro/bin is added to PATH. Skip guile in the bootstrap as it doesn't compile and isn't used by much; Sun don't even ship it:
glib fails becaues g_socket_control_message_serialize in gio/gsocketcontrolmessage.c is defined as void but returns a value ([http://bugzilla.gnome.org/show_bug.cgi?id=583408 bug 583408])
We've reported a bunch of bugs, and some have been fixed: checking netinet/ip.h usability... no
checking netinet/ip.h presence... yes
configure: WARNING: netinet/ip.h: present but cannot be compiled
configure: WARNING: netinet/ip.h: check for missing prerequisite headers?
configure: WARNING: netinet/ip.h: see the Autoconf documentation
configure: WARNING: netinet/ip.h: section "Present But Cannot Be Compiled"
configure: WARNING: netinet/ip.h: proceeding with the preprocessor's result
configure: WARNING: netinet/ip.h: in the future, the compiler will take precedence
configure: WARNING: ## ---------------------------------------- ##
configure: WARNING: ## Report this to [email protected] ##
configure: WARNING: ## ---------------------------------------- ##
Compiling heimdal/lib/roken/vis.c
In file included from heimdal/../heimdal_build/vis.h:3,
from heimdal/lib/roken/vis.c:83:
./heimdal/lib/roken/vis.hin:83:23: sys/cdefs.h: No such file or directory
In file included from heimdal/../heimdal_build/vis.h:3,
from heimdal/lib/roken/vis.c:83:
./heimdal/lib/roken/vis.hin:86: error: syntax error before "char"
heimdal/lib/roken/vis.c:103: error: syntax error before "static"
heimdal/lib/roken/vis.c: In function `do_svis':
heimdal/lib/roken/vis.c:229: error: `u_int32_t' undeclared (first use in this function)
heimdal/lib/roken/vis.c:229: error: (Each undeclared identifier is reported only once
heimdal/lib/roken/vis.c:229: error: for each function it appears in.)
heimdal/lib/roken/vis.c:229: error: syntax error before "u_char"
heimdal/lib/roken/vis.c:229: error: syntax error before ')' token
heimdal/lib/roken/vis.c:230: error: syntax error before "u_char"
heimdal/lib/roken/vis.c:230: error: syntax error before ')' token
The following command failed:
gcc -Iheimdal/../heimdal_build -Iheimdal/lib/roken -I../lib/socket_wrapper -fPIC -I./include -I. -I./lib -I./../lib/replace -I./../lib/talloc -I./.. -D_SAMBA_BUILD_=4 -DHAVE_CONFIG_H -c heimdal/lib/roken/vis.c -o heimdal/lib/roken/vis.o
Linking bin/asn1_compile
ld: fatal: symbol `flock' is multiply-defined:
(file heimdal/../heimdal_build/replace.ho type=FUNC; file bin/mergedobj/heimdal_roken.o type=FUNC);
ld: fatal: File processing errors. No output written to bin/asn1_compile
collect2: ld returned 1 exit status
gcc -DHAVE_CONFIG_H -I. -I../../.. -I../../.. -I../../../clutter -I../../../clutter/cogl -I../../../clutter/cogl/common -I../../../clutter/cogl/gl -I../../../clutter -I../../../clutter/cogl -D_REENTRANT -D_PTHREADS -D_POSIX_PTHREAD_SEMANTICS -I/space/buildbot/prefix/include/pango-1.0 -I/space/buildbot/prefix/include/cairo -I/space/buildbot/prefix/include/glib-2.0 -I/space/buildbot/prefix/lib/glib-2.0/include -I/space/buildbot/prefix//include/pixman-1 -I/space/buildbot/prefix//include -I/space/buildbot/prefix/include/gtk-2.0 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/X11/include -DCLUTTER_ENABLE_DEBUG -DG_DISABLE_CAST_CHECKS -g -Wall -g -O2 -MT cogl-fbo.lo -MD -MP -MF .deps/cogl-fbo.Tpo -c cogl-fbo.c -fPIC -DPIC -o .libs/cogl-fbo.o
cogl-fbo.c: In function `cogl_offscreen_new_to_texture':
cogl-fbo.c:100: error: `GL_RENDERBUFFER_EXT' undeclared (first use in this function)
cogl-fbo.c:100: error: (Each undeclared identifier is reported only once
cogl-fbo.c:100: error: for each function it appears in.)
cogl-fbo.c:101: error: `GL_STENCIL_INDEX8_EXT' undeclared (first use in this function)
cogl-fbo.c:108: error: `GL_FRAMEBUFFER_EXT' undeclared (first use in this function)
cogl-fbo.c:109: error: `GL_COLOR_ATTACHMENT0_EXT' undeclared (first use in this function)
cogl-fbo.c:111: error: `GL_STENCIL_ATTACHMENT_EXT' undeclared (first use in this function)
cogl-fbo.c:118: error: `GL_FRAMEBUFFER_COMPLETE_EXT' undeclared (first use in this function)
cogl-fbo.c: In function `cogl_draw_buffer':
cogl-fbo.c:293: error: `GL_FRAMEBUFFER_EXT' undeclared (first use in this function
gcc -DHAVE_CONFIG_H -I. -I.. -DG_LOG_DOMAIN=\"Eel\" -I.. -D_REENTRANT -D_PTHREADS -DORBIT2=1 -D_POSIX_PTHREAD_SEMANTICS -I/space/buildbot/prefix/include/glib-2.0 -I/space/buildbot/prefix/lib/glib-2.0/include -I/space/buildbot/prefix/include/gnome-desktop-2.0 -I/space/buildbot/prefix/include/gtk-2.0 -I/space/buildbot/prefix/include/startup-notification-1.0 -I/space/buildbot/prefix/lib/gtk-2.0/include -I/space/buildbot/prefix/include/atk-1.0 -I/space/buildbot/prefix/include/cairo -I/space/buildbot/prefix/include/pango-1.0 -I/space/buildbot/prefix//include/pixman-1 -I/space/buildbot/prefix//include -I/space/buildbot/prefix/include/gio-unix-2.0/ -I/space/buildbot/prefix//include/unique-1.0 -I/space/buildbot/prefix//include/dbus-1.0 -I/space/buildbot/prefix//lib/dbus-1.0/include -I/space/buildbot/prefix/include/gail-1.0 -I/space/buildbot/prefix/include/gconf/2 -I/space/buildbot/prefix/include/orbit-2.0 -I/space/buildbot/prefix/include/libxml2 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/X11/include -I/space/buildbot/prefix/include/pango-1.0 -I/space/buildbot/prefix/include/glib-2.0 -I/space/buildbot/prefix/lib/glib-2.0/include -Wall -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wcast-align -Werror -Wstrict-aliasing=0 -DDATADIR=\"/space/buildbot/prefix/share\" -DSOURCE_DATADIR=\"../data\" -DGNOMELOCALEDIR=\"/space/buildbot/prefix/share/locale\" -DG_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED -DGMENU_I_KNOW_THIS_IS_UNSTABLE -g -O2 -MT eel-background.lo -MD -MP -MF .deps/eel-background.Tpo -c eel-background.c -fPIC -DPIC -o .libs/eel-background.o
eel-background.c: In function `eel_background_receive_dropped_color'
eel-background.c:1050: warning: cast increases required alignment of target type
make[2]: *** [eel-background.lo] Error 1
/opt/csw/bin/gmsgfmt -c --statistics -o eu.gmo eu.po
/opt/csw/bin/gmsgfmt: eu.po: warning: PO file header fuzzy
warning: older versions of msgfmt will give an error on this
Compiling with Sun Studio
manduba: ~> JHBUILD_CC=suncc jhbuild bootstrap --skip guile --ignore-system
Issues only affecting Sun Studio
Bugs fixed