-
Notifications
You must be signed in to change notification settings - Fork 3.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Python] wheel cmake error on Raspberry PI #14920
Comments
Could you show the output of |
Sure: There are 26 .h files in |
Hmm. there is no problem for it... Can you add debug prints ( |
Thanks kou I looked at this:
It makes a difference whether you put this Please check this toy example: |
Thanks! Could you show the output of the following cmake_minimum_required(VERSION 3.20)
project(hello LANGUAGES CXX)
## this works:
find_package(Python 3.7 REQUIRED COMPONENTS Interpreter Development NumPy)
message(STATUS "#### Python_NumPy_VERSION = ${Python_NumPy_VERSION} ")
message(STATUS "#### Python_NumPy_FOUND = ${Python_NumPy_FOUND} ")
message(STATUS "#### Python_NumPy_INCLUDE_DIRS = ${Python_NumPy_INCLUDE_DIRS} ")
message(STATUS "#### Python_EXECUTABLE = ${Python_EXECUTABLE} ")
## this leaves Python_NumPy_INCLUDE_DIRS and the other variables empty
find_package(Python3 3.7 REQUIRED COMPONENTS Interpreter Development NumPy)
message(STATUS "#### Python3_NumPy_VERSION = ${Python3_NumPy_VERSION} ")
message(STATUS "#### Python3_NumPy_FOUND = ${Python3_NumPy_FOUND} ")
message(STATUS "#### Python3_NumPy_INCLUDE_DIRS = ${Python3_NumPy_INCLUDE_DIRS} ")
message(STATUS "#### Python3_EXECUTABLE = ${Python3_EXECUTABLE} ")
add_executable(hello "hello.cpp") |
My bad. That works both places. Another observation:
I'll try to put more message output and share here. |
New finding. I removed the try: ... except: pass in
I then followed the recommendation in https://numpy.org/devdocs/user/troubleshooting-importerror.html Then find_package(Python3... ran with the success. Now I get the following error instead. Attached output. Btw, I also installed arrow from source apache-arrow-10.0.1/cpp
Is this intended? |
Great! |
|
OK. We need to specify some options to enable Apache Arrow C++ components that are used by pyarrow. Could you try the following? cmake --preset=ninja-release-python-minimal .
cmake --build .
sudo cmake --build . --target install See also: https://arrow.apache.org/docs/dev/developers/python.html#build-and-test |
Thanks. I had to fetch xsimd source manually and set this prior to the cmake commands:
But I could not get rid of this error:
|
Could you share the output of |
Thanks. My bad. I wiped and re-unpacked arrow source code and the above cmake commands completed with success. Now I get this error when I try to install pyarrow with pip:
|
Could you the show full output of |
Thanks. |
Could you show the output of |
Hmm. Did you really use |
I just verified it, yes. Output attached. I just tried with this option: |
I got it. Could you use |
That worked. It least after I also added dataset on: I successfully installed pyarrow. Thank you :-) Then when I try to import pyarrow I get this error:
Could that be related to this? |
Yes, arrow will need to be linked with arrow/cpp/src/arrow/CMakeLists.txt Lines 577 to 581 in a0d1630
Is there any reason this check might not be working? |
Could it be this? |
I think that's ok. |
Ah, we need to add diff --git a/cpp/src/arrow/CMakeLists.txt b/cpp/src/arrow/CMakeLists.txt
index 3bf5ebb9b9..4c784f2bb8 100644
--- a/cpp/src/arrow/CMakeLists.txt
+++ b/cpp/src/arrow/CMakeLists.txt
@@ -578,6 +578,8 @@ endif()
# See also: https://issues.apache.org/jira/browse/ARROW-12860
if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux" AND ${CMAKE_SYSTEM_PROCESSOR} MATCHES "armv7")
string(APPEND ARROW_PC_LIBS_PRIVATE " -latomic")
+ list(APPEND ARROW_SHARED_INSTALL_INTERFACE_LIBS "atomic")
+ list(APPEND ARROW_STATIC_INSTALL_INTERFACE_LIBS "atomic")
endif()
# If libarrow.a is only built, "pkg-config --cflags --libs arrow" |
It works now all the way. Thank you kou. |
-latomic is needed for Raspberry PI. Arrow CMake package should specify it.
Thanks for confirming it. |
…age (apache#15251) -latomic is needed for Raspberry PI. Arrow CMake package should specify it. * Closes: apache#14920 Authored-by: Sutou Kouhei <kou@clear-code.com> Signed-off-by: Sutou Kouhei <kou@clear-code.com>
…age (apache#15251) -latomic is needed for Raspberry PI. Arrow CMake package should specify it. * Closes: apache#14920 Authored-by: Sutou Kouhei <kou@clear-code.com> Signed-off-by: Sutou Kouhei <kou@clear-code.com>
Describe the usage question you have. Please include as many useful details as possible.
Dear Arrow
When I try to install pyarrow on my Raspberry PI 3 using pip I get this error
Full output attached. I didn't know where to ask or if it should be a bug report instead. So I start here.
System is "Raspbian GNU/Linux 11 (bullseye) on Raspberry PI 3 armhf.
I tried both with numpy installed from apt and pip, and cmake install from apt and latest build from source.
Same error message.
Please let me know if I should provide info or how I can help you help me.
My main objective is to install streamlit which has a dependency to pyarrow via pip.
pyarrow_install_stdout.txt
Component(s)
Python
The text was updated successfully, but these errors were encountered: