[ 
https://issues.apache.org/jira/browse/ARROW-65?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15194205#comment-15194205
 ] 

Wes McKinney commented on ARROW-65:
-----------------------------------

[~xhochy] I'm more than happy to reduce the amount of 3rd-party code we are 
shipping. I migrated the script you see over from the dynd project here 
https://github.com/libdynd/dynd-python/commits/master/cmake/FindPythonLibsNew.cmake.
 For example, there may be issues on OS X due to:

{code}
    IF(APPLE)
      # On OS X, linking against the Python libraries causes
      # segfaults, so do this dynamic lookup instead.
      SET_TARGET_PROPERTIES(${_NAME} PROPERTIES LINK_FLAGS
                          "-undefined dynamic_lookup")
    ELSE()
      TARGET_LINK_LIBRARIES(${_NAME} ${PYTHON_LIBRARIES})
    ENDIF()
{code}

since FindPythonLibs.cmake differs a lot between cmake versions, we may end up 
having to ship it anyway. It would be great if we can try to use the cmake 
version, though. If that doesn't work, or some manual patches are necessary, 
then we should fix the one in the Arrow repo ourselves for your environment. 

> Python: FindPythonLibsNew does not work in a virtualenv
> -------------------------------------------------------
>
>                 Key: ARROW-65
>                 URL: https://issues.apache.org/jira/browse/ARROW-65
>             Project: Apache Arrow
>          Issue Type: Bug
>          Components: Python
>            Reporter: Uwe L. Korn
>
> It fails on latest Gentoo System with Python 3.4 as the main python, see the 
> attached log.
> In constrast, CMake 3.5's own FindPythonLibs works. Is there any reason for 
> shipping a custom FindPythonLibs with PyArrow? Should we possibly make it 
> depended on the calling CMake version?
> Log:
> {noformat}
> -- The C compiler identification is GNU 5.3.0
> -- The CXX compiler identification is GNU 5.3.0
> -- Check for working C compiler: /usr/bin/cc
> -- Check for working C compiler: /usr/bin/cc -- works
> -- Detecting C compiler ABI info
> -- Detecting C compiler ABI info - done
> -- Detecting C compile features
> -- Detecting C compile features - done
> -- Check for working CXX compiler: /usr/bin/c++
> -- Check for working CXX compiler: /usr/bin/c++ -- works
> -- Detecting CXX compiler ABI info
> -- Detecting CXX compiler ABI info - done
> -- Detecting CXX compile features
> -- Detecting CXX compile features - done
> Configured for DEBUG build (set with cmake 
> -DCMAKE_BUILD_TYPE={release,debug,...})
> INFO Using built-in specs.
> COLLECT_GCC=/usr/x86_64-pc-linux-gnu/gcc-bin/5.3.0/c++
> COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-pc-linux-gnu/5.3.0/lto-wrapper
> Target: x86_64-pc-linux-gnu
> Configured with: 
> /var/tmp/notmpfs/portage/sys-devel/gcc-5.3.0/work/gcc-5.3.0/configure 
> --host=x86_64-pc-linux-gnu --build=x86_64-pc-linux-gnu --prefix=/usr 
> --bindir=/usr/x86_64-pc-linux-gnu/gcc-bin/5.3.0 
> --includedir=/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include 
> --datadir=/usr/share/gcc-data/x86_64-pc-linux-gnu/5.3.0 
> --mandir=/usr/share/gcc-data/x86_64-pc-linux-gnu/5.3.0/man 
> --infodir=/usr/share/gcc-data/x86_64-pc-linux-gnu/5.3.0/info 
> --with-gxx-include-dir=/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5 
> --with-python-dir=/share/gcc-data/x86_64-pc-linux-gnu/5.3.0/python 
> --enable-languages=c,c++,java,go,fortran --enable-obsolete --enable-secureplt 
> --disable-werror --with-system-zlib --enable-nls --without-included-gettext 
> --enable-checking=release --with-bugurl=https://bugs.gentoo.org/ 
> --with-pkgversion='Gentoo 5.3.0 p1.0, pie-0.6.5' --enable-libstdcxx-time 
> --enable-shared --enable-threads=posix --enable-__cxa_atexit 
> --enable-clocale=gnu --enable-multilib --with-multilib-list=m32,m64 
> --disable-altivec --disable-fixed-point --enable-targets=all --enable-libgomp 
> --disable-libmudflap --disable-libssp --disable-libcilkrts --enable-lto 
> --without-isl --enable-libsanitizer
> Thread model: posix
> gcc version 5.3.0 (Gentoo 5.3.0 p1.0, pie-0.6.5) 
> Selected compiler gcc 5.3.0
> Using dynamic linking for DEBUG builds
> collect2 version 5.3.0
> /usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/../../../../x86_64-pc-linux-gnu/bin/ld 
> -plugin /usr/libexec/gcc/x86_64-pc-linux-gnu/5.3.0/liblto_plugin.so 
> -plugin-opt=/usr/libexec/gcc/x86_64-pc-linux-gnu/5.3.0/lto-wrapper 
> -plugin-opt=-fresolution=/tmp/ccMLevrM.res -plugin-opt=-pass-through=-lgcc_s 
> -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc 
> -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc 
> --eh-frame-hdr -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 
> /usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/../../../../lib64/crt1.o 
> /usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/../../../../lib64/crti.o 
> /usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/crtbegin.o 
> -L/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0 
> -L/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/../../../../lib64 -L/lib/../lib64 
> -L/usr/lib/../lib64 
> -L/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/../../../../x86_64-pc-linux-gnu/lib 
> -L/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/../../.. --version -lstdc++ -lm 
> -lgcc_s -lgcc -lc -lgcc_s -lgcc 
> /usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/crtend.o 
> /usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/../../../../lib64/crtn.o
> Using ld linker
> -- Found PythonInterp: /home/xhochy/.virtualenvs/arrow/bin/python (found 
> version "3.4.3") 
> -- Searching for Python libs in 
> /home/xhochy/.virtualenvs/arrow/lib64;/home/xhochy/.virtualenvs/arrow/lib;/usr/lib64/python3.4/config-3.4m
> -- Found Python lib PYTHON_LIBRARY-NOTFOUND
> -- Found PythonLibs: PYTHON_LIBRARY-NOTFOUND
> -- Found Cython: /home/xhochy/.virtualenvs/arrow/bin/cython  
> -- Searching for Python libs in 
> /home/xhochy/.virtualenvs/arrow/lib64;/home/xhochy/.virtualenvs/arrow/lib;/usr/lib64/python3.4/config-3.4m
> -- Found Python lib PYTHON_LIBRARY-NOTFOUND
> -- Found the Arrow library: /home/xhochy/Development/dist/lib/libarrow.so
> Added shared library dependency arrow: 
> /home/xhochy/Development/dist/lib/libarrow.so
> CMake Error: The following variables are used in this project, but they are 
> set to NOTFOUND.
> Please set them or make sure they are set and tested correctly in the CMake 
> files:
> PYTHON_LIBRARY (ADVANCED)
>     linked by target "schema" in directory 
> /home/xhochy/Development/arrow/python
>     linked by target "schema" in directory 
> /home/xhochy/Development/arrow/python
>     linked by target "scalar" in directory 
> /home/xhochy/Development/arrow/python
>     linked by target "scalar" in directory 
> /home/xhochy/Development/arrow/python
>     linked by target "error" in directory 
> /home/xhochy/Development/arrow/python
>     linked by target "error" in directory 
> /home/xhochy/Development/arrow/python
>     linked by target "array" in directory 
> /home/xhochy/Development/arrow/python
>     linked by target "array" in directory 
> /home/xhochy/Development/arrow/python
>     linked by target "config" in directory 
> /home/xhochy/Development/arrow/python
>     linked by target "config" in directory 
> /home/xhochy/Development/arrow/python
> -- Configuring incomplete, errors occurred!
> See also 
> "/home/xhochy/Development/arrow/python/build/CMakeFiles/CMakeOutput.log".
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to