> On Oct 4, 2019, at 5:03 PM, Stuart Henderson <s...@spacehopper.org> wrote:
> 
> On 2019/10/04 13:33, Christian Weisgerber wrote:
>> math/py-pandas,python3 failed to build in my latest amd64 bulk build.
>> Here's the tail end of the build (the full log is attached):
> 
> It needs cython as build dep.

Not precisely.

It needs Cython to either be there for all of the build or none of the build.

Released versions of pandas come with all the Cython code pre-compiled. This is 
similar to what other packages like numpy do.

Only dev versions of pandas need Cython because those versions don’t come with 
pre-compiled Cython code.

In this case Cython was detected at config time via setup.py, then junked 
during the build and failed at build time as you point out.

> With the shiny new "JUNKING" logging we can
> see it:
> 
>>>> Running configure in math/py-pandas,python3 at 1570139533
> ===> math/py-pandas,python3
> ===>  Generating configure for py3-pandas-0.24.2
> ===>  Configuring for py3-pandas-0.24.2
>>>> Running build in math/py-pandas,python3 at 1570139534
> ===> math/py-pandas,python3
> ===>  Building for py3-pandas-0.24.2
>>> JUNKING in x11/kde/i18n3/te:
>>>   /usr/sbin/pkg_delete -aIXq arm-none-eabi-binutils-2.27p0 autoconf-2.13p4 
>>> bison-3.3.2p1 bzip2-1.0.8 curl-7.66.0 geos-3.7.1 gettext-tools-0.20.1p2 
>>> giflib-5.1.6 gmake-4.2.1p4 jasper-2.0.14 jpeg-2.0.3v0 json-c-0.13.1 
>>> kdelibs-3.5.10p51 libgeotiff-1.5.1 libmpc-0.9p2 libspatialite-4.3.0ap2 
>>> libwebp-1.0.3 metaauto-1.0p3 mpfr-3.1.5.2p1 openjp2-2.3.1 pcre-8.41p2 
>>> png-1.6.37 postgresql-client-11.5 proj-6.2.0 py-numpy-1.14.6p1 
>>> py-setuptools-41.0.0p0v0 py3-numpy-1.14.6p1 py3-setuptools-41.0.0p0v0 
>>> python-2.7.16p1 python-3.7.4 qhull-2012.1 qt3-mt-3.8p19 sqlite3-3.29.0 
>>> swig-3.0.12p0 tiff-4.0.10 xz-5.2.4 zstd-1.4.3
> warning: __pyxutil:34:4: '___pyx_int64_t' redeclared
> warning: __pyxutil:35:4: '___pyx_uint64_t' redeclared
> warning: __pyxutil:34:4: '___pyx_int64_t' redeclared
> warning: __pyxutil:35:4: '___pyx_uint64_t' redeclared
> warning: __pyxutil:34:4: '___pyx_int64_t' redeclared
> warning: __pyxutil:35:4: '___pyx_uint64_t' redeclared
> 
> Error compiling Cython file:
> ------------------------------------------------------------
> ...
> import warnings
> 
> import cython
> from cython import Py_ssize_t
> 
> from cpython cimport (Py_INCREF, PyTuple_SET_ITEM,
> ^
> ------------------------------------------------------------
> 
> pandas/_libs/lib.pyx:12:0: 'cpython.pxd' not found
> [...]
> 

Adding Cython as a BDEP should be fine as a quick fix. But I think we’d want to 
avoid updating Cython until after release because a Cython update might cause 
breakage if it’s a BDEP now.

after thinking about it, ok daniel@ on the below. I think it’s the easiest fix 
before release. But let’s not do a Cython update until after release. :-)


> 
> Index: Makefile
> ===================================================================
> RCS file: /cvs/ports/math/py-pandas/Makefile,v
> retrieving revision 1.9
> diff -u -p -r1.9 Makefile
> --- Makefile    16 Jul 2019 20:38:03 -0000    1.9
> +++ Makefile    4 Oct 2019 20:45:29 -0000
> @@ -3,6 +3,7 @@
> COMMENT =        data analysis and manipulation library
> 
> MODPY_EGG_VERSION =    0.24.2
> +REVISION =        0
> DISTNAME =        pandas-${MODPY_EGG_VERSION}
> PKGNAME =        py-${DISTNAME}
> 
> @@ -26,7 +27,8 @@ WANTLIB +=        ${COMPILER_LIBCXX} m ${MODPY
> 
> COMPILER =        base-clang ports-gcc base-gcc
> 
> -BUILD_DEPENDS +=    math/py-numpy${MODPY_FLAVOR}>=1.9.0
> +BUILD_DEPENDS +=    lang/cython${MODPY_FLAVOR} \
> +            math/py-numpy${MODPY_FLAVOR}>=1.9.0
> 
> RUN_DEPENDS +=        devel/py-dateutil${MODPY_FLAVOR}>=2.5.0 \
>            devel/py-tz${MODPY_FLAVOR} \
> 
> 
> 
> 
> 
> ----- Forwarded message from Stuart Henderson <s...@spacehopper.org> -----
> 
> From: Stuart Henderson <s...@spacehopper.org>
> Date: Fri, 12 Apr 2019 15:59:45 +0100
> To: Christian Weisgerber <na...@mips.inka.de>
> Cc: ports@openbsd.org, "Elias M. Mariani" <marianiel...@gmail.com>
> User-Agent: Mutt/1.11.4 (2019-03-13)
> Subject: Re: Build failure: math/py-pandas,python3
> Mail-Followup-To: Christian Weisgerber <na...@mips.inka.de>, 
> ports@openbsd.org, "Elias M. Mariani" <marianiel...@gmail.com>
> 
>> On 2019/04/12 16:14, Christian Weisgerber wrote:
>> math/py-pandas,python3 failed to build in my latest amd64 bulk build.
>> Any idea what happened there?
> 
> Hidden optional dep. py3-Cython was present when configure started
> running. but then got junked.
> 
>> ------------------------------------------------------------------------
>>>>> Building on amd64-3 under math/py-pandas,python3
>>     BDEPENDS = 
>> [lang/python/3.6;math/py-numpy,python3;devel/py-setuptools,python3]
>>     DIST = [math/py-pandas:pandas-0.23.4.tar.gz]
>>     FULLPKGNAME = py3-pandas-0.23.4p0
>>     RDEPENDS = 
>> [lang/python/3.6;devel/py-tz,python3;devel/py-setuptools,python3;math/py-numpy,python3;devel/py-dateutil,python3]
>> (Junk lock obtained for amd64-3 at 1555016012)
>>>>> Running depends in math/py-pandas,python3 at 1555016012
>>   last junk was in x11/xzoom
>> /usr/sbin/pkg_add -aI -Drepair py3-numpy-1.14.6 py3-setuptools-40.0.0v0 
>> python-3.6.8p0
>> was: /usr/sbin/pkg_add -aI -Drepair py3-numpy-1.14.6 py3-setuptools-40.0.0v0 
>> python-3.6.8p0
>> /usr/sbin/pkg_add -aI -Drepair py3-numpy-1.14.6 py3-setuptools-40.0.0v0 
>> python-3.6.8p0
>>>>> Running show-prepare-results in math/py-pandas,python3 at 1555016016
>> ===> math/py-pandas,python3
>> ===> py3-pandas-0.23.4p0 depends on: py3-numpy->=1.9.0 -> py3-numpy-1.14.6
>> ===> py3-pandas-0.23.4p0 depends on: python->=3.6,<3.7 -> python-3.6.8p0
>> ===> py3-pandas-0.23.4p0 depends on: py3-setuptools->=39.0.1v0 -> 
>> py3-setuptools-40.0.0v0
>> ===>  Verifying specs:  c++ c++abi pthread m python3.6m
>> ===>  found c++.2.1 c++abi.0.1 pthread.26.1 m.10.1 python3.6m.0.0
>> py3-numpy-1.14.6
>> py3-setuptools-40.0.0v0
>> python-3.6.8p0
>> (Junk lock released for amd64-3 at 1555016016)
>> Woken up geo/py-shapely,python3
>> distfiles size=10490077
>>>>> Running patch in math/py-pandas,python3 at 1555016016
>> ===> math/py-pandas,python3
>> ===>  Checking files for py3-pandas-0.23.4p0
>> `/usr/ports/distfiles/pandas-0.23.4.tar.gz' is up to date.
>>>> (SHA256) pandas-0.23.4.tar.gz: OK
>> ===>  Extracting for py3-pandas-0.23.4p0
>> ===>  Patching for py3-pandas-0.23.4p0
>> ===>   Applying OpenBSD patch patch-pandas_io_formats_terminal_py
>> Hmm...  Looks like a unified diff to me...
>> The text leading up to this was:
>> --------------------------
>> |$OpenBSD: patch-pandas_io_formats_terminal_py,v 1.1.1.1 2018/09/14 08:09:05 
>> sthen Exp $
>> |
>> |Index: pandas/io/formats/terminal.py
>> |--- pandas/io/formats/terminal.py.orig
>> |+++ pandas/io/formats/terminal.py
>> --------------------------
>> Patching file pandas/io/formats/terminal.py using Plan A...
>> Hunk #1 succeeded at 42.
>> done
>> ===>   Applying OpenBSD patch patch-setup_cfg
>> Hmm...  Looks like a unified diff to me...
>> The text leading up to this was:
>> --------------------------
>> |$OpenBSD: patch-setup_cfg,v 1.1.1.1 2018/09/14 08:09:05 sthen Exp $
>> |
>> |Index: setup.cfg
>> |--- setup.cfg.orig
>> |+++ setup.cfg
>> --------------------------
>> Patching file setup.cfg using Plan A...
>> Hunk #1 succeeded at 27.
>> done
>> ===>  Compiler link: clang -> /usr/bin/clang
>> ===>  Compiler link: clang++ -> /usr/bin/clang++
>> ===>  Compiler link: cc -> /usr/bin/cc
>> ===>  Compiler link: c++ -> /usr/bin/c++
>>>>> Running configure in math/py-pandas,python3 at 1555016019
>> ===> math/py-pandas,python3
>> ===>  Generating configure for py3-pandas-0.23.4p0
>> ===>  Configuring for py3-pandas-0.23.4p0
>>>>> Running build in math/py-pandas,python3 at 1555016019
>> ===> math/py-pandas,python3
>> ===>  Building for py3-pandas-0.23.4p0
>> running egg_info
>> writing pandas.egg-info/PKG-INFO
>> writing dependency_links to pandas.egg-info/dependency_links.txt
>> writing requirements to pandas.egg-info/requires.txt
>> writing top-level names to pandas.egg-info/top_level.txt
>> reading manifest file 'pandas.egg-info/SOURCES.txt'
>> reading manifest template 'MANIFEST.in'
>> no previously-included directories found matching 'doc/build'
>> warning: no previously-included files matching '*.bz2' found anywhere in 
>> distribution
>> warning: no previously-included files matching '*.csv' found anywhere in 
>> distribution
>> warning: no previously-included files matching '*.dta' found anywhere in 
>> distribution
>> warning: no previously-included files matching '*.gz' found anywhere in 
>> distribution
>> warning: no previously-included files matching '*.h5' found anywhere in 
>> distribution
>> warning: no previously-included files matching '*.html' found anywhere in 
>> distribution
>> warning: no previously-included files matching '*.json' found anywhere in 
>> distribution
>> warning: no previously-included files matching '*.msgpack' found anywhere in 
>> distribution
>> warning: no previously-included files matching '*.pickle' found anywhere in 
>> distribution
>> warning: no previously-included files matching '*.png' found anywhere in 
>> distribution
>> warning: no previously-included files matching '*.pyc' found anywhere in 
>> distribution
>> warning: no previously-included files matching '*.pyd' found anywhere in 
>> distribution
>> warning: no previously-included files matching '*.sas7bdat' found anywhere 
>> in distribution
>> warning: no previously-included files matching '*.so' found anywhere in 
>> distribution
>> warning: no previously-included files matching '*.xls' found anywhere in 
>> distribution
>> warning: no previously-included files matching '*.xlsm' found anywhere in 
>> distribution
>> warning: no previously-included files matching '*.xlsx' found anywhere in 
>> distribution
>> warning: no previously-included files matching '*.xpt' found anywhere in 
>> distribution
>> warning: no previously-included files matching '*.xz' found anywhere in 
>> distribution
>> warning: no previously-included files matching '*.zip' found anywhere in 
>> distribution
>> warning: no previously-included files matching '*~' found anywhere in 
>> distribution
>> warning: no previously-included files matching '.DS_Store' found anywhere in 
>> distribution
>> warning: no previously-included files matching '.git*' found anywhere in 
>> distribution
>> warning: no previously-included files matching '#*' found anywhere in 
>> distribution
>> writing manifest file 'pandas.egg-info/SOURCES.txt'
>> Traceback (most recent call last):
>>  File "./setup.py", line 38, in <module>
>>    ver = Cython.__version__
>> AttributeError: module 'Cython' has no attribute '__version__'
>> *** Error 1 in math/py-pandas (/usr/ports/lang/python/python.port.mk:219 
>> 'do-build': @: ;cd /usr/obj/ports/py-pandas-0.23.4-python3/pandas-0...)
>> *** Error 1 in math/py-pandas (/usr/ports/infrastructure/mk/bsd.port.mk:2796 
>> '/usr/obj/ports/py-pandas-0.23.4-python3/.build_done')
>> *** Error 1 in math/py-pandas (/usr/ports/infrastructure/mk/bsd.port.mk:2466 
>> 'build')
>> ===> Exiting math/py-pandas,python3 with an error
>> *** Error 1 in /usr/ports (infrastructure/mk/bsd.port.subdir.mk:137 'build')
>> Error: job failed with 256 on amd64-3 at 1555016021
>> 
>> -- 
>> Christian "naddy" Weisgerber                          na...@mips.inka.de
>> 
> 
> 
> ----- End forwarded message -----
> 

Reply via email to