Skip to content
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

[vcpkg baseline] [proxygen] Fix ci pipeline error #44232

Draft
wants to merge 9 commits into
base: master
Choose a base branch
from

Conversation

LilyWangLL
Copy link
Contributor

@LilyWangLL LilyWangLL commented Mar 7, 2025

proxygen failed on due to folly on https://dev.azure.com/vcpkg/public/_build/results?buildId=113027&view=results.

Due to the new version of folly add some new codes by commit facebook/folly@70669ee, it uses the codes from liburing's commit axboe/liburing@ce3a657, the liburing in vcpkg does not include this commit, and this commit has not been released in the latest liburing either, so I update liburing and sync the upstream changes to vcpkg.

Fix the following error:

/mnt/vcpkg-ci/installed/x64-linux/include/folly/io/async/IoUringZeroCopyBufferPool.h:53:38: error: ‘io_uring_zcrx_cqe’ does not name a type; did you mean ‘io_uring_cqe’?
   53 |       const io_uring_cqe* cqe, const io_uring_zcrx_cqe* rcqe) noexcept;
      |                                      ^~~~~~~~~~~~~~~~~
      |                                      io_uring_cqe
/mnt/vcpkg-ci/installed/x64-linux/include/folly/io/async/IoUringZeroCopyBufferPool.h:89:3: error: ‘io_uring_zcrx_rq’ does not name a type; did you mean ‘io_uring_cq’?
   89 |   io_uring_zcrx_rq rqRing_;
      |   ^~~~~~~~~~~~~~~~
      |   io_uring_cq
  • 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.

@LilyWangLL LilyWangLL added category:port-bug The issue is with a library, which is something the port should already support info:internal This PR or Issue was filed by the vcpkg team. category:port-update The issue is with a library, which is requesting update new revision labels Mar 7, 2025
@LilyWangLL LilyWangLL changed the title [vcpkg baseline] Fix folly install failed [vcpkg baseline] [proxygen] Fix ci pipeline error Mar 7, 2025
@JavierMatosD
Copy link
Contributor

JavierMatosD commented Mar 7, 2025

https://github.com/microsoft/vcpkg/blob/master/ports/cachelib/vcpkg.json#L13

cachelib depends on folly with libaio feature turned on which now doesn't exist. Is the folly vendoring liburing?

@LilyWangLL
Copy link
Contributor Author

LilyWangLL commented Mar 10, 2025

Is the folly vendoring liburing?

The upstream determines whether the header file of liburing exists through the following __has_include code, so CMAKE_DISABLE_FIND_PACKAGE does not work here.

#if defined(__linux__) && __has_include(<liburing.h>)

libaio is same with liburing.

#if __has_include(<libaio.h>)

@dg0yt
Copy link
Contributor

dg0yt commented Mar 10, 2025

cachelib depends on folly with libaio feature turned on which now doesn't exist.

"libaio": {
"description": "Support compile with libaio",
"supports": "linux",
"dependencies": [
"libaio"
]
},

The upstream determines whether the header file of liburing exists through the following __has_include code,

__has_include ... has been a source of problems in the past.
It may detect system headers, and it may detect installed ports which are not declared as a direct dependency, leading to installation order issues for cached artifacts.

@LilyWangLL
Copy link
Contributor Author

folly has a bug about use codes from liburing, it causes some compile errors, I have submmited an issue on upstream: facebook/folly#2396.

@LilyWangLL
Copy link
Contributor Author

folly has a bug about use codes from liburing, it causes some compile errors, I have submmited an issue on upstream: facebook/folly#2396.

The pipeline failure is this bug.

/mnt/vcpkg-ci/b/folly/src/5.03.03.00-5fe3445a7a.clean/folly/io/async/IoUringZeroCopyBufferPool.h:88:3: error: ‘io_uring_zcrx_rq’ does not name a type; did you mean ‘io_uring_zcrx_rqe’?
   88 |   io_uring_zcrx_rq rqRing_;
      |   ^~~~~~~~~~~~~~~~
      |   io_uring_zcrx_rqe
/mnt/vcpkg-ci/b/folly/src/5.03.03.00-5fe3445a7a.clean/folly/io/async/IoUringZeroCopyBufferPool.cpp: In constructor ‘folly::IoUringZeroCopyBufferPool::IoUringZeroCopyBufferPool(folly::IoUringZeroCopyBufferPool::Params)’:
/mnt/vcpkg-ci/b/folly/src/5.03.03.00-5fe3445a7a.clean/folly/io/async/IoUringZeroCopyBufferPool.cpp:73:5: error: ‘rqRing_’ was not declared in this scope; did you mean ‘ring_’?
   73 |     rqRing_.khead = nullptr;
      |     ^~~~~~~
      |     ring_

@JavierMatosD
Copy link
Contributor

JavierMatosD commented Mar 11, 2025

I think we need to either patch this to avoid __has_include_ or force the optional dependency on.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category:port-bug The issue is with a library, which is something the port should already support category:port-update The issue is with a library, which is requesting update new revision info:internal This PR or Issue was filed by the vcpkg team.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants