NetBSD Problem Report #53887

From gson@gson.org  Thu Jan 17 14:30:10 2019
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 A90717A1A2
	for <gnats-bugs@gnats.NetBSD.org>; Thu, 17 Jan 2019 14:30:10 +0000 (UTC)
Message-Id: <20190117143004.C00B99892D7@guava.gson.org>
Date: Thu, 17 Jan 2019 16:30:04 +0200 (EET)
From: gson@gson.org (Andreas Gustafsson)
Reply-To: gson@gson.org (Andreas Gustafsson)
To: gnats-bugs@NetBSD.org
Subject: "make replace" in math/py-numpy 1.16.0 hangs
X-Send-Pr-Version: 3.95

>Number:         53887
>Category:       pkg
>Synopsis:       "make replace" in math/py-numpy 1.16.0 hangs
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    pkg-manager
>State:          closed
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu Jan 17 14:35:00 +0000 2019
>Closed-Date:    Sat Jan 26 11:28:57 +0000 2019
>Last-Modified:  Sat Jan 26 11:28:57 +0000 2019
>Originator:     Andreas Gustafsson
>Release:        NetBSD 8.0
>Organization:

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

"make replace" in pkgsrc/math/py-numpy hangs on my NetBSD 8.0/amd64
system with a freshly updated pkgsrc  The last messages printed are:

  build_src
  building py_modules sources
  building library "npymath" sources
  get_default_fcompiler: matching types: '['gnu', 'gnu95', 'g95']'
  customize GnuFCompiler
  Found executable /usr/pkgsrc/math/py-numpy/work/.g95/bin/g95
  gnu: no Fortran 90 compiler found
  Found executable /usr/pkgsrc/math/py-numpy/work/.cwrapper/bin/g77

proctree shows:

   \-+= 18423 gson make replace 
      \-+- 02533 gson /bin/sh -c set -e;\t\t\t\t\t if test -n "" &&  /usr/pkg/sbin/pkg_info -K /var/db/pkg -qe py27-numpy-1.16.0; then  echo ===\\> "Skipping installation of already handled package"
        \-+- 28564 gson /usr/bin/make _MAKE OPSYS OS_VERSION LOWER_OPSYS _PKGSRCDIR PKGTOOLS_VERSION _CC _PATH_ORIG _PKGSRC_BARRIER ALLOW_VULNERABLE_PACKAGES replace 
          \-+- 04015 gson /bin/sh -c (cd /usr/pkgsrc/math/py-numpy/work/numpy-1.16.0/ && /usr/bin/env PKGSRC_PYTHON_NO_EGG=defined DESTDIR=/usr/pkgsrc/math/py-numpy/work/.destdir ATLAS=None USETOOLS
            \--- 14685 gson /usr/pkg/bin/python2.7 setup.py install -c -O1 --single-version-externally-managed --root=/usr/pkgsrc/math/py-numpy/work/.destdir 

"ps -glaxwp 14685" shows:

    UID   PID PPID  CPU PRI NI    VSZ   RSS WCHAN  STAT TTY      TIME COMMAND
    101 14685 4015 9983  83  0 123384 27476 ttyraw I+   pts/2 0:00.42 /usr/pkg/bin/python2.7 setup.py install -c -O1 --single-version-externally-managed --root=/usr/pkgsrc/math/py-numpy/work/.destdir 

>How-To-Repeat:

>Fix:

>Release-Note:

>Audit-Trail:
From: Andreas Gustafsson <gson@gson.org>
To: gnats-bugs@NetBSD.org
Cc: 
Subject: Re: pkg/53887: "make replace" in math/py-numpy 1.16.0 hangs
Date: Thu, 17 Jan 2019 16:36:51 +0200

 If I type the EOF character (control-d) on the terminal, the
 hung "make replace" continues and appears to complete successfully.
 The first messages printed after I type control-d are:

   gnu: no Fortran 90 compiler found
   customize Gnu95FCompiler
   Found executable /usr/pkgsrc/math/py-numpy/work/.cwrapper/bin/gfortran
   customize Gnu95FCompiler

 -- 
 Andreas Gustafsson, gson@gson.org

From: Andreas Gustafsson <gson@gson.org>
To: gnats-bugs@NetBSD.org
Cc: 
Subject: Re: pkg/53887: "make replace" in math/py-numpy 1.16.0 hangs
Date: Thu, 17 Jan 2019 19:04:53 +0200

 I now know where it hangs, but I don't know the right way to fix it.

 numpy-1.16.0/numpy/distutils/fcompiler/__init__.py calls

        f90 = shlex.split(self.command_vars.compiler_f90,
                           posix=(os.name == 'posix'))

 where self.command_vars.compiler_f90 is None.

 https://docs.python.org/2/library/shlex.html says

    Note: Since the split() function instantiates a shlex instance,
    passing None for s will read the string to split from standard input.

 -- 
 Andreas Gustafsson, gson@gson.org

From: David Holland <dholland-pbugs@netbsd.org>
To: gnats-bugs@NetBSD.org
Cc: 
Subject: Re: pkg/53887: "make replace" in math/py-numpy 1.16.0 hangs
Date: Fri, 18 Jan 2019 08:17:27 +0000

 On Thu, Jan 17, 2019 at 05:05:01PM +0000, Andreas Gustafsson wrote:
  >  I now know where it hangs, but I don't know the right way to fix it.
  >  
  >  numpy-1.16.0/numpy/distutils/fcompiler/__init__.py calls
  >  
  >         f90 = shlex.split(self.command_vars.compiler_f90,
  >                            posix=(os.name == 'posix'))
  >  
  >  where self.command_vars.compiler_f90 is None.

 First try the obvious hack:
 	if self.command_vars.compiler_f90 is None:
 		f90 = None
 	else:
 		f90 = shlex.split(...)


 but if it actually needs an f90 we'll need to give it one...

 -- 
 David A. Holland
 dholland@netbsd.org

From: Greg Oster <oster@netbsd.org>
To: David Holland <dholland-pbugs@netbsd.org>
Cc: gnats-bugs@NetBSD.org, pkg-manager@netbsd.org, gnats-admin@netbsd.org,
 pkgsrc-bugs@netbsd.org, gson@gson.org (Andreas Gustafsson)
Subject: Re: pkg/53887: "make replace" in math/py-numpy 1.16.0 hangs
Date: Thu, 24 Jan 2019 15:44:44 -0600

 On Fri, 18 Jan 2019 08:20:01 +0000 (UTC)
 David Holland <dholland-pbugs@netbsd.org> wrote:

 > The following reply was made to PR pkg/53887; it has been noted by
 > GNATS.
 > 
 > From: David Holland <dholland-pbugs@netbsd.org>
 > To: gnats-bugs@NetBSD.org
 > Cc: 
 > Subject: Re: pkg/53887: "make replace" in math/py-numpy 1.16.0 hangs
 > Date: Fri, 18 Jan 2019 08:17:27 +0000
 > 
 >  On Thu, Jan 17, 2019 at 05:05:01PM +0000, Andreas Gustafsson wrote:
 >   >  I now know where it hangs, but I don't know the right way to fix
 >   > it. 
 >   >  numpy-1.16.0/numpy/distutils/fcompiler/__init__.py calls
 >   >  
 >   >         f90 = shlex.split(self.command_vars.compiler_f90,
 >   >                            posix=(os.name == 'posix'))
 >   >  
 >   >  where self.command_vars.compiler_f90 is None.  
 >  
 >  First try the obvious hack:
 >  	if self.command_vars.compiler_f90 is None:
 >  		f90 = None
 >  	else:
 >  		f90 = shlex.split(...)
 >  
 >  
 >  but if it actually needs an f90 we'll need to give it one...
 >  
 >  -- 
 >  David A. Holland
 >  dholland@netbsd.org
 >  

 Turns out we want this fix:

  https://github.com/numpy/numpy/commit/5aa8b84aca5fda0438c4357d7d17ae4fcc926a46

 It's just 3 days old, and it lets everything build again for me.

 Later...

 Greg Oster

From: "Maya Rashish" <maya@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/53887 CVS commit: pkgsrc/math/py-numpy
Date: Thu, 24 Jan 2019 22:27:10 +0000

 Module Name:	pkgsrc
 Committed By:	maya
 Date:		Thu Jan 24 22:27:10 UTC 2019

 Modified Files:
 	pkgsrc/math/py-numpy: distinfo
 	pkgsrc/math/py-numpy/patches: patch-aa

 Log Message:
 py-numpy: backport upstream commit for PR pkg/53887

 https://github.com/numpy/numpy/commit/5aa8b84aca5fda0438c4357d7d17ae4fcc926a46


 To generate a diff of this commit:
 cvs rdiff -u -r1.39 -r1.40 pkgsrc/math/py-numpy/distinfo
 cvs rdiff -u -r1.5 -r1.6 pkgsrc/math/py-numpy/patches/patch-aa

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

State-Changed-From-To: open->feedback
State-Changed-By: dholland@NetBSD.org
State-Changed-When: Fri, 25 Jan 2019 16:14:26 +0000
State-Changed-Why:
did that work?


State-Changed-From-To: feedback->closed
State-Changed-By: gson@NetBSD.org
State-Changed-When: Sat, 26 Jan 2019 11:28:57 +0000
State-Changed-Why:
It works now.  Thanks.


>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.