Subject: pkg/28381: misc/openoffice fails to build on 2.99.10
To: None <pkg-manager@netbsd.org, gnats-admin@netbsd.org,>
From: Gary Duzan <gary@duzan.org>
List: pkgsrc-bugs
Date: 11/21/2004 21:55:01
>Number:         28381
>Category:       pkg
>Synopsis:       misc/openoffice fails to build on 2.99.10
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Nov 21 21:55:00 +0000 2004
>Originator:     Gary Duzan
>Release:        NetBSD 2.99.10
>Organization:
	Not A Lot
>Environment:
System: NetBSD capo 2.99.10 NetBSD 2.99.10 (CAPO) #0: Wed Oct 27 09:14:37 EDT 2004 gary@capo:/usr2/src/sys/arch/i386/compile/obj.i386/CAPO i386
Architecture: i386
Machine: i386
>Description:
	Around 2.99.10, sys/pwd.h added a prototype for getpwnam_r.
	However, the openoffice code believes that it needs to implement
	that function itself on NetBSD, leading to a conflict.
	Also, ETIME was added in NetBSD at some point, which conflicts
	with the openoffice definition it introduces for NetBSD.
>How-To-Repeat:
	Try building misc/openoffice on current.
>Fix:
	I haven't gotten it into patch form, but modifying
	$WORKDIR/oo_1.1.1_src/sal/osl/unx/system.h like:

#ifdef NETBSD
#   ifndef ETIME
#       define  ETIME ETIMEDOUT
#   endif
#       define _POSIX_THREAD_SYSCALL_SOFT 1

	gets around the ETIME problem. For the getpwnam_r problem, I
	modified the test in $WORKDIR/oo_1.1.1_src/sal/osl/unx/system.c
	to check for the NetBSD version before defining a local version:

#ifdef NETBSD
#include <sys/param.h>
#endif

/* struct passwd differs on some platforms */
#if (defined(NETBSD) && (__NetBSD_Version__ < 299001000)) || defined MACOSX

	Note that it doesn't look like this code would be used,
	anyway, as it is, but with this change it might be possible
	to modify $WORKDIR/oo_1.1.1_src/sal/osl/unx/security.c so that
	the definitions in osl_psz_loginUser() fall through to the
	"else" case for new enough NetBSD.