Skip to content

[arrow] Update to 17.0.0#39948

Closed
raulcd wants to merge 2 commits intomicrosoft:masterfrom
raulcd:arrow-17.0.0
Closed

[arrow] Update to 17.0.0#39948
raulcd wants to merge 2 commits intomicrosoft:masterfrom
raulcd:arrow-17.0.0

Conversation

@raulcd
Copy link
Copy Markdown
Contributor

@raulcd raulcd commented Jul 16, 2024

  • Changes comply with the maintainer guide.
  • SHA512s are updated for each updated download.
  • The "supports" clause reflects platforms that may be fixed by this new version.
  • Any fixed CI baseline entries are removed from that file.
  • Any patches that are no longer applied are deleted from the port's directory.
  • The version database is fixed by rerunning ./vcpkg x-add-version --all and committing the result.
  • Only one version is added to each modified port's versions file.

@raulcd raulcd force-pushed the arrow-17.0.0 branch 3 times, most recently from 442474f to 99fe30f Compare July 16, 2024 17:01
@MonicaLiu0311 MonicaLiu0311 added the category:port-update The issue is with a library, which is requesting update new revision label Jul 17, 2024
@MonicaLiu0311
Copy link
Copy Markdown
Contributor

I got the following error when testing the cuda feature:

CMake Error at scripts/cmake/vcpkg_fixup_pkgconfig.cmake:134 (message):
  G:/arrow/downloads/tools/msys2/1e74ca60daa10104/mingw64/bin/pkg-config.exe
  --exists arrow-cuda failed with error code: 1

      ENV{PKG_CONFIG_PATH}: "G:/arrow/packages/arrow_x64-windows/lib/pkgconfig;G:/arrow/packages/arrow_x64-windows/share/pkgconfig;G:/arrow/installed/x64-windows/lib/pkgconfig;G:/arrow/installed/x64-windows/share/pkgconfig"
      output: Package cuda was not found in the pkg-config search path.

  Perhaps you should add the directory containing `cuda.pc'

  to the PKG_CONFIG_PATH environment variable

  Package 'cuda', required by 'arrow-cuda', not found
Call Stack (most recent call first):
  scripts/cmake/vcpkg_fixup_pkgconfig.cmake:196 (z_vcpkg_fixup_pkgconfig_check_files)
  ports/arrow/portfile.cmake:71 (vcpkg_fixup_pkgconfig)
  scripts/ports.cmake:192 (include)

@raulcd
Copy link
Copy Markdown
Contributor Author

raulcd commented Jul 18, 2024

@kou any idea?

@raulcd
Copy link
Copy Markdown
Contributor Author

raulcd commented Jul 18, 2024

ok, it seems the cuda dependency:

# This package doesn't install CUDA. It instead verifies that CUDA is installed.
doesn't really install cuda.
So cuda should be installed as a system dependency.
At this point, we might want to remove the arrow-cuda feature, thoughts?

Copy link
Copy Markdown
Contributor

@kou kou left a comment

Choose a reason for hiding this comment

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

@MonicaLiu0311 Can CUDA be found with other port? I want to know that the CUDA not found error is only caused with this port.

FYI: Apache Arrow uses the standard find_package(CUDAToolkit REQUIRED): https://github.com/apache/arrow/blob/apache-arrow-17.0.0/cpp/src/arrow/gpu/CMakeLists.txt#L44
FindCUDAToolkit.cmake is included in CMake.

If it doesn't work with vcpkg, we may want to improve the cuda port.

Comment thread ports/arrow/android.patch
Copy link
Copy Markdown
Contributor

@kou kou Jul 19, 2024

Choose a reason for hiding this comment

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

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

@kou I think this is not the URL you wanted to share here :) so I am not sure what you wanted us to remove here

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Oh... Sorry... I've fixed the URL...
I wanted to show the latest code about this...

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I did update the patch to apply, it is still required because:

-if(NOT WIN32 AND NOT APPLE)
+if(NOT WIN32 AND NOT APPLE AND NOT ANDROID)

is necessary

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

this is just the update to apply, not something that we will modify (because it was modified on Arrow):

   list(APPEND ARROW_SYSTEM_LINK_LIBS "ws2_32.dll")
   list(APPEND ARROW_SYSTEM_LINK_LIBS "ws2_32")

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Ah, I see. I was wrong. Diff's diff is difficult to review...

Anyway, let's upstream and remove this patch in a future release: apache/arrow#43390

@dg0yt
Copy link
Copy Markdown
Contributor

dg0yt commented Jul 19, 2024

@kou The error is from vcpkg_fixup_pkgconfig after the actual build. It points to the fact that arrow installs arrow-cuda.pc which refers to cuda.pc file even if such a file doesn't exist. That's why this error occurs only for arrow.

Obviously, cuda.pc should come with CUDA. Maybe CUDA does not provide pc files for Windows?

Possible fixes and workarounds.

  • Make port cuda add a cuda.pc if it is missing.
  • Remove cuda from Requires[.private] in arrow-cuda.pc (but ensure proper link Libs[.private]).
  • Remove arrow-cuda.pc for Windows.

@kou
Copy link
Copy Markdown
Contributor

kou commented Jul 19, 2024

Ah, I got it.

I downloaded the CUDA package for Windows https://developer.nvidia.com/cuda-downloads?target_os=Windows&target_arch=x86_64&target_version=11&target_type=exe_local and checked the content. It doesn't provide cuda.pc...

Can we keep the current configuration as-is for now? We will stop installing arrow-cuda.pc on Windows in upstream. So the cuda feature will work on Windows with Apache Arrow 18.0.0.

@MonicaLiu0311
Copy link
Copy Markdown
Contributor

@MonicaLiu0311 Can CUDA be found with other port? I want to know that the CUDA not found error is only caused with this port.

PS G:\vcpkg> ./vcpkg install pcl[cuda] --recurse
Computing installation plan...
The following packages are already installed:
    pcl[core,cuda]:x64-windows@1.14.1
pcl:x64-windows is already installed
Total install time: 1.74 ms
The package pcl provides CMake targets:

    find_package(PCL CONFIG REQUIRED)
    target_link_libraries(main PRIVATE ${PCL_LIBRARIES})

@kou
Copy link
Copy Markdown
Contributor

kou commented Jul 22, 2024

Thanks.
It also shows that #39948 (comment) is right.
And #39948 (comment) is my suggestion to move forward this.

@MonicaLiu0311 MonicaLiu0311 marked this pull request as draft August 6, 2024 08:17
@MonicaLiu0311
Copy link
Copy Markdown
Contributor

Convert this PR to draft since there is no progress. Please ping us if this PR is ready for review again.

@raulcd
Copy link
Copy Markdown
Contributor Author

raulcd commented Aug 6, 2024

Convert this PR to draft since there is no progress. Please ping us if this PR is ready for review again.

@MonicaLiu0311 from my understanding @kou was asking you if we could keep the PR as is as this will get solved on 18.0.0, so I was just waiting for your feedback.

@MonicaLiu0311
Copy link
Copy Markdown
Contributor

MonicaLiu0311 commented Aug 6, 2024

Convert this PR to draft since there is no progress. Please ping us if this PR is ready for review again.

@MonicaLiu0311 from my understanding @kou was asking you if we could keep the PR as is as this will get solved on 18.0.0, so I was just waiting for your feedback.

Sorry I missed this message. Please resolve the conflict and I will continue reviewing.

@raulcd
Copy link
Copy Markdown
Contributor Author

raulcd commented Aug 7, 2024

ok, it seems a PR (with exactly the same changes as this original PR) was merged last week: #40164
I am closing this one now.

@raulcd raulcd closed this Aug 7, 2024
@raulcd raulcd deleted the arrow-17.0.0 branch August 7, 2024 08:58
@dg0yt dg0yt mentioned this pull request Aug 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

category:port-update The issue is with a library, which is requesting update new revision

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants