NetBSD Problem Report #53900

From hauke@spg.tu-darmstadt.de  Tue Jan 22 11:58:02 2019
Return-Path: <hauke@spg.tu-darmstadt.de>
Received: from mail.netbsd.org (mail.netbsd.org [199.233.217.200])
	(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
	(Client CN "mail.NetBSD.org", Issuer "mail.NetBSD.org CA" (not verified))
	by mollari.NetBSD.org (Postfix) with ESMTPS id BDE7D7A154
	for <gnats-bugs@gnats.NetBSD.org>; Tue, 22 Jan 2019 11:58:02 +0000 (UTC)
Message-Id: <201901221154.x0MBsuoH024897@Aibel.nt.e-technik.tu-darmstadt.de>
Date: Tue, 22 Jan 2019 12:54:56 +0100 (CET)
From: Hauke Fath <hf@spg.tu-darmstadt.de>
Reply-To: Hauke Fath <hf@spg.tu-darmstadt.de>
To: gnats-bugs@NetBSD.org
Cc: Hauke Fath <hf@spg.tu-darmstadt.de>
Subject: databases/db5 does not build on evbarm 
X-Send-Pr-Version: 3.95

>Number:         53900
>Category:       pkg
>Synopsis:       databases/db5 does not build on evbarm
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    pkg-manager
>State:          closed
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Jan 22 12:00:00 +0000 2019
>Closed-Date:    Tue Feb 19 15:20:22 +0000 2019
>Last-Modified:  Tue Feb 19 15:20:22 +0000 2019
>Originator:     Hauke Fath
>Release:        NetBSD 8.99.30
>Organization:
Technische Universitaet Darmstadt
>Environment:


System: NetBSD Aibel.nt.e-technik.tu-darmstadt.de 8.99.30 NetBSD 8.99.30 (PINE64-$Revision$) #0: Thu Jan 17 15:54:20 CET 2019 hf@Hochstuhl:/var/obj/netbsd-builds/developer/evbarm/sys/arch/evbarm/compile/PINE64 evbarm
Architecture: aarch64
Machine: evbarm
>Description:

	On a -current evbarm system, databases/db5 fails in the
	configure phase with

[...]
checking size of size_t... 8
checking for ssize_t... yes
checking for uintmax_t... yes
checking for uintptr_t... yes
checking for socklen_t... yes
checking for ANSI C exit success/failure values... yes
checking for getopt optreset variable... yes
checking for mutexes... UNIX/fcntl
configure: error: Support for FCNTL mutexes was removed in BDB 4.8.
*** Error code 1

Stop.
make[2]: stopped in /amd/hochstuhl/public/pkgsrc/databases/db5
*** Error code 1


	The corresponding configure test is

[...]
  21999 # UNIX fcntl system call mutexes.
  22000 # Note that fcntl mutexes are no longer supported as of 4.8.  This code has been
  22001 # left in place in case there is some system that we are not aware of that
  22002 # only uses fcntl mutexes.  In that case, contact Oracle for support.
  22003 if test "$db_cv_mutex" = no; then
  22004         db_cv_mutex=UNIX/fcntl
  22005 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  22006 /* end confdefs.h.  */
  22007 
  22008 #include <fcntl.h>
  22009 int
  22010 main ()
  22011 {
  22012 
  22013         struct flock l;
  22014         l.l_whence = SEEK_SET;
  22015         l.l_start = 10;
  22016         l.l_len = 1;
  22017         l.l_type = F_WRLCK;
  22018         fcntl(0, F_SETLK, &l);
  22019 
  22020   ;
  22021   return 0;
  22022 }
  22023 _ACEOF
  22024 if ac_fn_c_try_link "$LINENO"; then :
  22025   db_cv_mutex=UNIX/fcntl
  22026 fi
[...]



>How-To-Repeat:

	Build db5 on NetBSD/evbarm.


>Fix:

	Missing #include, maybe? No idea...



>Release-Note:

>Audit-Trail:

From: Hauke Fath <hf@spg.tu-darmstadt.de>
To: gnats-bugs@NetBSD.org
Cc: 
Subject: Re: pkg/53900: databases/db5 does not build on evbarm
Date: Wed, 23 Jan 2019 13:32:47 +0100

 Same problem for databases/db4.

From: "David H. Gutteridge" <david@gutteridge.ca>
To: gnats-bugs@netbsd.org
Cc: 
Subject: Re: pkg/53900 (databases/db5 does not build on evbarm)
Date: Mon, 28 Jan 2019 00:00:20 -0500

 I gather the issue is that the configure script (and so the mutex.m4
 this part is generated from) is out of date, and doesn't match
 __aarch64__ in its tests to determine how to provide mutex support. I
 don't know the distinctions of ARM assembly, so this may not work for
 you, but you could try simply patching the configure script like so:

 --- configure.bak
 +++ configure
 @@ -21780,7 +21780,7 @@
  main ()
  {

 -#if defined(__arm__) && defined(__GNUC__)
 +#if (defined(__arm__) || defined(__aarch64__)) && defined(__GNUC__)
         exit(0);
  #else
         FAIL TO COMPILE/LINK

 (This leads to the use of specific assembly code found in src/dbinc/
 mutex_int.h at line 470.)

 I hope this helps. I don't have any such hardware to test on,
 unfortunately.

 Dave


State-Changed-From-To: open->feedback
State-Changed-By: gutteridge@NetBSD.org
State-Changed-When: Thu, 14 Feb 2019 23:28:17 +0000
State-Changed-Why:
@thorpej added a fix for db4, can you check if it works for db5, too?

State-Changed-From-To: feedback->closed
State-Changed-By: hauke@NetBSD.org
State-Changed-When: Tue, 19 Feb 2019 15:20:22 +0000
State-Changed-Why:
thorpej's db4 patches applied to db5 fix the problem.


>Unformatted:

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.43 2018/01/16 07:36:43 maya Exp $
$NetBSD: gnats_config.sh,v 1.9 2014/08/02 14:16:04 spz Exp $
Copyright © 1994-2017 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.