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)