NetBSD Problem Report #52753

From gson@gson.org  Wed Nov 22 17:31:22 2017
Return-Path: <gson@gson.org>
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 EEAFA7A1B7
	for <gnats-bugs@gnats.NetBSD.org>; Wed, 22 Nov 2017 17:31:21 +0000 (UTC)
Message-Id: <20171122173112.1728598BDEE@guava.gson.org>
Date: Wed, 22 Nov 2017 19:31:12 +0200 (EET)
From: gson@gson.org (Andreas Gustafsson)
Reply-To: gson@gson.org (Andreas Gustafsson)
To: gnats-bugs@NetBSD.org
Subject: postgresql95-server build fails with PREFER_PKGSRC=openssl
X-Send-Pr-Version: 3.95

>Number:         52753
>Category:       pkg
>Synopsis:       postgresql95-server build fails with PREFER_PKGSRC=openssl
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Nov 22 17:35:00 +0000 2017
>Last-Modified:  Fri Dec 15 17:10:00 +0000 2017
>Originator:     Andreas Gustafsson
>Release:        NetBSD 7.0 userland, NetBSD-7 kernel
>Organization:

>Environment:
System: NetBSD
Architecture: x86_64
Machine: amd64
>Description:

Updating pkgsrc on one of my machines, the build of the
databases/postgresql95-server package (version 9.5.10)
failed with the error message:

  configure: error: thread test program failed
  This platform is not thread-safe.  Check the file 'config.log' or compile
  and run src/test/thread/thread_test for the exact reason.
  Use --disable-thread-safety to disable thread safety.
  *** Error code 1

I tracked down the cause of this to a warning message emitted by the linker
during the autoconfiguration process:

  ld: warning: libcrypto.so.8, needed by /usr/lib/libgssapi.so, may conflict with libcrypto.so.1.0.0

which appars to be causing the following "if" condition in the
configure script to evaluate to false:

  if test "`(eval $ac_link 2>&1 1>&5)`" = "" && test "`(eval $ac_compile 2>&1 1>&5)`" = ""; then

The machine in case has PREFER_PKGSRC=openssl in /etc/mk.conf, for
reasons I no longer remember.  Without this setting, the package
build succeeds.

PR 46882 may be related.

>How-To-Repeat:

Attempt to build databases/postgresql95-server with
PREFER_PKGSRC=openssl in /etc/mk.conf.

>Fix:

>Audit-Trail:
From: Joerg Sonnenberger <joerg@bec.de>
To: gnats-bugs@NetBSD.org
Cc: pkg-manager@netbsd.org, gnats-admin@netbsd.org, pkgsrc-bugs@netbsd.org
Subject: Re: pkg/52753: postgresql95-server build fails with
 PREFER_PKGSRC=openssl
Date: Wed, 22 Nov 2017 22:37:40 +0100

 On Wed, Nov 22, 2017 at 05:35:00PM +0000, Andreas Gustafsson wrote:
 > I tracked down the cause of this to a warning message emitted by the linker
 > during the autoconfiguration process:
 > 
 >   ld: warning: libcrypto.so.8, needed by /usr/lib/libgssapi.so, may conflict with libcrypto.so.1.0.0

 Well, you are trying to mix OpenSSL versions since you force OpenSSL
 from pkgsrc, but want to use Kerberos from base.

 Joerg

From: Andreas Gustafsson <gson@gson.org>
To: Joerg Sonnenberger <joerg@bec.de>
Cc: gnats-bugs@NetBSD.org
Subject: Re: pkg/52753: postgresql95-server build fails with
 PREFER_PKGSRC=openssl
Date: Fri, 24 Nov 2017 10:10:13 +0200

 Joerg Sonnenberger wrote:
 >  Well, you are trying to mix OpenSSL versions since you force OpenSSL
 >  from pkgsrc, but want to use Kerberos from base.

 I don't "want" to use Kerberos from base - if the base Kerberos is
 the cause of the conflict, it's because it's used by default.

 Are you saying that setting (only) PREFER_PKGSRC=openssl in
 /etc/mk.conf is not the correct way of selecting the pkgsrc
 OpenSSL for pkgsrc as a whole?  If so, what is the correct way?
 -- 
 Andreas Gustafsson, gson@gson.org

From: coypu@sdf.org
To: gnats-bugs@NetBSD.org
Cc: 
Subject: Re: pkg/52753: postgresql95-server build fails with
 PREFER_PKGSRC=openssl
Date: Tue, 12 Dec 2017 19:18:36 +0000

 Hi,

 I believe the correct way to use pkgsrc kerberos is
 PREFER_PKGSRC=openpam
 as well.

 This will only behave correctly once the patch in PR pkg/52787
 (postgresql92 ignores kerberos option) is applied.

 Currently it will pick up 'native' pam in the default settings, without
 it being explicitly marked as a dependency, so pkgsrc will not pull in
 non-native pam.

From: David Holland <dholland-pbugs@netbsd.org>
To: gnats-bugs@NetBSD.org
Cc: 
Subject: Re: pkg/52753: postgresql95-server build fails with
 PREFER_PKGSRC=openssl
Date: Fri, 15 Dec 2017 17:08:04 +0000

 On Fri, Nov 24, 2017 at 08:15:01AM +0000, Andreas Gustafsson wrote:
  >  I don't "want" to use Kerberos from base - if the base Kerberos is
  >  the cause of the conflict, it's because it's used by default.
  >  
  >  Are you saying that setting (only) PREFER_PKGSRC=openssl in
  >  /etc/mk.conf is not the correct way of selecting the pkgsrc
  >  OpenSSL for pkgsrc as a whole?  If so, what is the correct way?

 It is for pkgsrc as a whole, but it doesn't affect base, and
 unfortunately pkgsrc can't easily know what base is doing.

 You'd probably best also add everything in base that's linked against
 openssl to PREFER_PKGSRC, because linking with two versions of openssl
 at once is never going to work.

 It would be nice to have a way for pkgsrc to crosscheck this. In fact,
 come to think of it, it might already -- if the buildlink tree
 includes the dependence of krb on openssl, and USE_BUILTIN.openssl
 ends up no, then it'll also force USE_BUILTIN.heimdal to no. At least,
 provided that the setting of KRB5_TYPE doesn't gum up the works, which
 it might. You may have just been bitten by PR 52787, because postgres
 was using krb5 without including its bl3.

 Of course that'll cause it to build krb5 from pkgsrc, which you
 probably don't want. Now that 52787 is fixed you can just turn off
 kerberos in postgres instead by setting PKG_OPTIONS.postgresql95=-gssapi.

 -- 
 David A. Holland
 dholland@netbsd.org

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2014 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.