Building latest git glib
authordavshao <davshao@web>
Sat, 22 May 2010 15:29:03 +0000 (08:29 -0700)
committerCharlie <root@leaf.dragonflybsd.org>
Sat, 22 May 2010 15:29:03 +0000 (08:29 -0700)
docs/developer/GEMdrmKMS/index.mdwn

index 5c398e6..f89c7f9 100644 (file)
@@ -310,3 +310,32 @@ Corrected using the *autogen.sh* flag:
 
      #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
+