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