arrow-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jim Pivarski (JIRA)" <>
Subject [jira] [Created] (ARROW-344) Instructions for building with conda
Date Wed, 19 Oct 2016 21:58:59 GMT
Jim Pivarski created ARROW-344:

             Summary: Instructions for building with conda
                 Key: ARROW-344
             Project: Apache Arrow
          Issue Type: Improvement
          Components: Python
    Affects Versions: 0.1.0
            Reporter: Jim Pivarski

According to [this comment|],
Arrow 0.1.0 for Python can be installed with Conda. {{arrow-cpp}} is a dependency of the Python
version, and I can install {{arrow-cpp}} locally with

conda install --channel conda-forge parquet-cpp numpy pandas pytest
cd apache-arrow-0.1.0/cpp
conda-build conda.recipe --channel conda-forge
conda install -c conda-forge --use-local arrow-cpp
cd ../python

but I can't build and locally install the {{conda.recipe}} in the Python directory because
conda keeps trying to get the {{arrow-cpp}} on {{conda-forge}}, rather than the one in the
0.1.0 release. Those versions are incompatible due to a changed API:

[ 24%] Building CXX object CMakeFiles/pyarrow.dir/src/pyarrow/adapters/
/usr/bin/c++   -Dpyarrow_EXPORTS -isystem /opt/miniconda2/conda-bld/conda.recipe_1476908391204/_b_env_placehold_placehold_/lib/python2.7/site-packages/numpy/core/include
-isystem /opt/miniconda2/conda-bld/conda.recipe_1476908391204/_b_env_placehold_placehold_/include/python2.7
-isystem /opt/apache-arrow-0.1.0/python/src -isystem /opt/miniconda2/conda-bld/conda.recipe_1476908391204/_b_env_placehold_placehold_/include
 -std=c++11 -Wall -ggdb -O0 -g -fPIC   -fPIC -o CMakeFiles/pyarrow.dir/src/pyarrow/adapters/
-c /opt/apache-arrow-0.1.0/python/src/pyarrow/adapters/
/opt/apache-arrow-0.1.0/python/src/pyarrow/adapters/ In function 'pyarrow::Status
pyarrow::ConvertPySequence(PyObject*, std::shared_ptr<arrow::Array>*)':
/opt/apache-arrow-0.1.0/python/src/pyarrow/adapters/ error: no matching
function for call to 'arrow::ArrayBuilder::Finish()'
   *out = builder->Finish();
/opt/apache-arrow-0.1.0/python/src/pyarrow/adapters/ note: candidate is:
In file included from /opt/miniconda2/conda-bld/conda.recipe_1476908391204/_b_env_placehold_placehold_/include/arrow/api.h:24:0,
                 from /opt/apache-arrow-0.1.0/python/src/pyarrow/adapters/
note: virtual arrow::Status arrow::ArrayBuilder::Finish(std::shared_ptr<arrow::Array>*)
   virtual Status Finish(std::shared_ptr<Array>* out) = 0;
note:   candidate expects 1 argument, 0 provided
make[2]: *** [CMakeFiles/pyarrow.dir/src/pyarrow/adapters/] Error 1
make[2]: Leaving directory `/opt/apache-arrow-0.1.0/python/build/temp.linux-x86_64-2.7'
make[1]: *** [CMakeFiles/pyarrow.dir/all] Error 2
make[1]: Leaving directory `/opt/apache-arrow-0.1.0/python/build/temp.linux-x86_64-2.7'
make: *** [all] Error 2
error: command 'make' failed with exit status 2

If I do {{conda-build --channel local --channel conda-forge --override-channels}}, it can't
find some of the packages I've installed. If I don't {{--override-channels}}, it tries to
use {{arrow-cpp}} from {{conda-forge}} as the dependency and I get the compilation
error above.

Note: my {{conda list}} is

# packages in environment at /opt/miniconda2:
conda-build               2.0.6                    py27_0
blas                      1.1                    openblas    conda-forge
conda                     4.1.12                   py27_0    conda-forge
conda-env                 2.5.2                    py27_0    conda-forge
numpy                     1.11.2          py27_blas_openblas_200  [blas_openblas]  conda-forge
openblas                  0.2.18                        5    conda-forge
pandas                    0.19.0              np111py27_0    conda-forge
parquet-cpp               0.1.pre                       3    conda-forge
pytest                    3.0.3                    py27_0    conda-forge
thrift-cpp                0.9.3                         3    conda-forge
enum34                    1.1.6                    py27_0
filelock                  2.0.6                    py27_0
jinja2                    2.8                      py27_1
libgfortran               3.0.0                         1
arrow-cpp                 0.1                           0    local
markupsafe                0.23                     py27_2
mkl                       11.3.3                        0
openssl                   1.0.2h                        1
patchelf                  0.9                           0
pip                       8.1.2                    py27_0
pkginfo                   1.3.2                    py27_0
py                        1.4.31                   py27_0
pycosat                   0.6.1                    py27_1
pycrypto                  2.6.1                    py27_4
python                    2.7.12                        1
python-dateutil           2.5.3                    py27_0
pytz                      2016.7                   py27_0
pyyaml                    3.11                     py27_4
readline                  6.2                           2
requests                  2.10.0                   py27_0
ruamel_yaml               0.11.14                  py27_0
setuptools                23.0.0                   py27_0
six                       1.10.0                   py27_0
sqlite                    3.13.0                        0
tk                        8.5.18                        0
wheel                     0.29.0                   py27_0
yaml                      0.1.6                         0
zlib                      1.2.8                         3

I'm pretty sure the problem here is something I don't know about conda (I started using it
this morning), but I can't figure out how to install this package out-of-the-box.

This message was sent by Atlassian JIRA

View raw message