You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@arrow.apache.org by "WillAyd (via GitHub)" <gi...@apache.org> on 2024/05/02 14:06:36 UTC
[PR] MINOR: [Python][Docs] Use CMake presets to simplify Python build inst… [arrow]
WillAyd opened a new pull request, #41500:
URL: https://github.com/apache/arrow/pull/41500
### Rationale for this change
This should simplify the number of steps users have to go through to get a working Python installation from source
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] MINOR: [Python][Docs] Use CMake presets to simplify Python build installation [arrow]
Posted by "WillAyd (via GitHub)" <gi...@apache.org>.
WillAyd commented on code in PR #41500:
URL: https://github.com/apache/arrow/pull/41500#discussion_r1603651249
##########
docs/source/developers/python.rst:
##########
@@ -302,10 +302,24 @@ created above (stored in ``$ARROW_HOME``):
.. code-block::
- $ mkdir arrow/cpp/build
Review Comment:
CMake creates it
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] MINOR: [Python][Docs] Use CMake presets to simplify Python build installation [arrow]
Posted by "conbench-apache-arrow[bot] (via GitHub)" <gi...@apache.org>.
conbench-apache-arrow[bot] commented on PR #41500:
URL: https://github.com/apache/arrow/pull/41500#issuecomment-2117416126
After merging your PR, Conbench analyzed the 5 benchmarking runs that have been run so far on merge-commit 2dbc5e26dcbc6826b4eb7a330fa8090836f6b727.
There were no benchmark performance regressions. 🎉
The [full Conbench report](https://github.com/apache/arrow/runs/25098430777) has more details. It also includes information about 1 possible false positive for unstable benchmarks that are known to sometimes produce them.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] MINOR: [Python][Docs] Use CMake presets to simplify Python build installation [arrow]
Posted by "kou (via GitHub)" <gi...@apache.org>.
kou commented on code in PR #41500:
URL: https://github.com/apache/arrow/pull/41500#discussion_r1600798131
##########
docs/source/developers/python.rst:
##########
@@ -302,53 +302,15 @@ created above (stored in ``$ARROW_HOME``):
.. code-block::
- $ mkdir arrow/cpp/build
- $ pushd arrow/cpp/build
- $ cmake -DCMAKE_INSTALL_PREFIX=$ARROW_HOME \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DCMAKE_BUILD_TYPE=Debug \
- -DARROW_BUILD_TESTS=ON \
- -DARROW_COMPUTE=ON \
- -DARROW_CSV=ON \
- -DARROW_DATASET=ON \
- -DARROW_FILESYSTEM=ON \
- -DARROW_HDFS=ON \
- -DARROW_JSON=ON \
- -DARROW_PARQUET=ON \
- -DARROW_WITH_BROTLI=ON \
- -DARROW_WITH_BZ2=ON \
- -DARROW_WITH_LZ4=ON \
- -DARROW_WITH_SNAPPY=ON \
- -DARROW_WITH_ZLIB=ON \
- -DARROW_WITH_ZSTD=ON \
- -DPARQUET_REQUIRE_ENCRYPTION=ON \
- ..
- $ make -j4
- $ make install
- $ popd
-
-There are a number of optional components that can be switched ON by
-adding flags with ``ON``:
-
-* ``ARROW_CUDA``: Support for CUDA-enabled GPUs
-* ``ARROW_DATASET``: Support for Apache Arrow Dataset
-* ``ARROW_FLIGHT``: Flight RPC framework
-* ``ARROW_GANDIVA``: LLVM-based expression compiler
-* ``ARROW_ORC``: Support for Apache ORC file format
-* ``ARROW_PARQUET``: Support for Apache Parquet file format
-* ``PARQUET_REQUIRE_ENCRYPTION``: Support for Parquet Modular Encryption
-
-Anything set to ``ON`` above can also be turned off. Note that some compression
-libraries are recommended for full Parquet support.
-
-You may choose between different kinds of C++ build types:
-
-* ``-DCMAKE_BUILD_TYPE=Release`` (the default) produces a build with optimizations
- enabled and debugging information disabled;
-* ``-DCMAKE_BUILD_TYPE=Debug`` produces a build with optimizations
- disabled and debugging information enabled;
-* ``-DCMAKE_BUILD_TYPE=RelWithDebInfo`` produces a build with both optimizations
- and debugging information enabled.
+ $ cmake -S arrow/cpp -B arrow/cpp/build --preset ninja-release-python
Review Comment:
If we want to ensure using `lib` for library install directory, we need `-DCMAKE_INSTALL_LIBDIR=lib` because we use https://cmake.org/cmake/help/latest/module/GNUInstallDirs.html :
> LIBDIR
>
> object code libraries (lib or lib64)
>
> On Debian, this may be lib/<multiarch-tuple> when [CMAKE_INSTALL_PREFIX](https://cmake.org/cmake/help/latest/variable/CMAKE_INSTALL_PREFIX.html#variable:CMAKE_INSTALL_PREFIX) is /usr.
In this case, I think that we don't care library install directory. (`${ARROW_HOME}/lib64` will work.) So we can remove this.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] MINOR: [Python][Docs] Use CMake presets to simplify Python build installation [arrow]
Posted by "jorisvandenbossche (via GitHub)" <gi...@apache.org>.
jorisvandenbossche commented on code in PR #41500:
URL: https://github.com/apache/arrow/pull/41500#discussion_r1600372517
##########
docs/source/developers/python.rst:
##########
@@ -302,53 +302,15 @@ created above (stored in ``$ARROW_HOME``):
.. code-block::
- $ mkdir arrow/cpp/build
- $ pushd arrow/cpp/build
- $ cmake -DCMAKE_INSTALL_PREFIX=$ARROW_HOME \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DCMAKE_BUILD_TYPE=Debug \
- -DARROW_BUILD_TESTS=ON \
- -DARROW_COMPUTE=ON \
- -DARROW_CSV=ON \
- -DARROW_DATASET=ON \
- -DARROW_FILESYSTEM=ON \
- -DARROW_HDFS=ON \
- -DARROW_JSON=ON \
- -DARROW_PARQUET=ON \
- -DARROW_WITH_BROTLI=ON \
- -DARROW_WITH_BZ2=ON \
- -DARROW_WITH_LZ4=ON \
- -DARROW_WITH_SNAPPY=ON \
- -DARROW_WITH_ZLIB=ON \
- -DARROW_WITH_ZSTD=ON \
- -DPARQUET_REQUIRE_ENCRYPTION=ON \
- ..
- $ make -j4
- $ make install
- $ popd
Review Comment:
I think I would prefer to keep a version of this, and mention it as an alternative for the cmake presets. It gives more flexibility compared to the presets, and personally I still use a customized version of this to only build what I need
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] MINOR: [Python][Docs] Use CMake presets to simplify Python build installation [arrow]
Posted by "jorisvandenbossche (via GitHub)" <gi...@apache.org>.
jorisvandenbossche commented on code in PR #41500:
URL: https://github.com/apache/arrow/pull/41500#discussion_r1600372517
##########
docs/source/developers/python.rst:
##########
@@ -302,53 +302,15 @@ created above (stored in ``$ARROW_HOME``):
.. code-block::
- $ mkdir arrow/cpp/build
- $ pushd arrow/cpp/build
- $ cmake -DCMAKE_INSTALL_PREFIX=$ARROW_HOME \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DCMAKE_BUILD_TYPE=Debug \
- -DARROW_BUILD_TESTS=ON \
- -DARROW_COMPUTE=ON \
- -DARROW_CSV=ON \
- -DARROW_DATASET=ON \
- -DARROW_FILESYSTEM=ON \
- -DARROW_HDFS=ON \
- -DARROW_JSON=ON \
- -DARROW_PARQUET=ON \
- -DARROW_WITH_BROTLI=ON \
- -DARROW_WITH_BZ2=ON \
- -DARROW_WITH_LZ4=ON \
- -DARROW_WITH_SNAPPY=ON \
- -DARROW_WITH_ZLIB=ON \
- -DARROW_WITH_ZSTD=ON \
- -DPARQUET_REQUIRE_ENCRYPTION=ON \
- ..
- $ make -j4
- $ make install
- $ popd
Review Comment:
I would prefer to keep a version of this, and mention it as an alternative for the cmake presets. It gives more flexibility compared to the presets, and personally I still use a customized version of this to only build what I need
##########
docs/source/developers/python.rst:
##########
@@ -302,53 +302,15 @@ created above (stored in ``$ARROW_HOME``):
.. code-block::
- $ mkdir arrow/cpp/build
- $ pushd arrow/cpp/build
- $ cmake -DCMAKE_INSTALL_PREFIX=$ARROW_HOME \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DCMAKE_BUILD_TYPE=Debug \
- -DARROW_BUILD_TESTS=ON \
- -DARROW_COMPUTE=ON \
- -DARROW_CSV=ON \
- -DARROW_DATASET=ON \
- -DARROW_FILESYSTEM=ON \
- -DARROW_HDFS=ON \
- -DARROW_JSON=ON \
- -DARROW_PARQUET=ON \
- -DARROW_WITH_BROTLI=ON \
- -DARROW_WITH_BZ2=ON \
- -DARROW_WITH_LZ4=ON \
- -DARROW_WITH_SNAPPY=ON \
- -DARROW_WITH_ZLIB=ON \
- -DARROW_WITH_ZSTD=ON \
- -DPARQUET_REQUIRE_ENCRYPTION=ON \
- ..
- $ make -j4
- $ make install
- $ popd
-
-There are a number of optional components that can be switched ON by
-adding flags with ``ON``:
-
-* ``ARROW_CUDA``: Support for CUDA-enabled GPUs
-* ``ARROW_DATASET``: Support for Apache Arrow Dataset
-* ``ARROW_FLIGHT``: Flight RPC framework
-* ``ARROW_GANDIVA``: LLVM-based expression compiler
-* ``ARROW_ORC``: Support for Apache ORC file format
-* ``ARROW_PARQUET``: Support for Apache Parquet file format
-* ``PARQUET_REQUIRE_ENCRYPTION``: Support for Parquet Modular Encryption
-
-Anything set to ``ON`` above can also be turned off. Note that some compression
-libraries are recommended for full Parquet support.
-
-You may choose between different kinds of C++ build types:
-
-* ``-DCMAKE_BUILD_TYPE=Release`` (the default) produces a build with optimizations
- enabled and debugging information disabled;
-* ``-DCMAKE_BUILD_TYPE=Debug`` produces a build with optimizations
- disabled and debugging information enabled;
-* ``-DCMAKE_BUILD_TYPE=RelWithDebInfo`` produces a build with both optimizations
- and debugging information enabled.
+ $ cmake -S arrow/cpp -B arrow/cpp/build --preset ninja-release-python
Review Comment:
Should this still include `-DCMAKE_INSTALL_PREFIX=$ARROW_HOME`, since that is here originally, but that is not included in the preset AFAIK?
##########
docs/source/developers/python.rst:
##########
@@ -302,53 +302,15 @@ created above (stored in ``$ARROW_HOME``):
.. code-block::
- $ mkdir arrow/cpp/build
- $ pushd arrow/cpp/build
- $ cmake -DCMAKE_INSTALL_PREFIX=$ARROW_HOME \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DCMAKE_BUILD_TYPE=Debug \
- -DARROW_BUILD_TESTS=ON \
- -DARROW_COMPUTE=ON \
- -DARROW_CSV=ON \
- -DARROW_DATASET=ON \
- -DARROW_FILESYSTEM=ON \
- -DARROW_HDFS=ON \
- -DARROW_JSON=ON \
- -DARROW_PARQUET=ON \
- -DARROW_WITH_BROTLI=ON \
- -DARROW_WITH_BZ2=ON \
- -DARROW_WITH_LZ4=ON \
- -DARROW_WITH_SNAPPY=ON \
- -DARROW_WITH_ZLIB=ON \
- -DARROW_WITH_ZSTD=ON \
- -DPARQUET_REQUIRE_ENCRYPTION=ON \
- ..
- $ make -j4
- $ make install
- $ popd
-
-There are a number of optional components that can be switched ON by
-adding flags with ``ON``:
-
-* ``ARROW_CUDA``: Support for CUDA-enabled GPUs
-* ``ARROW_DATASET``: Support for Apache Arrow Dataset
-* ``ARROW_FLIGHT``: Flight RPC framework
-* ``ARROW_GANDIVA``: LLVM-based expression compiler
-* ``ARROW_ORC``: Support for Apache ORC file format
-* ``ARROW_PARQUET``: Support for Apache Parquet file format
-* ``PARQUET_REQUIRE_ENCRYPTION``: Support for Parquet Modular Encryption
-
-Anything set to ``ON`` above can also be turned off. Note that some compression
-libraries are recommended for full Parquet support.
-
-You may choose between different kinds of C++ build types:
-
-* ``-DCMAKE_BUILD_TYPE=Release`` (the default) produces a build with optimizations
- enabled and debugging information disabled;
-* ``-DCMAKE_BUILD_TYPE=Debug`` produces a build with optimizations
- disabled and debugging information enabled;
-* ``-DCMAKE_BUILD_TYPE=RelWithDebInfo`` produces a build with both optimizations
- and debugging information enabled.
+ $ cmake -S arrow/cpp -B arrow/cpp/build --preset ninja-release-python
+ $ cmake --build arrow/cpp/build --target install
Review Comment:
+1 on using more modern `cmake` calls instead of the current `make` ones!
##########
docs/source/developers/python.rst:
##########
@@ -302,53 +302,15 @@ created above (stored in ``$ARROW_HOME``):
.. code-block::
- $ mkdir arrow/cpp/build
- $ pushd arrow/cpp/build
- $ cmake -DCMAKE_INSTALL_PREFIX=$ARROW_HOME \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DCMAKE_BUILD_TYPE=Debug \
- -DARROW_BUILD_TESTS=ON \
- -DARROW_COMPUTE=ON \
- -DARROW_CSV=ON \
- -DARROW_DATASET=ON \
- -DARROW_FILESYSTEM=ON \
- -DARROW_HDFS=ON \
- -DARROW_JSON=ON \
- -DARROW_PARQUET=ON \
- -DARROW_WITH_BROTLI=ON \
- -DARROW_WITH_BZ2=ON \
- -DARROW_WITH_LZ4=ON \
- -DARROW_WITH_SNAPPY=ON \
- -DARROW_WITH_ZLIB=ON \
- -DARROW_WITH_ZSTD=ON \
- -DPARQUET_REQUIRE_ENCRYPTION=ON \
- ..
- $ make -j4
- $ make install
- $ popd
-
-There are a number of optional components that can be switched ON by
-adding flags with ``ON``:
-
-* ``ARROW_CUDA``: Support for CUDA-enabled GPUs
-* ``ARROW_DATASET``: Support for Apache Arrow Dataset
-* ``ARROW_FLIGHT``: Flight RPC framework
-* ``ARROW_GANDIVA``: LLVM-based expression compiler
-* ``ARROW_ORC``: Support for Apache ORC file format
-* ``ARROW_PARQUET``: Support for Apache Parquet file format
-* ``PARQUET_REQUIRE_ENCRYPTION``: Support for Parquet Modular Encryption
-
-Anything set to ``ON`` above can also be turned off. Note that some compression
-libraries are recommended for full Parquet support.
-
-You may choose between different kinds of C++ build types:
-
-* ``-DCMAKE_BUILD_TYPE=Release`` (the default) produces a build with optimizations
- enabled and debugging information disabled;
-* ``-DCMAKE_BUILD_TYPE=Debug`` produces a build with optimizations
- disabled and debugging information enabled;
-* ``-DCMAKE_BUILD_TYPE=RelWithDebInfo`` produces a build with both optimizations
- and debugging information enabled.
+ $ cmake -S arrow/cpp -B arrow/cpp/build --preset ninja-release-python
+ $ cmake --build arrow/cpp/build --target install
+
+``ninja-release-python`` is not the only preset available - if you would like a
+build with more features like CUDA, Flight and Gandiva support you may opt for
+the ``ninja-release-python-maximal`` preset. If you wanted less features, (i.e
+removing ORC and dataset support) you could opt for
+``ninja-release-python-minimal``. Changing the word ``release`` to ``debug``
+with any of the aforementioned presets will generated a debug build of Arrow.
Review Comment:
```suggestion
with any of the aforementioned presets will generate a debug build of Arrow.
```
##########
docs/source/developers/python.rst:
##########
@@ -302,53 +302,15 @@ created above (stored in ``$ARROW_HOME``):
.. code-block::
- $ mkdir arrow/cpp/build
- $ pushd arrow/cpp/build
- $ cmake -DCMAKE_INSTALL_PREFIX=$ARROW_HOME \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DCMAKE_BUILD_TYPE=Debug \
- -DARROW_BUILD_TESTS=ON \
- -DARROW_COMPUTE=ON \
- -DARROW_CSV=ON \
- -DARROW_DATASET=ON \
- -DARROW_FILESYSTEM=ON \
- -DARROW_HDFS=ON \
- -DARROW_JSON=ON \
- -DARROW_PARQUET=ON \
- -DARROW_WITH_BROTLI=ON \
- -DARROW_WITH_BZ2=ON \
- -DARROW_WITH_LZ4=ON \
- -DARROW_WITH_SNAPPY=ON \
- -DARROW_WITH_ZLIB=ON \
- -DARROW_WITH_ZSTD=ON \
- -DPARQUET_REQUIRE_ENCRYPTION=ON \
- ..
- $ make -j4
- $ make install
- $ popd
Review Comment:
(of course you can still find explanation about this in the C++ development section, but I have always found this one an easier example snippet)
##########
docs/source/developers/python.rst:
##########
@@ -302,53 +302,15 @@ created above (stored in ``$ARROW_HOME``):
.. code-block::
- $ mkdir arrow/cpp/build
- $ pushd arrow/cpp/build
- $ cmake -DCMAKE_INSTALL_PREFIX=$ARROW_HOME \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DCMAKE_BUILD_TYPE=Debug \
- -DARROW_BUILD_TESTS=ON \
- -DARROW_COMPUTE=ON \
- -DARROW_CSV=ON \
- -DARROW_DATASET=ON \
- -DARROW_FILESYSTEM=ON \
- -DARROW_HDFS=ON \
- -DARROW_JSON=ON \
- -DARROW_PARQUET=ON \
- -DARROW_WITH_BROTLI=ON \
- -DARROW_WITH_BZ2=ON \
- -DARROW_WITH_LZ4=ON \
- -DARROW_WITH_SNAPPY=ON \
- -DARROW_WITH_ZLIB=ON \
- -DARROW_WITH_ZSTD=ON \
- -DPARQUET_REQUIRE_ENCRYPTION=ON \
- ..
- $ make -j4
- $ make install
- $ popd
-
-There are a number of optional components that can be switched ON by
-adding flags with ``ON``:
-
-* ``ARROW_CUDA``: Support for CUDA-enabled GPUs
-* ``ARROW_DATASET``: Support for Apache Arrow Dataset
-* ``ARROW_FLIGHT``: Flight RPC framework
-* ``ARROW_GANDIVA``: LLVM-based expression compiler
-* ``ARROW_ORC``: Support for Apache ORC file format
-* ``ARROW_PARQUET``: Support for Apache Parquet file format
-* ``PARQUET_REQUIRE_ENCRYPTION``: Support for Parquet Modular Encryption
-
-Anything set to ``ON`` above can also be turned off. Note that some compression
-libraries are recommended for full Parquet support.
-
-You may choose between different kinds of C++ build types:
-
-* ``-DCMAKE_BUILD_TYPE=Release`` (the default) produces a build with optimizations
- enabled and debugging information disabled;
-* ``-DCMAKE_BUILD_TYPE=Debug`` produces a build with optimizations
- disabled and debugging information enabled;
-* ``-DCMAKE_BUILD_TYPE=RelWithDebInfo`` produces a build with both optimizations
- and debugging information enabled.
+ $ cmake -S arrow/cpp -B arrow/cpp/build --preset ninja-release-python
Review Comment:
Also `-DCMAKE_INSTALL_LIBDIR=lib` is in the original example, while not in the preset. Not sure if that needs to be kept as well?
##########
docs/source/developers/python.rst:
##########
@@ -302,53 +302,15 @@ created above (stored in ``$ARROW_HOME``):
.. code-block::
- $ mkdir arrow/cpp/build
- $ pushd arrow/cpp/build
- $ cmake -DCMAKE_INSTALL_PREFIX=$ARROW_HOME \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DCMAKE_BUILD_TYPE=Debug \
- -DARROW_BUILD_TESTS=ON \
- -DARROW_COMPUTE=ON \
- -DARROW_CSV=ON \
- -DARROW_DATASET=ON \
- -DARROW_FILESYSTEM=ON \
- -DARROW_HDFS=ON \
- -DARROW_JSON=ON \
- -DARROW_PARQUET=ON \
- -DARROW_WITH_BROTLI=ON \
- -DARROW_WITH_BZ2=ON \
- -DARROW_WITH_LZ4=ON \
- -DARROW_WITH_SNAPPY=ON \
- -DARROW_WITH_ZLIB=ON \
- -DARROW_WITH_ZSTD=ON \
- -DPARQUET_REQUIRE_ENCRYPTION=ON \
- ..
- $ make -j4
- $ make install
- $ popd
-
-There are a number of optional components that can be switched ON by
-adding flags with ``ON``:
-
-* ``ARROW_CUDA``: Support for CUDA-enabled GPUs
-* ``ARROW_DATASET``: Support for Apache Arrow Dataset
-* ``ARROW_FLIGHT``: Flight RPC framework
-* ``ARROW_GANDIVA``: LLVM-based expression compiler
-* ``ARROW_ORC``: Support for Apache ORC file format
-* ``ARROW_PARQUET``: Support for Apache Parquet file format
-* ``PARQUET_REQUIRE_ENCRYPTION``: Support for Parquet Modular Encryption
-
-Anything set to ``ON`` above can also be turned off. Note that some compression
-libraries are recommended for full Parquet support.
-
-You may choose between different kinds of C++ build types:
-
-* ``-DCMAKE_BUILD_TYPE=Release`` (the default) produces a build with optimizations
- enabled and debugging information disabled;
-* ``-DCMAKE_BUILD_TYPE=Debug`` produces a build with optimizations
- disabled and debugging information enabled;
-* ``-DCMAKE_BUILD_TYPE=RelWithDebInfo`` produces a build with both optimizations
- and debugging information enabled.
+ $ cmake -S arrow/cpp -B arrow/cpp/build --preset ninja-release-python
+ $ cmake --build arrow/cpp/build --target install
+
+``ninja-release-python`` is not the only preset available - if you would like a
+build with more features like CUDA, Flight and Gandiva support you may opt for
+the ``ninja-release-python-maximal`` preset. If you wanted less features, (i.e
Review Comment:
```suggestion
the ``ninja-release-python-maximal`` preset. If you wanted less features, (i.e.
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] MINOR: [Python][Docs] Use CMake presets to simplify Python build installation [arrow]
Posted by "WillAyd (via GitHub)" <gi...@apache.org>.
WillAyd commented on code in PR #41500:
URL: https://github.com/apache/arrow/pull/41500#discussion_r1588479940
##########
docs/source/developers/python.rst:
##########
@@ -303,52 +303,15 @@ created above (stored in ``$ARROW_HOME``):
.. code-block::
$ mkdir arrow/cpp/build
- $ pushd arrow/cpp/build
- $ cmake -DCMAKE_INSTALL_PREFIX=$ARROW_HOME \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DCMAKE_BUILD_TYPE=Debug \
- -DARROW_BUILD_TESTS=ON \
- -DARROW_COMPUTE=ON \
- -DARROW_CSV=ON \
- -DARROW_DATASET=ON \
- -DARROW_FILESYSTEM=ON \
- -DARROW_HDFS=ON \
- -DARROW_JSON=ON \
- -DARROW_PARQUET=ON \
- -DARROW_WITH_BROTLI=ON \
- -DARROW_WITH_BZ2=ON \
- -DARROW_WITH_LZ4=ON \
- -DARROW_WITH_SNAPPY=ON \
- -DARROW_WITH_ZLIB=ON \
- -DARROW_WITH_ZSTD=ON \
- -DPARQUET_REQUIRE_ENCRYPTION=ON \
- ..
- $ make -j4
- $ make install
- $ popd
-
-There are a number of optional components that can be switched ON by
-adding flags with ``ON``:
-
-* ``ARROW_CUDA``: Support for CUDA-enabled GPUs
-* ``ARROW_DATASET``: Support for Apache Arrow Dataset
-* ``ARROW_FLIGHT``: Flight RPC framework
-* ``ARROW_GANDIVA``: LLVM-based expression compiler
-* ``ARROW_ORC``: Support for Apache ORC file format
-* ``ARROW_PARQUET``: Support for Apache Parquet file format
-* ``PARQUET_REQUIRE_ENCRYPTION``: Support for Parquet Modular Encryption
-
-Anything set to ``ON`` above can also be turned off. Note that some compression
-libraries are recommended for full Parquet support.
-
-You may choose between different kinds of C++ build types:
-
-* ``-DCMAKE_BUILD_TYPE=Release`` (the default) produces a build with optimizations
- enabled and debugging information disabled;
-* ``-DCMAKE_BUILD_TYPE=Debug`` produces a build with optimizations
- disabled and debugging information enabled;
-* ``-DCMAKE_BUILD_TYPE=RelWithDebInfo`` produces a build with both optimizations
- and debugging information enabled.
+ $ cmake -S arrow/cpp -B arrow/cpp/build --preset ninja-release-python
+ $ cmake --build arrow/cpp make install
Review Comment:
My mistake - this should be updated
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] MINOR: [Python][Docs] Use CMake presets to simplify Python build installation [arrow]
Posted by "kou (via GitHub)" <gi...@apache.org>.
kou commented on code in PR #41500:
URL: https://github.com/apache/arrow/pull/41500#discussion_r1588470059
##########
docs/source/developers/python.rst:
##########
@@ -303,52 +303,15 @@ created above (stored in ``$ARROW_HOME``):
.. code-block::
$ mkdir arrow/cpp/build
- $ pushd arrow/cpp/build
- $ cmake -DCMAKE_INSTALL_PREFIX=$ARROW_HOME \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DCMAKE_BUILD_TYPE=Debug \
- -DARROW_BUILD_TESTS=ON \
- -DARROW_COMPUTE=ON \
- -DARROW_CSV=ON \
- -DARROW_DATASET=ON \
- -DARROW_FILESYSTEM=ON \
- -DARROW_HDFS=ON \
- -DARROW_JSON=ON \
- -DARROW_PARQUET=ON \
- -DARROW_WITH_BROTLI=ON \
- -DARROW_WITH_BZ2=ON \
- -DARROW_WITH_LZ4=ON \
- -DARROW_WITH_SNAPPY=ON \
- -DARROW_WITH_ZLIB=ON \
- -DARROW_WITH_ZSTD=ON \
- -DPARQUET_REQUIRE_ENCRYPTION=ON \
- ..
- $ make -j4
- $ make install
- $ popd
-
-There are a number of optional components that can be switched ON by
-adding flags with ``ON``:
-
-* ``ARROW_CUDA``: Support for CUDA-enabled GPUs
-* ``ARROW_DATASET``: Support for Apache Arrow Dataset
-* ``ARROW_FLIGHT``: Flight RPC framework
-* ``ARROW_GANDIVA``: LLVM-based expression compiler
-* ``ARROW_ORC``: Support for Apache ORC file format
-* ``ARROW_PARQUET``: Support for Apache Parquet file format
-* ``PARQUET_REQUIRE_ENCRYPTION``: Support for Parquet Modular Encryption
-
-Anything set to ``ON`` above can also be turned off. Note that some compression
-libraries are recommended for full Parquet support.
-
-You may choose between different kinds of C++ build types:
-
-* ``-DCMAKE_BUILD_TYPE=Release`` (the default) produces a build with optimizations
- enabled and debugging information disabled;
-* ``-DCMAKE_BUILD_TYPE=Debug`` produces a build with optimizations
- disabled and debugging information enabled;
-* ``-DCMAKE_BUILD_TYPE=RelWithDebInfo`` produces a build with both optimizations
- and debugging information enabled.
+ $ cmake -S arrow/cpp -B arrow/cpp/build --preset ninja-release-python
+ $ cmake --build arrow/cpp make install
+
+``ninja-release-python`` is not the only preset available - if you would like a
+build with more features like CUDA, Flight and Gandiva support you may opt for
+the ``ninja-release-python-maximal`` preset. If you wanted less features, (i.e
+removing Orc and dataset support) you could opt for
Review Comment:
```suggestion
removing ORC and dataset support) you could opt for
```
##########
docs/source/developers/python.rst:
##########
@@ -303,52 +303,15 @@ created above (stored in ``$ARROW_HOME``):
.. code-block::
$ mkdir arrow/cpp/build
- $ pushd arrow/cpp/build
- $ cmake -DCMAKE_INSTALL_PREFIX=$ARROW_HOME \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DCMAKE_BUILD_TYPE=Debug \
- -DARROW_BUILD_TESTS=ON \
- -DARROW_COMPUTE=ON \
- -DARROW_CSV=ON \
- -DARROW_DATASET=ON \
- -DARROW_FILESYSTEM=ON \
- -DARROW_HDFS=ON \
- -DARROW_JSON=ON \
- -DARROW_PARQUET=ON \
- -DARROW_WITH_BROTLI=ON \
- -DARROW_WITH_BZ2=ON \
- -DARROW_WITH_LZ4=ON \
- -DARROW_WITH_SNAPPY=ON \
- -DARROW_WITH_ZLIB=ON \
- -DARROW_WITH_ZSTD=ON \
- -DPARQUET_REQUIRE_ENCRYPTION=ON \
- ..
- $ make -j4
- $ make install
- $ popd
-
-There are a number of optional components that can be switched ON by
-adding flags with ``ON``:
-
-* ``ARROW_CUDA``: Support for CUDA-enabled GPUs
-* ``ARROW_DATASET``: Support for Apache Arrow Dataset
-* ``ARROW_FLIGHT``: Flight RPC framework
-* ``ARROW_GANDIVA``: LLVM-based expression compiler
-* ``ARROW_ORC``: Support for Apache ORC file format
-* ``ARROW_PARQUET``: Support for Apache Parquet file format
-* ``PARQUET_REQUIRE_ENCRYPTION``: Support for Parquet Modular Encryption
-
-Anything set to ``ON`` above can also be turned off. Note that some compression
-libraries are recommended for full Parquet support.
-
-You may choose between different kinds of C++ build types:
-
-* ``-DCMAKE_BUILD_TYPE=Release`` (the default) produces a build with optimizations
- enabled and debugging information disabled;
-* ``-DCMAKE_BUILD_TYPE=Debug`` produces a build with optimizations
- disabled and debugging information enabled;
-* ``-DCMAKE_BUILD_TYPE=RelWithDebInfo`` produces a build with both optimizations
- and debugging information enabled.
+ $ cmake -S arrow/cpp -B arrow/cpp/build --preset ninja-release-python
+ $ cmake --build arrow/cpp make install
Review Comment:
Hmm. I think that correct build command lines are the followings:
```suggestion
$ cmake --build arrow/cpp/build
$ cmake --install arrow/cpp/build
```
Could you try them?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] MINOR: [Python][Docs] Use CMake presets to simplify Python build installation [arrow]
Posted by "jorisvandenbossche (via GitHub)" <gi...@apache.org>.
jorisvandenbossche commented on code in PR #41500:
URL: https://github.com/apache/arrow/pull/41500#discussion_r1603609341
##########
docs/source/developers/python.rst:
##########
@@ -302,10 +302,24 @@ created above (stored in ``$ARROW_HOME``):
.. code-block::
- $ mkdir arrow/cpp/build
Review Comment:
The mkdir needs to be kept? Or does cmake create that if not yet existing with the `-B` argument?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] MINOR: [Python][Docs] Use CMake presets to simplify Python build installation [arrow]
Posted by "WillAyd (via GitHub)" <gi...@apache.org>.
WillAyd commented on code in PR #41500:
URL: https://github.com/apache/arrow/pull/41500#discussion_r1600516094
##########
docs/source/developers/python.rst:
##########
@@ -302,53 +302,15 @@ created above (stored in ``$ARROW_HOME``):
.. code-block::
- $ mkdir arrow/cpp/build
- $ pushd arrow/cpp/build
- $ cmake -DCMAKE_INSTALL_PREFIX=$ARROW_HOME \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DCMAKE_BUILD_TYPE=Debug \
- -DARROW_BUILD_TESTS=ON \
- -DARROW_COMPUTE=ON \
- -DARROW_CSV=ON \
- -DARROW_DATASET=ON \
- -DARROW_FILESYSTEM=ON \
- -DARROW_HDFS=ON \
- -DARROW_JSON=ON \
- -DARROW_PARQUET=ON \
- -DARROW_WITH_BROTLI=ON \
- -DARROW_WITH_BZ2=ON \
- -DARROW_WITH_LZ4=ON \
- -DARROW_WITH_SNAPPY=ON \
- -DARROW_WITH_ZLIB=ON \
- -DARROW_WITH_ZSTD=ON \
- -DPARQUET_REQUIRE_ENCRYPTION=ON \
- ..
- $ make -j4
- $ make install
- $ popd
-
-There are a number of optional components that can be switched ON by
-adding flags with ``ON``:
-
-* ``ARROW_CUDA``: Support for CUDA-enabled GPUs
-* ``ARROW_DATASET``: Support for Apache Arrow Dataset
-* ``ARROW_FLIGHT``: Flight RPC framework
-* ``ARROW_GANDIVA``: LLVM-based expression compiler
-* ``ARROW_ORC``: Support for Apache ORC file format
-* ``ARROW_PARQUET``: Support for Apache Parquet file format
-* ``PARQUET_REQUIRE_ENCRYPTION``: Support for Parquet Modular Encryption
-
-Anything set to ``ON`` above can also be turned off. Note that some compression
-libraries are recommended for full Parquet support.
-
-You may choose between different kinds of C++ build types:
-
-* ``-DCMAKE_BUILD_TYPE=Release`` (the default) produces a build with optimizations
- enabled and debugging information disabled;
-* ``-DCMAKE_BUILD_TYPE=Debug`` produces a build with optimizations
- disabled and debugging information enabled;
-* ``-DCMAKE_BUILD_TYPE=RelWithDebInfo`` produces a build with both optimizations
- and debugging information enabled.
+ $ cmake -S arrow/cpp -B arrow/cpp/build --preset ninja-release-python
Review Comment:
Nice catch on DCMAKE_INSTALL_PREFIX - will add that back. As far as CMAKE_INSTALL_LIBDIR=lib, that is superfluous since it reflects the [CMake default](https://cmake.org/cmake/help/latest/command/install.html)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] MINOR: [Python][Docs] Use CMake presets to simplify Python build installation [arrow]
Posted by "jorisvandenbossche (via GitHub)" <gi...@apache.org>.
jorisvandenbossche merged PR #41500:
URL: https://github.com/apache/arrow/pull/41500
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org