pkgsrc-Bugs archive

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

pkg/42841: IRIX bootstrap fails in nbcompat



>Number:         42841
>Category:       pkg
>Synopsis:       IRIX bootstrap fails in nbcompat
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu Feb 18 16:35:00 +0000 2010
>Originator:     Brian Ginsbach
>Release:        pkgsrc-2009Q4
>Organization:
>Environment:
System: IRIX pkgirix 6.5.23 01080747 IP32


>Description:
gcc  -D__DBINTERFACE_PRIVATE -I. -I.  -g -O2 -DHAVE_CONFIG_H -c 
/usr/pkgsrc/bootstrap/work/libnbcompat/db/btree/bt_close.c
In file included from 
/usr/pkgsrc/bootstrap/work/libnbcompat/db/btree/bt_close.c:48:
nbcompat/db.h:47: error: conflicting types for `pgno_t'
/usr/freeware/lib/gcc-lib/mips-sgi-irix6.5/3.3/include/sys/types.h:78: error: 
previous declaration of `pgno_t'
*** Error code 1

Stop.
bmake: stopped in /usr/pkgsrc/bootstrap/work/libnbcompat
===> exited with status 1
aborted.

>How-To-Repeat:
Attempt to bootstrap pkgsrc on IRIX.

>Fix:
The problem is that IRIX has a typedef of pgno_t in
/usr/include/sys/types.h.  The db.h file distributed with IRIX
includes the following:

/*
 * XXX
 * Important: Don't use the IRIX pgno_t typedef.
 * It causes an endless loop in btree
 */
#define pgno_t  db_pgno_t

A similar work around needs to be included with the nbcompat db.h file.

The following while not the most elegant does work.

#ifdef __sgi
/* Can't use the IRIX pgno_t typedef. */
#define pgno_t          db_pgno_t
#endif

It would probably be better to add a configure test, something like
HAVE_TYPE_PGNO_T.



Home | Main Index | Thread Index | Old Index