pkgsrc-Users archive

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

db4 on recent dragonfly 2.5.1



Hi!

databases/db4 does not compile on recent dragonfly 2.5.1 versions (in
my case it's v2.5.1.538.g0a17d). The build fails with:

--- client.lo ---
../dist/../rpc_client/client.c: In function '__dbcl_c_destroy':
../dist/../rpc_client/client.c:376: error: 'struct __cq_fq' has no member named 
'trace'
../dist/../rpc_client/client.c:376: error: 'struct __cq_fq' has no member named 
'trace'
../dist/../rpc_client/client.c:376: error: 'struct __cq_fq' has no member named 
'trace'
../dist/../rpc_client/client.c:376: error: 'struct __cq_fq' has no member named 
'trace'
../dist/../rpc_client/client.c:376: error: 'struct __cq_fq' has no member named 
'trace'
../dist/../rpc_client/client.c:376: error: 'struct __cq_fq' has no member named 
'trace'
../dist/../rpc_client/client.c:376: error: 'struct <anonymous>' has no member 
named 'trace'
../dist/../rpc_client/client.c:376: error: 'struct <anonymous>' has no member 
named 'trace'
../dist/../rpc_client/client.c:376: error: 'struct <anonymous>' has no member 
named 'trace'
../dist/../rpc_client/client.c:376: error: 'struct <anonymous>' has no member 
named 'trace'
../dist/../rpc_client/client.c:376: error: 'struct <anonymous>' has no member 
named 'trace'
../dist/../rpc_client/client.c:376: error: 'struct <anonymous>' has no member 
named 'trace'
../dist/../rpc_client/client.c: In function '__dbcl_c_refresh':
../dist/../rpc_client/client.c:410: error: 'struct __cq_aq' has no member named 
'trace'
...

The problem seems to be:

 - databases/db4 has a private "queue.h"
 - this queue.h undefines all queue macros before it defines it's own
 - in the case above, <sys/file.h> gets included after "queue.h" and
 - on recent dragonfly <sys/file.h> includes <sys/event.h> which
   includes <sys/queue.h>

Looks like I get a successful build, if I suppress the (re)reading of
<sys/queue.h> with:

--- dbinc/queue.h.orig  2010-01-22 23:20:15 +0100
+++ dbinc/queue.h       2010-01-22 23:20:18 +0100
@@ -36,6 +36,7 @@
 
 #ifndef        _DB_QUEUE_H_
 #define        _DB_QUEUE_H_
+#define _SYS_QUEUE_H_
 
 #if defined(__cplusplus)
 extern "C" {


Home | Main Index | Thread Index | Old Index