This is an automated email from the ASF dual-hosted git repository.

jorisvandenbossche pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/arrow.git


The following commit(s) were added to refs/heads/master by this push:
     new 7b44e6140b ARROW-17753: [Python][Docs] Document cleaning for fixing 
build environment issues (#14260)
7b44e6140b is described below

commit 7b44e6140bb35f3fb45fb32d439f0fff360509d6
Author: Anja Kefala <[email protected]>
AuthorDate: Fri Sep 30 06:28:31 2022 -0700

    ARROW-17753: [Python][Docs] Document cleaning for fixing build environment 
issues (#14260)
    
    ![Screenshot from 2022-09-27 
17-18-05](https://user-images.githubusercontent.com/7489659/192659718-b4f77e41-8b00-48f3-bc1b-cfdaa36e31da.png)
    
    
    Authored-by: anjakefala <[email protected]>
    Signed-off-by: Joris Van den Bossche <[email protected]>
---
 docs/source/developers/python.rst | 40 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)

diff --git a/docs/source/developers/python.rst 
b/docs/source/developers/python.rst
index c30efd2358..a3a987f640 100644
--- a/docs/source/developers/python.rst
+++ b/docs/source/developers/python.rst
@@ -636,6 +636,46 @@ Caveats
 
 The Plasma component is not supported on Windows.
 
+Deleting stale build artifacts
+==============================
+
+When there have been changes to the structure of the Arrow C++ library or 
PyArrow,
+a thorough cleaning is recommended as a first attempt to fixing build errors.
+
+.. note::
+
+   It is not necessarily intuitive from the error itself that the problem is 
due to stale artifacts.
+   Example of a build error from stale artifacts is "Unknown CMake command 
"arrow_keep_backward_compatibility"".
+
+To delete stale Arrow C++ build artifacts:
+
+.. code-block::
+
+   $ rm -rf arrow/cpp/build
+
+To delete stale PyArrow build artifacts:
+
+.. code-block::
+
+   $ git clean -Xfd python
+
+If using a Conda environment, there are some build artifacts that get 
installed in
+``$ARROW_HOME`` (aka ``$CONDA_PREFIX``). For example, 
``$ARROW_HOME/lib/cmake/Arrow*``,
+``$ARROW_HOME/include/arrow``, ``$ARROW_HOME/lib/libarrow*``, etc.
+
+These files can be manually deleted. If unsure which files to erase, one 
approach
+is to recreate the Conda environment.
+
+Either delete the current one, and start fresh:
+
+.. code-block::
+
+   $ conda deactivate
+   $ conda remove -n pyarrow-dev
+
+Or, less destructively, create a different environment with a different name.
+
+
 Installing Nightly Packages
 ===========================
 

Reply via email to