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