Subject: pkg/26638: dns in qt3-libs doesn't work
To: None <gnats-bugs@gnats.NetBSD.org>
From: None <lha@netbsd.org>
List: pkgsrc-bugs
Date: 08/13/2004 12:43:06
>Number: 26638
>Category: pkg
>Synopsis: dns in qt doesn't work
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: pkg-manager
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Fri Aug 13 10:44:00 UTC 2004
>Closed-Date:
>Last-Modified:
>Originator: Love
>Release: NetBSD 2.0G
>Organization:
>Environment:
System: NetBSD nutcracker.stacken.kth.se 2.0G NetBSD 2.0G (NUTCRACKER) #114: Wed Aug 4 16:05:01 CEST 2004 lha@nutcracker.stacken.kth.se:/usr/src/sys/arch/i386/compile/NUTCRACKER i386
Architecture: i386
Machine: i386
>Description:
dns in qt3-libs doesn't work it uses old res api and that doesn't
work for threaded programs
>How-To-Repeat:
$ cd pkgsrc/chat/psi && make install && psi
$ psi
_res is not supported for multi-threaded programs.
Abort trap
$ gdb /usr/pkg/bin/psi psi.core
[....]
#0 0x48dac49b in kill () from /usr/lib/libc.so.12
(gdb) bt
#0 0x48dac49b in kill () from /usr/lib/libc.so.12
#1 0x48e27253 in abort () from /usr/lib/libc.so.12
#2 0x48cf04e8 in __res_state () from /usr/lib/libpthread.so.0
#3 0x48622ca6 in QDns::doResInit() () from /usr/pkg/qt3/lib/libqt-mt.so.3
#4 0x4861effb in QDnsManager::QDnsManager() ()
from /usr/pkg/qt3/lib/libqt-mt.so.3
[...]
>Fix:
--- src/network/qdns.cpp-dist 2004-08-13 12:37:52.000000000 +0200
+++ src/network/qdns.cpp 2004-08-13 12:37:56.000000000 +0200
@@ -2515,6 +2515,8 @@
#if defined(__GLIBC__) && ((__GLIBC__ > 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ >= 3)))
#define Q_MODERN_RES_API
+#elif defined(res_ninit)
+#define Q_MODERN_RES_API
#else
#endif
>Release-Note:
>Audit-Trail:
>Unformatted: