Building Garnome 2.10.2 on Red Hat 8.0



So here are the notes I took while building Garnome 2.10.2 on the
standard Red Hat 8.0 system deployment we use.

As a prologue, let me say that I have root access on my build box but I
DON'T anticipate every user who wants to use this having root access.
Thus, I was able to install some *-devel packages on my system, but I
did NOT install any non-devel packages since users won't be able to do
that.

Based on my experience I think that the README file for Garnome should
add this line into the table of what needs to be built for bootstrap:

   Red Hat <= 8.0               xrender, freetype, xft

-------------------------------------------------------------------------------

Installed these extra RPMs:

          ccache-2.4-1.0.rh8.dag.i386.rpm
          bzip2-devel-1.0.2-5.i386.rpm
          pspell-devel-0.12.2-14.i386.rpm
          aspell-devel-0.33.7.1-16.i386.rpm
          lm_sensors-devel-2.6.3-2.i386.rpm

Installed these packages from source (./configure --prefix=/opt/garnome):

          libexif-0.6.12.tar.bz2
          pilot-link-0.11.8.tar.bz2

          gnupg-1.4.1.tar.bz2           # these are needed for seahorse
          gpgme-1.0.3.tar.gz            # but it still doesn't work
          libgpg-error-1.0.tar.gz       # for me: won't start

Issues with the build:

  - Remove desktop/gnome-volume-manager: it only works on Linux 2.6+

  - Need to build bootstrap/xrender because the one that comes with RH8
    is too old to build Pango (get XTrapezoid error).  In order for this
    to work you also need to build bootstrap/xft and MAYBE
    bootstrap/freetype.

  - EOG fails with a configure error that it can't find libexif.  This
    package is not installed on the SOE 2.2 (RH8) release.

    In order to build this you could add --without-libexif to the
    desktop/eog/Makefile:CONFIGURE_ARGS variable.

    However, nautilus wants it too, so instead I just downloaded the
    libexif tarball, ran ./configure --prefix=/opt/garnome,
    and make/make install.  Problem solved.

  - bootstrap/firefox fails to compile with the advanced compiler
    options I have set, due to a bug in the compiler that comes with RH8
    (found some info on this from Google).  Add this line to the Makefile:

      CFLAGS := $(filter-out -march=% -fomit-frame-pointer,$(CFLAGS))

    to override them.

  - desktop/evolution wants office/gnome-pilot, which wants pilot-link
    to be installed already.  There is a pilot-link on the system, but
    it's too old.  I downloaded the latest stable release (0.11.8) and
    installed it with ./configure --prefix=/opt/garnome, make, make
    install.

    Alternatively I could probably disable Pilot access through Evo, but
    I figured some people might want it.

  - desktop/gst-plugins: gst-plugins-0.8.10 has a bug in it, plain and
    simple.  They put an ifdef into a macro argument list which is
    clearly illegal in standard C.  I edited sys/glsink/glimagesink.c to
    fix that.  See patch attached.

  - desktop/libgnomesu: Requires root password to be built; I didn't do
    this.

  - bindings/pygtk: fails because the Python on Red Hat is too old.
    This is only used by desktop/vte and we don't really need Python
    bindings for VTE anyway, so just commend that package dependency out
    of desktop/vte/Makefile:LIBDEPS, and add --disable-python to
    CONFIGURE_ARGS (same file).

  - desktop/totem: compile fails due to a bug in RH header files.
    totem/src/totem-disc.c includes linux/cdrom.h -> asm/byteorder.h ->
    linux/byteorder/little_endian.h -> linux/byteorder/generic.h, which
    first creates a prototype for ntohl, then makes a #define for it.

    Later, totem-disc.c includes gnome-vfs.h -> gnome-vfs-address.h ->
    netdb.h -> netinet/in.h, which ALSO declares a prototype for
    ntohl().  But, since there's already a #define for it the prototype
    is expanded as a macro and you get a syntax error.

    To work around this problem, I added "#include <netinet/in.h>" to
    totem-disk.c BEFORE "#include <linux/cdrom.h>".  See patch attached.

  - desktop/ximian-connector: fails configure with "Could not find krb5."
    Strange because according to rpm, both krb5-libs & krb5-devel ARE
    installed.  The problem is that the libraries are installed into
    /usr/kerberos/lib but the configure system doesn't look for them
    there.

    As discussed in the README, I added --with-krb5=/usr/kerberos to
    desktop/evolution, desktop/ximian-connector, and fifth-toe/gaim.



--- ./work/main.d/gst-plugins-0.8.10/sys/glsink/glimagesink.c~	2005-06-14 12:38:03.000000000 -0400
+++ ./work/main.d/gst-plugins-0.8.10/sys/glsink/glimagesink.c	2005-07-12 01:08:52.000000000 -0400
@@ -48,15 +48,18 @@
 
 /* Default template - initiated with class struct to allow gst-register to work
    without X running */
+
+#ifdef GL_YCBCR_MESA
+# define GL_YCBCR_MESA_ARGUMENT ";" GST_VIDEO_CAPS_YUV ("{ UYVY, YUY2 }")
+#else
+# define GL_YCBCR_MESA_ARGUMENT
+#endif
+
 static GstStaticPadTemplate gst_glimagesink_sink_template_factory =
     GST_STATIC_PAD_TEMPLATE ("sink",
     GST_PAD_SINK,
     GST_PAD_ALWAYS,
-    GST_STATIC_CAPS (GST_VIDEO_CAPS_RGBx ";" GST_VIDEO_CAPS_BGRx
-#ifdef GL_YCBCR_MESA
-        ";" GST_VIDEO_CAPS_YUV ("{ UYVY, YUY2 }")
-#endif
-    )
+    GST_STATIC_CAPS (GST_VIDEO_CAPS_RGBx ";" GST_VIDEO_CAPS_BGRx GL_YCBCR_MESA_ARGUMENT)
     );
 
 #if 0
--- ./work/main.d/totem-1.0.4/src/totem-disc.c~	2005-07-12 08:22:47.000000000 -0400
+++ ./work/main.d/totem-1.0.4/src/totem-disc.c	2005-07-12 09:21:16.000000000 -0400
@@ -37,6 +37,7 @@
 #include <mntent.h>
 #include <string.h>
 
+#include <netinet/in.h>
 #include <sys/ioctl.h>
 #include <sys/stat.h>
 #include <linux/cdrom.h>

-- 
-------------------------------------------------------------------------------
 Paul D. Smith <psmith nortel com>           HASMAT: HA Software Mthds & Tools
 "Please remain calm...I may be mad, but I am a professional." --Mad Scientist
-------------------------------------------------------------------------------
   These are my opinions---Nortel Networks takes no responsibility for them.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]