pkgsrc-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

thunderbird problems with _res



Just build thunderbird (latest CVS update) on a recent  NetBSD 6.0_STABLE. The 
build is fine, but running it on a clean system  results in it failing in the 
mailer configuration dialogue. 

It looks like this a another case of  _res being called from a threaded 
program. Patch-AA has the fix for configure.in in the mozilla subdirectory, 
but patch-AA-toplevel doesn't and that exposes the problem. Updating 
patch-AA-toplevel to add the extra magic fixes the problem.

updated patch attached

distinfo needs adjusting to change the checksum for the patch to:

SHA1 (patch-aa-toplevel) = e3152b1a6ba6c9a3b59160649109711f54bb5966

With it rebult after the modified patch it seems OK with light testing.

Dave

-- 
=====================================================================
Phone: 07805784357
Open Source O/S: http://www.netbsd.org
Caving: http://www.wirralcavinggroup.org.uk
=====================================================================
$NetBSD: patch-aa-toplevel,v 1.8 2012/09/02 06:43:39 ryoon Exp $

--- configure.in.orig   2012-08-25 00:24:32.000000000 +0000
+++ configure.in
@@ -1865,7 +1865,7 @@ ld.])
     MOZ_FIX_LINK_PATHS='-Wl,-executable_path,$(LIBXUL_DIST)/bin'
     ;;
 
-*-freebsd*)
+*-freebsd* | *-dragonfly*)
     if test `test -x /usr/bin/objformat && /usr/bin/objformat || echo elf` != 
"elf"; then
        DLL_SUFFIX=".so.1.0"
        DSO_LDOPTS="-shared"
@@ -1873,6 +1873,9 @@ ld.])
     if test ! "$GNU_CC"; then
        DSO_LDOPTS="-Bshareable $DSO_LDOPTS"
     fi
+    if test "$LIBRUNPATH"; then
+       DSO_LDOPTS="-Wl,-R$LIBRUNPATH $DSO_LDOPTS"
+    fi
     ;; 
 
 ia64*-hpux*)
@@ -3106,6 +3109,9 @@ dnl ====================================
 case $target in
 *-hpux11.*)
        ;;
+*-dragonfly*)
+       AC_CHECK_LIB(c, gethostbyname_r)
+       ;;
 *)
        AC_CHECK_LIB(c_r, gethostbyname_r)
        ;;
@@ -3339,6 +3345,9 @@
         #ifdef linux
         #define _BSD_SOURCE 1
         #endif
+       #ifdef __NetBSD__
+       #error use of global _res variable in threaded programs is not portable
+       #endif
         #include <resolv.h>
         ],
         [int foo = res_ninit(&_res);],


Home | Main Index | Thread Index | Old Index