You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@arrow.apache.org by "Jim Pivarski (JIRA)" <ji...@apache.org> on 2016/10/19 21:58:59 UTC

[jira] [Created] (ARROW-344) Instructions for building with conda

Jim Pivarski created ARROW-344:
----------------------------------

             Summary: Instructions for building with conda
                 Key: ARROW-344
                 URL: https://issues.apache.org/jira/browse/ARROW-344
             Project: Apache Arrow
          Issue Type: Improvement
          Components: Python
    Affects Versions: 0.1.0
            Reporter: Jim Pivarski


According to [this comment|https://issues.apache.org/jira/browse/ARROW-230?focusedCommentId=15588846&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-15588846], 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

{noformat}
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
{noformat}

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:

{noformat}
[ 24%] Building CXX object CMakeFiles/pyarrow.dir/src/pyarrow/adapters/builtin.cc.o
/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/builtin.cc.o -c /opt/apache-arrow-0.1.0/python/src/pyarrow/adapters/builtin.cc
/opt/apache-arrow-0.1.0/python/src/pyarrow/adapters/builtin.cc: In function 'pyarrow::Status pyarrow::ConvertPySequence(PyObject*, std::shared_ptr<arrow::Array>*)':
/opt/apache-arrow-0.1.0/python/src/pyarrow/adapters/builtin.cc:434:26: error: no matching function for call to 'arrow::ArrayBuilder::Finish()'
   *out = builder->Finish();
                          ^
/opt/apache-arrow-0.1.0/python/src/pyarrow/adapters/builtin.cc:434:26: 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/builtin.cc:23:
/opt/miniconda2/conda-bld/conda.recipe_1476908391204/_b_env_placehold_placehold_/include/arrow/builder.h:96:18: note: virtual arrow::Status arrow::ArrayBuilder::Finish(std::shared_ptr<arrow::Array>*)
   virtual Status Finish(std::shared_ptr<Array>* out) = 0;
                  ^
/opt/miniconda2/conda-bld/conda.recipe_1476908391204/_b_env_placehold_placehold_/include/arrow/builder.h:96:18: note:   candidate expects 1 argument, 0 provided
make[2]: *** [CMakeFiles/pyarrow.dir/src/pyarrow/adapters/builtin.cc.o] 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
{noformat}

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 0.1.post-1}} from {{conda-forge}} as the dependency and I get the compilation error above.

Note: my {{conda list}} is

{noformat}
# 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
{noformat}

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
(v6.3.4#6332)