NetBSD Problem Report #52688

From www@NetBSD.org  Wed Nov  1 19:53:27 2017
Return-Path: <www@NetBSD.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 ED0527A178
	for <gnats-bugs@gnats.NetBSD.org>; Wed,  1 Nov 2017 19:53:26 +0000 (UTC)
Message-Id: <20171101195324.38A797A1F0@mollari.NetBSD.org>
Date: Wed,  1 Nov 2017 19:53:24 +0000 (UTC)
From: amagela@sandia.gov
Reply-To: amagela@sandia.gov
To: gnats-bugs@NetBSD.org
Subject: py-numpy doesn't build
X-Send-Pr-Version: www-1.0

>Number:         52688
>Category:       pkg
>Synopsis:       py-numpy doesn't build
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    linux-pkg-people
>State:          closed
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Nov 01 19:55:00 +0000 2017
>Closed-Date:    Sat Jan 06 17:22:07 +0000 2024
>Last-Modified:  Sat Jan 06 17:22:07 +0000 2024
>Originator:     Anthony Agelastos
>Release:        pkgsrc 2017Q3
>Organization:
Sandia National Laboratories
>Environment:
Linux foo-5 3.10.0-514.26.1.1chaos.ch6_1.x86_64 #1 SMP Thu Jun 29 15:16:26 PDT 2017 x86_64 x86_64 x86_64 GNU/Linux
>Description:
I am trying to build py-numpy (Python 2.7) and it keeps failing. It keeps looking for dependencies that it didn't install (e.g., CBLAS, which I got past by installing wip/cblas). It also appears to be trying to use `g95` even though my `mk.conf` file tells it to use `gfortran`; my `mk.conf` file is in the "How to repeat the problem" field. I have the error messages below. Thank you for your help with this.

{{{
$ cat pkgsrc_py-numpy-sensitized.log
=> Bootstrap dependency digest>=20010302: found digest-20160304
===> Skipping vulnerability checks.
WARNING: No /foo/pkgsrc-2017Q3/install-lynx/pkgdb/pkg-vulnerabilities file found.
WARNING: To fix run: `/foo/pkgsrc-2017Q3/install-lynx/sbin/pkg_admin -K /foo/pkgsrc-2017Q3/install-lynx/pkgdb fetch-pkg-vulnerabilities'.
=> Checksum SHA1 OK for numpy-1.13.3.tar.gz
=> Checksum RMD160 OK for numpy-1.13.3.tar.gz
=> Checksum SHA512 OK for numpy-1.13.3.tar.gz
===> Installing dependencies for py27-numpy-1.13.3
==========================================================================
The following variables will affect the build process of this package,
py27-numpy-1.13.3.  Their current value is shown below:

        * PYTHON_VERSION_DEFAULT = 27

Based on these variables, the following variables have been set:

        * PYPACKAGE = python27

You may want to abort the process now with CTRL-C and change their value
before continuing.  Be sure to run `/foo/pkgsrc-2017Q3/install-lynx/bin/bmake clean' after
the changes.
==========================================================================
=> Tool dependency nbpatch-[0-9]*: found nbpatch-20151107
=> Build dependency py27-nose-[0-9]*: found py27-nose-1.3.7
=> Build dependency gcc6>=6.4: found gcc6-6.4.0nb1
=> Build dependency cwrappers>=20150314: found cwrappers-20170611
=> Full dependency py27-setuptools>=0.8: found py27-setuptools-36.5.0
=> Full dependency py27-cython>=0.12.1: found py27-cython-0.26.1
=> Full dependency python27>=2.7.1nb2: found python27-2.7.14
=> Full dependency blas>=1.0nb3: found blas-3.7.1
=> Full dependency lapack>=3.1.1: found lapack-3.7.1
===> Overriding tools for py27-numpy-1.13.3
===> Extracting for py27-numpy-1.13.3
===> Patching for py27-numpy-1.13.3
=> Applying pkgsrc patches for py27-numpy-1.13.3
===> Creating toolchain wrappers for py27-numpy-1.13.3
===> Configuring for py27-numpy-1.13.3
=> Replacing python interpreter in *.py */*.py */*/*.py */*/*/*.py */*/*/*/*.py.
WARNING: [replace-interpreter] Skipping non-existent file "*/*/*/*/*.py".
===> Building for py27-numpy-1.13.3
(cd /foo/pkgsrc-2017Q3/src/pkgsrc/math/py-numpy/work/numpy-1.13.3/ && /usr/bin/env ATLAS=None USETOOLS=no DL_CFLAGS= DL_LDFLAGS= DL_LIBS= PTHREAD_CFLAGS=\ -pthread\  PTHREAD_LDFLAGS=\ -pthread PTHREAD_LIBS=-lpthread\ -lrt PTHREADBASE=/usr CXXCPP=cpp PYTHON=/foo/pkgsrc-2017Q3/install-lynx/bin/python2.7 CC=cc CFLAGS=-O2\ -D_FORTIFY_SOURCE=2\ -I/foo/pkgsrc-2017Q3/install-lynx/include\ -I/usr/include CPPFLAGS=-I/foo/pkgsrc-2017Q3/install-lynx/include\ -I/usr/include CXX=c++ CXXFLAGS=-O2\ -D_FORTIFY_SOURCE=2\ -I/foo/pkgsrc-2017Q3/install-lynx/include\ -I/usr/include COMPILER_RPATH_FLAG=-Wl,-R F77=gfortran FC=gfortran FFLAGS=-O LANG=C LC_ALL=C LC_COLLATE=C LC_CTYPE=C LC_MESSAGES=C LC_MONETARY=C LC_NUMERIC=C LC_TIME=C LDFLAGS=-L/foo/pkgsrc-2017Q3/install-lynx/lib\ -L/foo/pkgsrc-2017Q3/install-lynx/gcc6/lib64\ -L/foo/pkgsrc-2017Q3/install-lynx/gcc6/lib/gcc/x86_64-redhat-linux/6.4.0\ -L/foo/pkgsrc-2017Q3/install-lynx/gcc6/lib/gcc/x86_64-redhat-linux/6.4.0\ -Wl,-R/foo/pkgsrc-2017Q3/install-lyn
 x/gcc6/lib/gcc/x86_64-redhat-linux/6.4.0\ -L/foo/pkgsrc-2017Q3/install-lynx/gcc6/lib64\ -Wl,-R/foo/pkgsrc-2017Q3/install-lynx/gcc6/lib64\ -m64\ -L/usr/lib64\ -Wl,-R/usr/lib64\ -Wl,-R/foo/pkgsrc-2017Q3/install-lynx/lib LINKER_RPATH_FLAG=-R PATH=/foo/pkgsrc-2017Q3/src/pkgsrc/math/py-numpy/work/.cwrapper/bin:/foo/pkgsrc-2017Q3/src/pkgsrc/math/py-numpy/work/.buildlink/bin:/foo/pkgsrc-2017Q3/src/pkgsrc/math/py-numpy/work/.tools/bin:/foo/pkgsrc-2017Q3/src/pkgsrc/math/py-numpy/work/.gcc/bin:/foo/pkgsrc-2017Q3/install-lynx/bin:/projects/hpcart/workflow/hpcscripts:/foo/tex/texlive/2017/bin/x86_64-linux:/foo/pkgsrc-2017Q3/install-lynx/bin:/foo/pkgsrc-2017Q3/install-lynx/sbin:/ascldap/users/barbaz/bin:/projects/hpcart/workflow/hpcscripts/bin:/foo/emacs/emacs-25.3_install/bin:/usr/lib64/qt-3.3/bin:/projects/global/x86_64/tools/hpss/lynx.new/bin:/usr/lpp/mmfs/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/opt/dell/srvadmin/bin:/foo/pkgsrc-2017Q3/install-lynx/bin:/foo/pkgsrc-2017Q3/
 install-lynx/bin PREFIX=/foo/pkgsrc-2017Q3/install-lynx MAKELEVEL=0 CONFIG_SITE= PKG_SYSCONFDIR=/foo/pkgsrc-2017Q3/install-lynx/etc HOME=/foo/pkgsrc-2017Q3/src/pkgsrc/math/py-numpy/work/.home CWRAPPERS_CONFIG_DIR=/foo/pkgsrc-2017Q3/src/pkgsrc/math/py-numpy/work/.cwrapper/config CPP=cpp LOCALBASE=/foo/pkgsrc-2017Q3/install-lynx X11BASE=/foo/pkgsrc-2017Q3/install-lynx PKGMANDIR=man PKGINFODIR=info PKGGNUDIR=gnu/ MAKECONF=/dev/null OBJECT_FMT=ELF USETOOLS=no BSD_INSTALL_PROGRAM=/bin/install\ -c\ -s\ -o\ barbaz\ -g\ barbaz\ -m\ 755 BSD_INSTALL_SCRIPT=/bin/install\ -c\ -o\ barbaz\ -g\ barbaz\ -m\ 755 BSD_INSTALL_LIB=/bin/install\ -c\ -o\ barbaz\ -g\ barbaz\ -m\ 755 BSD_INSTALL_DATA=/bin/install\ -c\ -o\ barbaz\ -g\ barbaz\ -m\ 644 BSD_INSTALL_MAN=/bin/install\ -c\ -o\ barbaz\ -g\ barbaz\ -m\ 644 BSD_INSTALL=/bin/install BSD_INSTALL_PROGRAM_DIR=/bin/install\ -d\ -o\ barbaz\ -g\ barbaz\ -m\ 755 BSD_INSTALL_SCRIPT_DIR=/bin/install\ -d\ -o\ barbaz\ -g\ barbaz\ -m\ 755 BSD_INSTALL_LIB_DIR=/bi
 n/install\ -d\ -o\ barbaz\ -g\ barbaz\ -m\ 755 BSD_INSTALL_DATA_DIR=/bin/install\ -d\ -o\ barbaz\ -g\ barbaz\ -m\ 755 BSD_INSTALL_MAN_DIR=/bin/install\ -d\ -o\ barbaz\ -g\ barbaz\ -m\ 755 BSD_INSTALL_GAME=/bin/install\ -c\ -s\ -o\ barbaz\ -g\ barbaz\ -m\ 0755 BSD_INSTALL_GAME_DATA=/bin/install\ -c\ -o\ barbaz\ -g\ barbaz\ -m\ 0644 BSD_INSTALL_GAME_DIR=/bin/install\ -d\ -o\ barbaz\ -g\ barbaz\ -m\ 0755 INSTALL_INFO= MAKEINFO=/foo/pkgsrc-2017Q3/src/pkgsrc/math/py-numpy/work/.tools/bin/makeinfo FLEX= BISON= PKG_CONFIG= PKG_CONFIG_LIBDIR=/foo/pkgsrc-2017Q3/src/pkgsrc/math/py-numpy/work/.buildlink/lib64/pkgconfig:/foo/pkgsrc-2017Q3/src/pkgsrc/math/py-numpy/work/.buildlink/lib/pkgconfig:/foo/pkgsrc-2017Q3/src/pkgsrc/math/py-numpy/work/.buildlink/share/pkgconfig PKG_CONFIG_LOG=/foo/pkgsrc-2017Q3/src/pkgsrc/math/py-numpy/work/.pkg-config.log PKG_CONFIG_PATH= CWRAPPERS_CONFIG_DIR=/foo/pkgsrc-2017Q3/src/pkgsrc/math/py-numpy/work/.cwrapper/config /foo/pkgsrc-2017Q3/install-lynx/bin/python2.7  
 setup.py  build --fcompiler=gnu95)
Running from numpy source directory.
Processing numpy/random/mtrand/randint_helpers.pxi.in
Processing numpy/random/mtrand/mtrand.pyx
Cythonizing sources
blas_opt_info:
blas_mkl_info:
  libraries mkl_rt not found in ['/foo/pkgsrc-2017Q3/install-lynx/lib', '/usr/local/lib64', '/usr/local/lib', '/usr/lib64', '/usr/lib', '/usr/lib/']
  NOT AVAILABLE

blis_info:
  libraries blis not found in ['/foo/pkgsrc-2017Q3/install-lynx/lib', '/usr/local/lib64', '/usr/local/lib', '/usr/lib64', '/usr/lib', '/usr/lib/']
  NOT AVAILABLE

openblas_info:
  libraries openblas not found in ['/foo/pkgsrc-2017Q3/install-lynx/lib', '/usr/local/lib64', '/usr/local/lib', '/usr/lib64', '/usr/lib', '/usr/lib/']
  NOT AVAILABLE

atlas_3_10_blas_threads_info:
Setting PTATLAS=ATLAS
Disabled atlas_3_10_blas_threads_info: (ATLAS is None)
  libraries tatlas not found in []
  NOT AVAILABLE

atlas_3_10_blas_info:
Disabled atlas_3_10_blas_info: (ATLAS is None)
  libraries satlas not found in []
  NOT AVAILABLE

atlas_blas_threads_info:
Setting PTATLAS=ATLAS
Disabled atlas_blas_threads_info: (ATLAS is None)
  libraries ptf77blas,ptcblas,atlas not found in []
  NOT AVAILABLE

atlas_blas_info:
Disabled atlas_blas_info: (ATLAS is None)
  libraries f77blas,cblas,atlas not found in []
  NOT AVAILABLE

/foo/pkgsrc-2017Q3/src/pkgsrc/math/py-numpy/work/numpy-1.13.3/numpy/distutils/system_info.py:572: UserWarning:
    Atlas (http://math-atlas.sourceforge.net/) libraries not found.
    Directories to search for the libraries can be specified in the
    numpy/distutils/site.cfg file (section [atlas]) or by setting
    the ATLAS environment variable.
  self.calc_info()
blas_info:
customize UnixCCompiler
C compiler: cc -DNDEBUG -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/include -I/foo/pkgsrc-2017Q3/install-lynx/include -I/foo/pkgsrc-2017Q3/install-lynx/include/ncurses -I/foo/pkgsrc-2017Q3/install-lynx/include/db4 -O2 -D_FORTIFY_SOURCE=2 -I/foo/pkgsrc-2017Q3/install-lynx/include -I/usr/include -I/foo/pkgsrc-2017Q3/install-lynx/include -I/usr/include -fPIC

creating /tmp/tmpD9Mer8/tmp
creating /tmp/tmpD9Mer8/tmp/tmpD9Mer8
compile options: '-MMD -MF /tmp/tmpD9Mer8/file.c.d -c'
cc: /tmp/tmpD9Mer8/file.c
as: /foo/pkgsrc-2017Q3/install-lynx/lib/libz.so.1: no version information available (required by /lib64/libbfd-2.25.1-22.base.el7.so)
C compiler: cc -DNDEBUG -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/include -I/foo/pkgsrc-2017Q3/install-lynx/include -I/foo/pkgsrc-2017Q3/install-lynx/include/ncurses -I/foo/pkgsrc-2017Q3/install-lynx/include/db4 -O2 -D_FORTIFY_SOURCE=2 -I/foo/pkgsrc-2017Q3/install-lynx/include -I/usr/include -I/foo/pkgsrc-2017Q3/install-lynx/include -I/usr/include -fPIC

creating /tmp/tmpPS1M0l/tmp
creating /tmp/tmpPS1M0l/tmp/tmpPS1M0l
compile options: '-I/usr/local/include -I/usr/include -I/usr/include/suitesparse -I/foo/pkgsrc-2017Q3/install-lynx/include -c'
cc: /tmp/tmpPS1M0l/source.c
as: /foo/pkgsrc-2017Q3/install-lynx/lib/libz.so.1: no version information available (required by /lib64/libbfd-2.25.1-22.base.el7.so)
cc /tmp/tmpPS1M0l/tmp/tmpPS1M0l/source.o -L/foo/pkgsrc-2017Q3/install-lynx/lib -lcblas -o /tmp/tmpPS1M0l/a.out
/usr/bin/ld: cannot find -lcblas
collect2: error: ld returned 1 exit status
/usr/bin/ld: cannot find -lcblas
collect2: error: ld returned 1 exit status
cc /tmp/tmpPS1M0l/tmp/tmpPS1M0l/source.o -L/foo/pkgsrc-2017Q3/install-lynx/lib -lblas -o /tmp/tmpPS1M0l/a.out
/tmp/tmpPS1M0l/tmp/tmpPS1M0l/source.o: In function `main':
source.c:(.text.startup+0x8c): undefined reference to `cblas_ddot'
collect2: error: ld returned 1 exit status
/tmp/tmpPS1M0l/tmp/tmpPS1M0l/source.o: In function `main':
source.c:(.text.startup+0x8c): undefined reference to `cblas_ddot'
collect2: error: ld returned 1 exit status
Traceback (most recent call last):
  File "setup.py", line 392, in <module>
    setup_package()
  File "setup.py", line 384, in setup_package
    setup(**metadata)
  File "/foo/pkgsrc-2017Q3/src/pkgsrc/math/py-numpy/work/numpy-1.13.3/numpy/distutils/core.py", line 135, in setup
    config = configuration()
  File "setup.py", line 166, in configuration
    config.add_subpackage('numpy')
  File "/foo/pkgsrc-2017Q3/src/pkgsrc/math/py-numpy/work/numpy-1.13.3/numpy/distutils/misc_util.py", line 1029, in add_subpackage
    caller_level = 2)
  File "/foo/pkgsrc-2017Q3/src/pkgsrc/math/py-numpy/work/numpy-1.13.3/numpy/distutils/misc_util.py", line 998, in get_subpackage
    caller_level = caller_level + 1)
  File "/foo/pkgsrc-2017Q3/src/pkgsrc/math/py-numpy/work/numpy-1.13.3/numpy/distutils/misc_util.py", line 935, in _get_configuration_from_setup_py
    config = setup_module.configuration(*args)
  File "numpy/setup.py", line 10, in configuration
    config.add_subpackage('core')
  File "/foo/pkgsrc-2017Q3/src/pkgsrc/math/py-numpy/work/numpy-1.13.3/numpy/distutils/misc_util.py", line 1029, in add_subpackage
    caller_level = 2)
  File "/foo/pkgsrc-2017Q3/src/pkgsrc/math/py-numpy/work/numpy-1.13.3/numpy/distutils/misc_util.py", line 998, in get_subpackage
    caller_level = caller_level + 1)
  File "/foo/pkgsrc-2017Q3/src/pkgsrc/math/py-numpy/work/numpy-1.13.3/numpy/distutils/misc_util.py", line 935, in _get_configuration_from_setup_py
    config = setup_module.configuration(*args)
  File "numpy/core/setup.py", line 826, in configuration
    blas_info = get_info('blas_opt', 0)
  File "/foo/pkgsrc-2017Q3/src/pkgsrc/math/py-numpy/work/numpy-1.13.3/numpy/distutils/system_info.py", line 380, in get_info
    return cl().get_info(notfound_action)
  File "/foo/pkgsrc-2017Q3/src/pkgsrc/math/py-numpy/work/numpy-1.13.3/numpy/distutils/system_info.py", line 572, in get_info
    self.calc_info()
  File "/foo/pkgsrc-2017Q3/src/pkgsrc/math/py-numpy/work/numpy-1.13.3/numpy/distutils/system_info.py", line 1643, in calc_info
    blas_info = get_info('blas')
  File "/foo/pkgsrc-2017Q3/src/pkgsrc/math/py-numpy/work/numpy-1.13.3/numpy/distutils/system_info.py", line 380, in get_info
    return cl().get_info(notfound_action)
  File "/foo/pkgsrc-2017Q3/src/pkgsrc/math/py-numpy/work/numpy-1.13.3/numpy/distutils/system_info.py", line 572, in get_info
    self.calc_info()
  File "/foo/pkgsrc-2017Q3/src/pkgsrc/math/py-numpy/work/numpy-1.13.3/numpy/distutils/system_info.py", line 1679, in calc_info
    lib = self.has_cblas(info)
  File "/foo/pkgsrc-2017Q3/src/pkgsrc/math/py-numpy/work/numpy-1.13.3/numpy/distutils/system_info.py", line 1723, in has_cblas
    extra_postargs=info.get('extra_link_args', []))
  File "/foo/pkgsrc-2017Q3/install-lynx/lib/python2.7/distutils/ccompiler.py", line 700, in link_executable
    debug, extra_preargs, extra_postargs, None, target_lang)
  File "/foo/pkgsrc-2017Q3/install-lynx/lib/python2.7/distutils/unixccompiler.py", line 203, in link
    raise LinkError, msg
distutils.errors.LinkError: Command "cc /tmp/tmpPS1M0l/tmp/tmpPS1M0l/source.o -L/foo/pkgsrc-2017Q3/install-lynx/lib -lblas -o /tmp/tmpPS1M0l/a.out" failed with exit status 1
*** Error code 1

Stop.
bmake[1]: stopped in /foo/pkgsrc-2017Q3/src/pkgsrc/math/py-numpy
*** Error code 1

Stop.
bmake: stopped in /foo/pkgsrc-2017Q3/src/pkgsrc/math/py-numpy
}}}
>How-To-Repeat:
On RHEL6 or RHEL7, with the following mk.conf, try to build py-numpy. 


{{{
# Example /foo/pkgsrc-2017Q3/install-lynx/etc/mk.conf file produced by bootstrap-pkgsrc
# Thu Oct 26 13:17:55 MDT 2017

.ifdef BSD_PKG_MK       # begin pkgsrc settings

ABI=                                    64
PKGSRC_COMPILER=                gcc

UNPRIVILEGED=                   yes
PKG_DBDIR=                              /foo/pkgsrc-2017Q3/install-lynx/pkgdb
LOCALBASE=                              /foo/pkgsrc-2017Q3/install-lynx
VARBASE=                                /foo/pkgsrc-2017Q3/install-lynx/var
PKG_TOOLS_BIN=                  /foo/pkgsrc-2017Q3/install-lynx/sbin
PKGINFODIR=                             info
PKGMANDIR=                              man

PREFER_PKGSRC=                  yes
GCC_REQD=                               6.4
PKGSRC_FORTRAN=                 gfortran
GFORTRAN_VERSION=               6.4
ACCEPTABLE_LICENSES+=   vim-license
PKG_OPTIONS.emacs=              dbus motif svg x11 xft2 xml
LDFLAGS+=                               -L/foo/pkgsrc-2017Q3/install-lynx/lib -L/foo/pkgsrc-2017Q3/install-lynx/gcc6/lib64 -L/foo/pkgsrc-2017Q3/install-lynx/gcc6/lib/gcc/x86_64-redhat-linux/6.4.0

.endif                  # end pkgsrc settings
}}}
>Fix:

>Release-Note:

>Audit-Trail:

Responsible-Changed-From-To: pkg-manager->linux-pkg-people
Responsible-Changed-By: wiz@NetBSD.org
Responsible-Changed-When: Wed, 01 Nov 2017 21:44:34 +0000
Responsible-Changed-Why:
Linux pkgsrc problem.


State-Changed-From-To: open->closed
State-Changed-By: bsiegert@NetBSD.org
State-Changed-When: Sat, 06 Jan 2024 17:22:07 +0000
State-Changed-Why:
There were a number of fixes for numpy, blas, etc. in recent
pkgsrc releases. numpy builds fine for me on Linux.

Sorry your issue was not dealt with at the time.


>Unformatted:

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.47 2022/09/11 19:34:41 kim Exp $
$NetBSD: gnats_config.sh,v 1.9 2014/08/02 14:16:04 spz Exp $
Copyright © 1994-2024 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.