1) pip install pyarrow==0.14.0
2) All the pyarrow files including, for example libarrow.so.14, but not
libarrow.so (hence the linker error)

Reproducible on Python 3.7.2 on linux mint 19.1 and debian docker:

Example dockerfile:
```
FROM debian:unstable-slim

RUN apt-get update && apt-get upgrade -y
RUN apt-get install -y python3 python3-dev
RUN apt-get install -y python3-pip

RUN python3 -m pip install --upgrade pip
RUN pip3 install Cython pyarrow
COPY setup.py /root
COPY test.pyx /root
WORKDIR /root
RUN python3 setup.py build_ext --inplace
```

Where setup.py and test.pyx are the files listed above, with an added call
to numpy.get_include().

Appending ' ==0.13.0' to the 'RUN pip3 install...' line above results in
the docker image building

Steve

On Thu, Jul 4, 2019 at 10:37 PM Antoine Pitrou <anto...@python.org> wrote:

>
> Hi,
>
> 1) How did you install PyArrow?
>
> 2) What does /usr/local/lib/python3.7/dist-packages/pyarrow contain?
>
> Regards
>
> Antoine.
>
>
> Le 04/07/2019 à 22:10, Stestagg a écrit :
> > Hi
> >
> > I've got a cython module that links against PyArrow, using the
> > 'pyarrow.get_libraries()' associated methods.
> >
> > Builds on Windows and Linux are consitently failing against 0.14, but
> > working on 0.12 to 0.13.
> >
> > Linux gives:
> > x86_64-linux-gnu-g++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions
> > -Wl,-z,relro -Wl,-z,relro -g -fstack-protector-strong -Wformat
> > -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2
> > build/temp.linux-x86_64-3.7/test.o
> > -L/usr/local/lib/python3.7/dist-packages/pyarrow -larrow -larrow_python
> -o
> > /home/dduser/att/arrowtest.cpython-37m-x86_64-linux-gnu.so
> > /usr/bin/ld: cannot find -larrow
> > /usr/bin/ld: cannot find -larrow_python
> > collect2: error: ld returned 1 exit status
> > error: command 'x86_64-linux-gnu-g++' failed with exit status 1
> >
> > The windows build is more funky, but I'm still investigating.
> >
> > A minimal example is:
> >
> > setup.py:
> >
> > import pyarrow
> > from Cython.Build import cythonize
> > from distutils.command.build_clib import build_clib
> > from distutils.core import setup, Extension
> >
> >
> > OPTIONS = {
> >     'sources': ["test.pyx"],
> >     'language': "c++",
> >     'include_dirs':  [pyarrow.get_include()],
> >     'libraries': pyarrow.get_libraries(),
> >     'library_dirs': pyarrow.get_library_dirs()
> > }
> >
> > setup(
> >     name='arrowtest',
> >     ext_modules = cythonize(Extension("arrowtest",**OPTIONS)),
> >     cmdclass = {'build_clib': build_clib},
> >     version="0.1",
> > )
> >
> > test.pyx:
> >
> > import pyarrow as pa
> > cimport pyarrow.lib as pa
> >
> > Thanks
> >
> > Steve
> >
>

Reply via email to