#ifndef SHELL
+## Building a Separate Version of GNOME
+
+### glib
+
+See the bug report at <https://bugzilla.gnome.org/show_bug.cgi?id=618754> for an error similar to
+
+ /usr/libexec/binutils217/elf/ld: .libs/gthread.o: relocation R_X86_64_PC32
+ against `_g_mem_thread_init_noprivate_nomessage' can not be used when making a
+ shared object; recompile with -fPIC
+ /usr/libexec/binutils217/elf/ld: final link failed: Bad value
+
+This bug is especially a problem because it may be related to some interaction with gcc 4.1.2 only on DragonFly.
+
+The following patch is a complete hack:
+
+ diff --git a/configure.in b/configure.in
+ index 38288c3..51a1c07 100644
+ --- a/configure.in
+ +++ b/configure.in
+ @@ -3033,7 +3033,7 @@ _______EOF
+ #define G_GNUC_INTERNAL __attribute__((visibility("hidden")))
+ #elif defined(__SUNPRO_C) && (__SUNPRO_C >= 0x550)
+ #define G_GNUC_INTERNAL __hidden
+ -#elif defined (__GNUC__) && defined (G_HAVE_GNUC_VISIBILITY)
+ +#elif defined (__GNUC__) && defined (G_HAVE_GNUC_VISIBILITY) && !defined(__DragonFly__)
+ #define G_GNUC_INTERNAL __attribute__((visibility("hidden")))
+ #else
+ #define G_GNUC_INTERNAL
+