xnd-project / libxnd

Subsumed into xnd
https://xnd.io/
BSD 3-Clause "New" or "Revised" License
81 stars 12 forks source link

Latest conda package broken #34

Closed saulshanabrook closed 6 years ago

saulshanabrook commented 6 years ago

The latest conda package is not working for me. The pip package does seem to work. When I try to create an xnd container from Python I get a ValueError: xnd: expected list with size 450971566080 error.

$ cat Dockerfile
FROM continuumio/miniconda3
RUN conda install -c xnd/label/dev --yes xnd
RUN python -c 'from xnd import xnd; xnd([1, 2, 3])'

$ docker build -t tmp .
Sending build context to Docker daemon  124.5MB
Step 1/3 : FROM continuumio/miniconda3
 ---> bfb745918f77
Step 2/3 : RUN conda install -c xnd/label/dev --yes xnd
 ---> Running in 6afba122205b
Solving environment: ...working... done

==> WARNING: A newer version of conda exists. <==
  current version: 4.4.10
  latest version: 4.5.11

Please update conda by running

    $ conda update -n base conda

ca-certificates 2018.03.07: ########## | 100%
openssl 1.0.2p: ########## | 100%
certifi 2018.8.24: ########## | 100%
libxnd 0.2.0dev3: ########## | 100%
libndtypes 0.2.0dev3: ########## | 100%
xnd 0.2.0dev3: ########## | 100%
ndtypes 0.2.0dev3: ########## | 100%
## Package Plan ##

  environment location: /opt/conda

  added / updated specs:
    - xnd

The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    ca-certificates-2018.03.07 |                0         124 KB
    openssl-1.0.2p             |       h14c3975_0         3.5 MB
    certifi-2018.8.24          |           py36_1         140 KB
    libxnd-0.2.0dev3           |py36_144_g7f06bd0          60 KB  xnd/label/dev
    libndtypes-0.2.0dev3       |py36_158_gaa185be         675 KB  xnd/label/dev
    xnd-0.2.0dev3              |py36_144_g7f06bd0         115 KB  xnd/label/dev
    ndtypes-0.2.0dev3          |py36_158_gaa185be          62 KB  xnd/label/dev
    ------------------------------------------------------------
                                           Total:         4.6 MB

The following NEW packages will be INSTALLED:

    libndtypes:      0.2.0dev3-py36_158_gaa185be xnd/label/dev
    libxnd:          0.2.0dev3-py36_144_g7f06bd0 xnd/label/dev
    ndtypes:         0.2.0dev3-py36_158_gaa185be xnd/label/dev
    xnd:             0.2.0dev3-py36_144_g7f06bd0 xnd/label/dev

The following packages will be UPDATED:

    ca-certificates: 2017.08.26-h1d4fec5_0                     --> 2018.03.07-0
    certifi:         2018.1.18-py36_0                          --> 2018.8.24-py36_1
    openssl:         1.0.2n-hb7f436b_0                         --> 1.0.2p-h14c3975_0

Downloading and Extracting Packages
Preparing transaction: ...working... done
Verifying transaction: ...working... done
Executing transaction: ...working... done

Removing intermediate container 6afba122205b
 ---> 039d3673e292
Step 3/3 : RUN python -c 'from xnd import xnd; xnd([1, 2, 3])'
 ---> Running in 1acac0d53939
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/opt/conda/lib/python3.6/site-packages/xnd/__init__.py", line 127, in __new__
    return super().__new__(cls, type=type, value=value)
ValueError: xnd: expected list with size 450971566080
The command '/bin/sh -c python -c 'from xnd import xnd; xnd([1, 2, 3])'' returned a non-zero code: 1
skrah commented 6 years ago

I now locked down all Python versions to 3.7 in meta.yml. The previous scheme of using PY_VER and >=3.6 is a game of chance, since the CPython ABI can change of course, leading to issues like the above.

This may annoy people trying to build with 3.6, but I don't see a good way of avoiding that because there's a single meta.yml both for private builds and for uploading to anaconda.org.

So private builds should use a 3.7 environment.

saulshanabrook commented 6 years ago

Thanks! good to know.

hameerabbasi commented 6 years ago

Would it be possible to have multiple builds for different Python versions? I'm not entirely sure what versions of Python our target audience will be running.

skrah commented 6 years ago

This is just the xnd/label/dev build+upload, which is triggered after each commit. Travis-CI and Appveyor already throttle the builds, so I prefer not to add more.

For releases, sure, there should be at least 3.6 and 3.7.