Skip to content

Conversation

@kou
Copy link
Member

@kou kou commented Feb 25, 2025

Rationale for this change

It seems that FindBoost.cmake in CMake may not set dependencies correctly. Furthermore, it has been removed in CMake 4.0.

What changes are included in this PR?

Enable CMP0167 to use Boost's CMake packages instead of FindBoost.cmake in CMake.

Are these changes tested?

Yes.

Are there any user-facing changes?

No.

@github-actions
Copy link

⚠️ GitHub issue #45614 has been automatically assigned in GitHub to PR creator.

Copy link
Member

@assignUser assignUser left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! In addition to the dependency issues, the built in FindBoost is also deprecated in recent version (that's why the policy exists).

@kou
Copy link
Member Author

kou commented Mar 1, 2025

@github-actions crossbow submit -g wheel

@github-actions

This comment was marked as outdated.

@kou
Copy link
Member Author

kou commented Mar 21, 2025

@github-actions crossbow submit -g wheel

@github-actions

This comment was marked as outdated.

@pitrou
Copy link
Member

pitrou commented Mar 31, 2025

@github-actions crossbow submit -g cpp -g python

@pitrou
Copy link
Member

pitrou commented Mar 31, 2025

@github-actions crossbow submit cp313

@github-actions
Copy link

Revision: aac1fcc

Submitted crossbow builds: ursacomputing/crossbow @ actions-1f84f87ddc

Task Status
example-cpp-minimal-build-static GitHub Actions
example-cpp-minimal-build-static-system-dependency GitHub Actions
example-cpp-tutorial GitHub Actions
example-python-minimal-build-fedora-conda GitHub Actions
example-python-minimal-build-ubuntu-venv GitHub Actions
test-alpine-linux-cpp GitHub Actions
test-build-cpp-fuzz GitHub Actions
test-conda-cpp GitHub Actions
test-conda-cpp-meson GitHub Actions
test-conda-cpp-valgrind GitHub Actions
test-conda-python-3.10 GitHub Actions
test-conda-python-3.10-hdfs-2.9.2 GitHub Actions
test-conda-python-3.10-hdfs-3.2.1 GitHub Actions
test-conda-python-3.10-pandas-latest-numpy-latest GitHub Actions
test-conda-python-3.11 GitHub Actions
test-conda-python-3.11-dask-latest GitHub Actions
test-conda-python-3.11-dask-upstream_devel GitHub Actions
test-conda-python-3.11-hypothesis GitHub Actions
test-conda-python-3.11-pandas-latest-numpy-1.26 GitHub Actions
test-conda-python-3.11-pandas-latest-numpy-latest GitHub Actions
test-conda-python-3.11-pandas-nightly-numpy-nightly GitHub Actions
test-conda-python-3.11-pandas-upstream_devel-numpy-nightly GitHub Actions
test-conda-python-3.11-spark-master GitHub Actions
test-conda-python-3.12 GitHub Actions
test-conda-python-3.12-cpython-debug GitHub Actions
test-conda-python-3.13 GitHub Actions
test-conda-python-3.9 GitHub Actions
test-conda-python-3.9-pandas-1.1.3-numpy-1.19.5 GitHub Actions
test-conda-python-emscripten GitHub Actions
test-cuda-cpp-ubuntu-22.04-cuda-11.7.1 GitHub Actions
test-cuda-python-ubuntu-22.04-cuda-11.7.1 GitHub Actions
test-debian-12-cpp-amd64 GitHub Actions
test-debian-12-cpp-i386 GitHub Actions
test-debian-12-python-3-amd64 GitHub Actions
test-debian-12-python-3-i386 GitHub Actions
test-fedora-39-cpp GitHub Actions
test-fedora-39-python-3 GitHub Actions
test-ubuntu-22.04-cpp GitHub Actions
test-ubuntu-22.04-cpp-20 GitHub Actions
test-ubuntu-22.04-cpp-bundled GitHub Actions
test-ubuntu-22.04-cpp-emscripten GitHub Actions
test-ubuntu-22.04-cpp-no-threading GitHub Actions
test-ubuntu-22.04-python-3 GitHub Actions
test-ubuntu-22.04-python-313-freethreading GitHub Actions
test-ubuntu-24.04-cpp GitHub Actions
test-ubuntu-24.04-cpp-bundled-offline GitHub Actions
test-ubuntu-24.04-cpp-gcc-13-bundled GitHub Actions
test-ubuntu-24.04-cpp-gcc-14 GitHub Actions
test-ubuntu-24.04-cpp-minimal-with-formats GitHub Actions
test-ubuntu-24.04-cpp-thread-sanitizer GitHub Actions
test-ubuntu-24.04-python-3 GitHub Actions

@github-actions
Copy link

Revision: aac1fcc

Submitted crossbow builds: ursacomputing/crossbow @ actions-c37ec9d34c

Task Status
wheel-macos-monterey-cp313-cp313-amd64 GitHub Actions
wheel-macos-monterey-cp313-cp313-arm64 GitHub Actions
wheel-macos-monterey-cp313-cp313t-amd64 GitHub Actions
wheel-macos-monterey-cp313-cp313t-arm64 GitHub Actions
wheel-manylinux-2-28-cp313-cp313-amd64 GitHub Actions
wheel-manylinux-2-28-cp313-cp313-arm64 GitHub Actions
wheel-manylinux-2-28-cp313-cp313t-amd64 GitHub Actions
wheel-manylinux-2-28-cp313-cp313t-arm64 GitHub Actions
wheel-manylinux-2014-cp313-cp313-amd64 GitHub Actions
wheel-manylinux-2014-cp313-cp313-arm64 GitHub Actions
wheel-manylinux-2014-cp313-cp313t-amd64 GitHub Actions
wheel-manylinux-2014-cp313-cp313t-arm64 GitHub Actions
wheel-musllinux-1-2-cp313-cp313-amd64 GitHub Actions
wheel-musllinux-1-2-cp313-cp313-arm64 GitHub Actions
wheel-musllinux-1-2-cp313-cp313t-amd64 GitHub Actions
wheel-musllinux-1-2-cp313-cp313t-arm64 GitHub Actions
wheel-windows-cp313-cp313-amd64 GitHub Actions
wheel-windows-cp313-cp313t-amd64 GitHub Actions

@pitrou
Copy link
Member

pitrou commented Mar 31, 2025

AppVeyor doesn't fail anymore because of Boost, but it now fails later on mimalloc. That will hopefully be fixed by #45979

Copy link
Member

@pitrou pitrou left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1, will merge once CI is green as this is a necessary step for CMake 4.0 compatibility

@pitrou pitrou merged commit a382a1b into apache:main Mar 31, 2025
31 of 33 checks passed
@pitrou pitrou removed the awaiting committer review Awaiting committer review label Mar 31, 2025
@conbench-apache-arrow
Copy link

After merging your PR, Conbench analyzed the 0 benchmarking runs that have been run so far on merge-commit a382a1b.

None of the specified runs were found on the Conbench server.

The full Conbench report has more details.

@kou kou deleted the cpp-cmp0167 branch April 1, 2025 01:33
raulcd pushed a commit that referenced this pull request Apr 7, 2025
### Rationale for this change

We always use `BoostConfig.cmake` by #45623. We don't use `FindBoost.cmake`.

We need to use recent vcpkg to use `BoostConfig.cmake` because old Boost doesn't provide it. 

### What changes are included in this PR?

* Update `vcpkg.json` for `cpp/` and `c_glib/`.
* Always use the latest vcpkg instead of using vcpkg bundled in Visual Studio.
* C++: Don't use gflags for building bundled gRPC because bundled gRPC doens't use gflags.
* C++: Don't define `-D*_EXPORT` macros to `Cflags.private` in `*.pc` because pkgconf 1.7.4 or later uses `--static` by default on Windows. If `--static` is used by default, `*_EXPORT`s are defined for shared linking. It causes link errors. This is a workaround of this.
  * FYI: pkgconf/pkgconf@008d706
* GLib: Add support for finding Apache Arrow C++ by CMake. It's another workaround for the pkgconf problem. If we use CMake, the pkgconf problem isn't related.

### Are these changes tested?

Yes.

### Are there any user-facing changes?

Yes.
* GitHub Issue: #45994

Authored-by: Sutou Kouhei <kou@clear-code.com>
Signed-off-by: Raúl Cumplido <raulcumplido@gmail.com>
assignUser pushed a commit that referenced this pull request Apr 7, 2025
### Rationale for this change

We always use `BoostConfig.cmake` by #45623. We don't use `FindBoost.cmake`.

We need to use recent vcpkg to use `BoostConfig.cmake` because old Boost doesn't provide it. 

### What changes are included in this PR?

* Update `vcpkg.json` for `cpp/` and `c_glib/`.
* Always use the latest vcpkg instead of using vcpkg bundled in Visual Studio.
* C++: Don't use gflags for building bundled gRPC because bundled gRPC doens't use gflags.
* C++: Don't define `-D*_EXPORT` macros to `Cflags.private` in `*.pc` because pkgconf 1.7.4 or later uses `--static` by default on Windows. If `--static` is used by default, `*_EXPORT`s are defined for shared linking. It causes link errors. This is a workaround of this.
  * FYI: pkgconf/pkgconf@008d706
* GLib: Add support for finding Apache Arrow C++ by CMake. It's another workaround for the pkgconf problem. If we use CMake, the pkgconf problem isn't related.

### Are these changes tested?

Yes.

### Are there any user-facing changes?

Yes.
* GitHub Issue: #45994

Authored-by: Sutou Kouhei <kou@clear-code.com>
Signed-off-by: Raúl Cumplido <raulcumplido@gmail.com>
zanmato1984 pushed a commit to zanmato1984/arrow that referenced this pull request Apr 15, 2025
….cmake in CMake (apache#45623)

### Rationale for this change

It seems that `FindBoost.cmake` in CMake may not set dependencies correctly. Furthermore, it has been removed in CMake 4.0.

### What changes are included in this PR?

Enable `CMP0167` to use Boost's CMake packages instead of `FindBoost.cmake` in CMake.

### Are these changes tested?

Yes.

### Are there any user-facing changes?

No.

* GitHub Issue: apache#45614
* Closes: apache#45966

Lead-authored-by: Sutou Kouhei <kou@clear-code.com>
Co-authored-by: Antoine Pitrou <antoine@python.org>
Signed-off-by: Antoine Pitrou <antoine@python.org>
zanmato1984 pushed a commit to zanmato1984/arrow that referenced this pull request Apr 15, 2025
…pache#46006)

### Rationale for this change

We always use `BoostConfig.cmake` by apache#45623. We don't use `FindBoost.cmake`.

We need to use recent vcpkg to use `BoostConfig.cmake` because old Boost doesn't provide it. 

### What changes are included in this PR?

* Update `vcpkg.json` for `cpp/` and `c_glib/`.
* Always use the latest vcpkg instead of using vcpkg bundled in Visual Studio.
* C++: Don't use gflags for building bundled gRPC because bundled gRPC doens't use gflags.
* C++: Don't define `-D*_EXPORT` macros to `Cflags.private` in `*.pc` because pkgconf 1.7.4 or later uses `--static` by default on Windows. If `--static` is used by default, `*_EXPORT`s are defined for shared linking. It causes link errors. This is a workaround of this.
  * FYI: pkgconf/pkgconf@008d706
* GLib: Add support for finding Apache Arrow C++ by CMake. It's another workaround for the pkgconf problem. If we use CMake, the pkgconf problem isn't related.

### Are these changes tested?

Yes.

### Are there any user-facing changes?

Yes.
* GitHub Issue: apache#45994

Authored-by: Sutou Kouhei <kou@clear-code.com>
Signed-off-by: Raúl Cumplido <raulcumplido@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[C++][CI] Appveyor job fails to build boost

3 participants