I've built a 64bit version of garnome, on fc3, using gcc 3.4.2. Here is a list of all the things I had to do to make this work. Some of them are my problems, some are fc3 problems, and some are gnome problems.
** remove some fc3 system libraries # yum remove mozilla (1.7.3) # yum remove mozilla-nspr I was unable to reliably build against Garnome's firefox/mozilla until I removed those libs. ** ensure 64 bit libs get used (but $PREFIX/lib wins all :) $ ln -s $PREFIX/lib $PREFIX/lib64 $ export LDFLAGS = -L$PREFIX/lib -L/lib64 -L/usr/lib64 -L/usr/local/lib64 -L/usr/X11R6/lib64 -lXtst ** platform/glib 2.15.0 This needed patching just to compile; I'm guessing it wasn't gcc 3.4.2 friendly. It also needed patching to make its include files includeable (e.g // foo -> /* foo */ etc.) Patch attached. ** bindings/glibmm 2.14.2 ** fifth-toe/pan 0.132 These had lots of 'g_assert' undefined errors - they do not play nicely with glib 2.15. Patches attached. ** desktop/gstreamer ** hacker-tools/anjuta ** geektoys/thoggen Lots of 'invalid mov' errors; valgrind doesn't play well with the fc3/x86_64 binutils. So tweak the CONFIGURE_ARGS to disable valgrind: desktop/gstreamer: --disable-valgrind hacker-tools/anjuta: --disable-plugin-valgrind geektoys/thoggen: --disable-valgrind-check ** fifth-toe/gnet Tweak the garball Makefile, so that it will compile under x86_64: post-patch: perl -i -p -e's/-Werror//g' $(WORKSRC)/configure $(WORKSRC)/configure.ac ** office/libgnomedb Add a missing LIBDEP on hacker-tools/glade3. ** geektoys/tagtool Patch so that it will compile under gcc 3.4.2. Patch attached. ** freedesktop/libxft Revert to version 2.1.7; more recent versions seem to have implicit dependencies on X v7. ** freedesktop/hal Add some includes missing from the 'old' kernel on fc3. Patch attached. Also, since I couldn't get PolicyKit to work, I had remove the LIBDEP for it from hal, and tweak the hal garball makefile: perl -p -i -e 's{(dbus-1/system.d)}{$$1 --disable-policy-kit}' $(GARBASE)/freedesktop/hal/Makefile ** desktop/gdm ** geektoys/gnome-phone-manager These packages contain hacks in the garball Makefiles to rebuild the aclocal information. However, the invocations of 'aclocal' aren't configured to use $PREFIX/share/aclocal, and so miss some important m4 stuff. perl -p -i -e 's{aclocal;}{aclocal -I \$$(sharedstatedir)/aclocal;}' $(GARBASE)/geektoys/gnome-phone-manager/Makefile perl -p -i -e 's{aclocal;}{aclocal -I \$$(sharedstatedir)/aclocal;}' $(GARBASE)/desktop/gdm/Makefile ** bootstrap/dhcdbd Fixup dhcdbd URL (needed for NetworkManager) perl -p -i -e 's{people.redhat.com/dcantrel}{dcantrel.fedorapeople.org}' $(GARBASE)/bootstrap/dhcdbd/Makefile ** fifth-toe/gossip Make sure it can link against a loudmouth that was compiled without --enable-debug perl -p -i -e 's{(CONFIGURE_ARGS)}{CFLAGS += -DLM_NO_DEBUG\n$$1}' $(GARBASE)/fifth-toe/gossip/Makefile ** desktop/evince Evince doesn't like the /usr/lib64/libpathsea.a fond on fc3. perl -p -i -e 's{(CONFIGURE_ARGS.*)}{$$1 --disable-dvi}' $(GARBASE)/desktop/evince/Makefile ** bindings/cairomm Cairomm's tests don't work (v1.4.6) - remove them perl -p -i -e 's{(category.mk)}{$$1\nCONFIGURE_ARGS := \$$(shell echo \$$(CONFIGURE_ARGS) | sed "s,--enable-tests,--disable-tests,")}' $(GARBASE)/bindings/cairomm/Makefile ** desktop/liboobs Doesn't include the right kernel headers. Patch attached. ** hacker-tools/kiwi Needs a 'make makesums' ** desktop/metacity Revert metacity to version 2.21.3 (gnome-python-desktop doesn't like 2.21.5) ** desktop/dasher ** fifth-toe/gimp I'm not sure why, but these packages were failing to include the pangoft2 libraries when linking. I 'fixed' this by hacking LDFLAGS. perl -p -i -e 's{^(include)}{LDFLAGS += -lpangoft2-1.0\n$$1}' $(GARBASE)/desktop/dasher/Makefile perl -p -i -e 's{^(include)}{LDFLAGS += -lpangoft2-1.0\n$$1}' $(GARBASE)/fifth-toe/gimp/Makefile ** desktop/gdm Add a local garball for CHECK ** desktop/gnome-keyring Add local garball for libtasn1 ** desktop/gnome-games Add local garballs for libggz, ggz-client-libs ** BROKEN Aside from the above, I couldn't get the packages below to compile, and didn't need to - so I just deleted them. ### 2.20 # desktop/gnome-mag; No package 'xext' found (part of modern x.org servers) # geektoys/gnome-bluetooth; pygtk, No match:|GSList* channels| # geektoys/gnome-phone-manager; include/bluetooth/sdp_lib.h:67: undefined reference to `sdp_list_free' # geektoys/lock-keys-applet; lock-keys-applet.c:65: error: syntax error before "GtkTooltips" # geektoys/NetworkManager; nm-vpn-properties.c:59: error: syntax error before '*' token # geektoys/screem; gdl-dock-item-grip.c:37: error: syntax error before "GtkTooltips" # ### 2.21 # office/gnumeric: gnm-so-polygon.c:131: error: structure has no member named `pattern' # office/inkscape: ./libnr/nr-point.h:47: undefined reference to `nr_arena_item_invoke_pick(NRArenaItem*, NR::Point,double,unsigned int)' # geektoys/epiphany-extensions: configure: error: Epiphany API version 2.20 is required # geektoys/mail-notification: src/mn-mh-mailbox-backend.gob:58: undefined reference to `eel_uri_get_basename' # hacker-tools/anjuta: weird problems with my-bootstrap/autogen :/ # mono/evolution-sharp: doesn't match e-d-s versions # # freedesktop/PolicyKit: bails in linux headers for inotify # freedesktop/PolicyKit-gnome And that is it ! - Adam
diff --speed-large-files --minimal -Npru glibmm-2.14.2.orig/glib/glibmm/convert.cc glibmm-2.14.2/glib/glibmm/convert.cc --- glibmm-2.14.2.orig/glib/glibmm/convert.cc 2007-10-22 07:46:25.000000000 -0400 +++ glibmm-2.14.2/glib/glibmm/convert.cc 2007-12-27 14:55:04.000000000 -0500 @@ -24,6 +24,7 @@ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ +#include <glib/gtestutils.h> #include <glib/gconvert.h> #include <glib/gmessages.h> #include <glib/gunicode.h> diff --speed-large-files --minimal -Npru glibmm-2.14.2.orig/glib/glibmm/date.cc glibmm-2.14.2/glib/glibmm/date.cc --- glibmm-2.14.2.orig/glib/glibmm/date.cc 2007-10-22 07:46:26.000000000 -0400 +++ glibmm-2.14.2/glib/glibmm/date.cc 2007-12-27 14:55:00.000000000 -0500 @@ -24,6 +24,7 @@ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ +#include <glib/gtestutils.h> #include <glib/gmem.h> #include <glib/gmessages.h> diff --speed-large-files --minimal -Npru glibmm-2.14.2.orig/glib/glibmm/error.cc glibmm-2.14.2/glib/glibmm/error.cc --- glibmm-2.14.2.orig/glib/glibmm/error.cc 2007-10-22 07:11:12.000000000 -0400 +++ glibmm-2.14.2/glib/glibmm/error.cc 2007-12-27 14:54:55.000000000 -0500 @@ -20,6 +20,7 @@ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ +#include <glib/gtestutils.h> #include <glib/gerror.h> #include <glib/gmessages.h> diff --speed-large-files --minimal -Npru glibmm-2.14.2.orig/glib/glibmm/exception.cc glibmm-2.14.2/glib/glibmm/exception.cc --- glibmm-2.14.2.orig/glib/glibmm/exception.cc 2007-10-22 07:11:12.000000000 -0400 +++ glibmm-2.14.2/glib/glibmm/exception.cc 2007-12-27 14:54:52.000000000 -0500 @@ -20,6 +20,7 @@ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ +#include <glib/gtestutils.h> #include <glib/gmessages.h> #include <glibmm/exception.h> diff --speed-large-files --minimal -Npru glibmm-2.14.2.orig/glib/glibmm/exceptionhandler.cc glibmm-2.14.2/glib/glibmm/exceptionhandler.cc --- glibmm-2.14.2.orig/glib/glibmm/exceptionhandler.cc 2007-10-22 07:11:12.000000000 -0400 +++ glibmm-2.14.2/glib/glibmm/exceptionhandler.cc 2007-12-27 14:54:48.000000000 -0500 @@ -20,6 +20,7 @@ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ +#include <glib/gtestutils.h> #include <glib.h> #include <exception> #include <list> diff --speed-large-files --minimal -Npru glibmm-2.14.2.orig/glib/glibmm/interface.cc glibmm-2.14.2/glib/glibmm/interface.cc --- glibmm-2.14.2.orig/glib/glibmm/interface.cc 2007-10-22 07:11:12.000000000 -0400 +++ glibmm-2.14.2/glib/glibmm/interface.cc 2007-12-27 14:54:44.000000000 -0500 @@ -18,6 +18,7 @@ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ +#include <glib/gtestutils.h> #include <glibmm/interface.h> #include <glibmm/private/interface_p.h> diff --speed-large-files --minimal -Npru glibmm-2.14.2.orig/glib/glibmm/iochannel.cc glibmm-2.14.2/glib/glibmm/iochannel.cc --- glibmm-2.14.2.orig/glib/glibmm/iochannel.cc 2007-10-22 07:46:28.000000000 -0400 +++ glibmm-2.14.2/glib/glibmm/iochannel.cc 2007-12-27 14:54:40.000000000 -0500 @@ -24,6 +24,7 @@ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ +#include <glib/gtestutils.h> #include <glibmm/exceptionhandler.h> #include <glibmm/iochannel.h> #include <glibmm/utility.h> diff --speed-large-files --minimal -Npru glibmm-2.14.2.orig/glib/glibmm/main.cc glibmm-2.14.2/glib/glibmm/main.cc --- glibmm-2.14.2.orig/glib/glibmm/main.cc 2007-10-22 07:11:12.000000000 -0400 +++ glibmm-2.14.2/glib/glibmm/main.cc 2007-12-27 14:54:36.000000000 -0500 @@ -18,6 +18,7 @@ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ +#include <glib/gtestutils.h> #include <glibmm/main.h> #include <glibmm/exceptionhandler.h> #include <glibmm/thread.h> diff --speed-large-files --minimal -Npru glibmm-2.14.2.orig/glib/glibmm/objectbase.cc glibmm-2.14.2/glib/glibmm/objectbase.cc --- glibmm-2.14.2.orig/glib/glibmm/objectbase.cc 2007-10-22 07:11:12.000000000 -0400 +++ glibmm-2.14.2/glib/glibmm/objectbase.cc 2007-12-27 14:54:26.000000000 -0500 @@ -18,6 +18,7 @@ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ +#include <glib/gtestutils.h> #include <glib-object.h> #include <glibmm/quark.h> diff --speed-large-files --minimal -Npru glibmm-2.14.2.orig/glib/glibmm/property.cc glibmm-2.14.2/glib/glibmm/property.cc --- glibmm-2.14.2.orig/glib/glibmm/property.cc 2007-10-22 07:11:12.000000000 -0400 +++ glibmm-2.14.2/glib/glibmm/property.cc 2007-12-27 14:54:19.000000000 -0500 @@ -18,6 +18,7 @@ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ +#include <glib/gtestutils.h> #include <glibmm/property.h> #ifdef GLIBMM_PROPERTIES_ENABLED
diff --speed-large-files --minimal -Npru pan-0.132.orig/pan/general/debug.h pan-0.132/pan/general/debug.h --- pan-0.132.orig/pan/general/debug.h 2007-08-01 13:00:01.000000000 -0400 +++ pan-0.132/pan/general/debug.h 2007-12-27 16:15:27.000000000 -0500 @@ -21,6 +21,7 @@ #define __Debug_h__ #include <iostream> +#include <glib/gtestutils.h> namespace pan {
diff --speed-large-files --minimal -Npru glib-2.15.0.orig/gio/fam/fam-helper.c glib-2.15.0/gio/fam/fam-helper.c --- glib-2.15.0.orig/gio/fam/fam-helper.c 2007-12-20 10:20:45.000000000 -0500 +++ glib-2.15.0/gio/fam/fam-helper.c 2007-12-27 15:28:07.000000000 -0500 @@ -43,7 +43,7 @@ struct _fam_sub }; static GFileMonitorEvent -fam_event_to_file_monitor_event (enum FAMCodes code) +fam_event_to_file_monitor_event (FAMCodes code) { switch (code) { diff --speed-large-files --minimal -Npru glib-2.15.0.orig/glib/gtestutils.h glib-2.15.0/glib/gtestutils.h --- glib-2.15.0.orig/glib/gtestutils.h 2007-12-20 10:20:44.000000000 -0500 +++ glib-2.15.0/glib/gtestutils.h 2007-12-27 15:28:44.000000000 -0500 @@ -22,7 +22,7 @@ #include <glib.h> -G_BEGIN_DECLS; +G_BEGIN_DECLS typedef struct GTestCase GTestCase; typedef struct GTestSuite GTestSuite; @@ -105,8 +105,8 @@ void g_test_bug_base void g_test_bug (const char *bug_uri_snippet); /* measure test timings */ void g_test_timer_start (void); -double g_test_timer_elapsed (void); // elapsed seconds -double g_test_timer_last (void); // repeat last elapsed() result +double g_test_timer_elapsed (void); /* elapsed seconds */ +double g_test_timer_last (void); /* repeat last elapsed() result */ /* automatically g_free or g_object_unref upon teardown */ void g_test_queue_free (gpointer gfree_pointer); @@ -118,7 +118,7 @@ void g_test_queue_destroy typedef enum { G_TEST_TRAP_SILENCE_STDOUT = 1 << 7, G_TEST_TRAP_SILENCE_STDERR = 1 << 8, - G_TEST_TRAP_INHERIT_STDIN = 1 << 9, + G_TEST_TRAP_INHERIT_STDIN = 1 << 9 } GTestTrapFlags; gboolean g_test_trap_fork (guint64 usec_timeout, GTestTrapFlags test_trap_flags); @@ -207,21 +207,21 @@ GLIB_VAR const GTestConfig * const g_tes /* internal logging API */ typedef enum { G_TEST_LOG_NONE, - G_TEST_LOG_ERROR, // s:msg - G_TEST_LOG_START_BINARY, // s:binaryname s:seed - G_TEST_LOG_LIST_CASE, // s:testpath - G_TEST_LOG_SKIP_CASE, // s:testpath - G_TEST_LOG_START_CASE, // s:testpath - G_TEST_LOG_STOP_CASE, // d:status d:nforks d:elapsed - G_TEST_LOG_MIN_RESULT, // s:blurb d:result - G_TEST_LOG_MAX_RESULT, // s:blurb d:result - G_TEST_LOG_MESSAGE, // s:blurb + G_TEST_LOG_ERROR, /* s:msg */ + G_TEST_LOG_START_BINARY, /* s:binaryname s:seed */ + G_TEST_LOG_LIST_CASE, /* s:testpath */ + G_TEST_LOG_SKIP_CASE, /* s:testpath */ + G_TEST_LOG_START_CASE, /* s:testpath */ + G_TEST_LOG_STOP_CASE, /* d:status d:nforks d:elapsed */ + G_TEST_LOG_MIN_RESULT, /* s:blurb d:result */ + G_TEST_LOG_MAX_RESULT, /* s:blurb d:result */ + G_TEST_LOG_MESSAGE /* s:blurb */ } GTestLogType; typedef struct { GTestLogType log_type; guint n_strings; - gchar **strings; // NULL terminated + gchar **strings; /* NULL terminated */ guint n_nums; long double *nums; } GTestLogMsg; @@ -240,6 +240,6 @@ void g_test_log_buffer_push GTestLogMsg* g_test_log_buffer_pop (GTestLogBuffer *tbuffer); void g_test_log_msg_free (GTestLogMsg *tmsg); -G_END_DECLS; +G_END_DECLS #endif /* __G_TEST_UTILS_H__ */
diff --speed-large-files --minimal -Npru tagtool-0.12.3.orig/src/Makefile.am tagtool-0.12.3/src/Makefile.am --- tagtool-0.12.3.orig/src/Makefile.am 2006-12-17 13:01:22.000000000 -0500 +++ tagtool-0.12.3/src/Makefile.am 2007-03-06 11:45:58.000000000 -0500 @@ -35,7 +35,7 @@ vorbis_cflags = endif -tagtool_CFLAGS = -Wall -Wno-pointer-sign $(GTK_CFLAGS) ${mp3_cflags} \ +tagtool_CFLAGS = -Wall $(GTK_CFLAGS) ${mp3_cflags} \ ${vorbis_cflags} -DDATADIR='"$(datadir)/${PACKAGE_NAME}"' tagtool_LDFLAGS = -export-dynamic diff --speed-large-files --minimal -Npru tagtool-0.12.3.orig/src/Makefile.in tagtool-0.12.3/src/Makefile.in --- tagtool-0.12.3.orig/src/Makefile.in 2007-02-27 15:34:13.000000000 -0500 +++ tagtool-0.12.3/src/Makefile.in 2007-03-06 11:45:48.000000000 -0500 @@ -189,7 +189,7 @@ resource_DATA = tagtool.glade preference @[EMAIL PROTECTED] = @[EMAIL PROTECTED] = -DENABLE_VORBIS -tagtool_CFLAGS = -Wall -Wno-pointer-sign $(GTK_CFLAGS) ${mp3_cflags} \ +tagtool_CFLAGS = -Wall $(GTK_CFLAGS) ${mp3_cflags} \ ${vorbis_cflags} -DDATADIR='"$(datadir)/${PACKAGE_NAME}"'
diff --speed-large-files --minimal -Npru hal-0.5.9.orig/abw-includes.h hal-0.5.9/abw-includes.h --- hal-0.5.9.orig/abw-includes.h 1969-12-31 19:00:00.000000000 -0500 +++ hal-0.5.9/abw-includes.h 2007-06-14 20:18:40.000000000 -0400 @@ -0,0 +1,44 @@ +/* + * Things HAL wants, but doesn't check for. + * Found by grepping v2.6.21.5 of the linux kernel sources + */ + +/* Should come from <linux/input.h> */ +#ifndef SW_MAX +# define SW_MAX 0x0f +#endif + +#ifndef SW_LID +# define SW_LID 0x00 /* set = lid shut */ +#endif +#ifndef SW_TABLET_MODE +# define SW_TABLET_MODE 0x01 /* set = tablet mode */ +#endif +#ifndef SW_HEADPHONE_INSERT +# define SW_HEADPHONE_INSERT 0x02 /* set = inserted */ +#endif + +#ifndef EV_SW +# define EV_SW 0x05 +#endif +#ifndef EVIOCGSW +# define EVIOCGSW(len) _IOC(_IOC_READ, 'E', 0x1b, len) /* get all switch states */ +#endif + + +/* Should come from <linux/cdrom.h> */ +#ifndef CDC_MO_DRIVE +# define CDC_MO_DRIVE 0x40000 /* drive is an MO device */ +#endif +#ifndef CDC_MRW +# define CDC_MRW 0x80000 /* drive can read MRW */ +#endif +#ifndef CDC_MRW_W +# define CDC_MRW_W 0x100000 /* drive can write MRW */ +#endif + + +/* Should come from <linux/sonypi.h> */ +#ifndef SONYPI_IOCSBLUE +# define SONYPI_IOCSBLUE _IOW('v', 9, __u8) +#endif diff --speed-large-files --minimal -Npru hal-0.5.9.orig/hald/logger.h hal-0.5.9/hald/logger.h --- hal-0.5.9.orig/hald/logger.h 2007-03-07 16:52:19.000000000 -0500 +++ hal-0.5.9/hald/logger.h 2007-06-14 20:19:01.000000000 -0400 @@ -30,6 +30,8 @@ extern "C" { #ifndef LOGGER_H #define LOGGER_H +#include "../abw-includes.h" + #include <stdio.h> #include <stdlib.h> diff --speed-large-files --minimal -Npru hal-0.5.9.orig/tools/hal-system-sonypic.c hal-0.5.9/tools/hal-system-sonypic.c --- hal-0.5.9.orig/tools/hal-system-sonypic.c 2007-03-07 16:52:19.000000000 -0500 +++ hal-0.5.9/tools/hal-system-sonypic.c 2007-06-14 20:18:49.000000000 -0400 @@ -46,6 +46,8 @@ #include <libhal/libhal.h> +#include "../abw-includes.h" + /** * @defgroup HalSystemSonypi Use sonypi specific ioctls * @ingroup HalMisc
diff --speed-large-files --minimal -Npru liboobs-2.21.3.orig/oobs/iface-state-monitor-linux.c liboobs-2.21.3/oobs/iface-state-monitor-linux.c --- liboobs-2.21.3.orig/oobs/iface-state-monitor-linux.c 2007-11-04 17:56:44.000000000 -0500 +++ liboobs-2.21.3/oobs/iface-state-monitor-linux.c 2007-12-19 18:28:09.000000000 -0500 @@ -23,6 +23,7 @@ #include <sys/types.h> #include <sys/socket.h> #include <net/if.h> +#include <linux/types.h> #include <linux/netlink.h> #include <linux/rtnetlink.h>
-- garnome-list mailing list garnome-list@gnome.org http://mail.gnome.org/mailman/listinfo/garnome-list