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

libfabric: migrate to Conan v2, add missing dependencies #18979

Merged
merged 31 commits into from
Sep 2, 2024

Conversation

valgur
Copy link
Contributor

@valgur valgur commented Jul 31, 2023

Requires, optionally

closes #19361

@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@stale
Copy link

stale bot commented Oct 15, 2023

This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

Co-authored-by: PerseoGI <perseog@jfrog.com>
@conan-center-bot

This comment has been minimized.

perseoGI
perseoGI previously approved these changes Aug 27, 2024
@uilianries uilianries self-assigned this Aug 28, 2024
if self.options.get_safe('with_libnl') and not os.path.isdir(str(self.options.with_libnl)):
raise ConanInvalidConfiguration("Value of with_libnl must be an existing directory")
if self.settings.os == "Windows":
raise ConanInvalidConfiguration("libfabric is not available on Windows")
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
raise ConanInvalidConfiguration("libfabric is not available on Windows")
# FIXME: libfabric provides msbuild project files.
raise ConanInvalidConfiguration(f"{self.ref} Conan recipes is not supported on Windows. Contributions are welcome.")

The project provides msbuild files, but is not something to be done in this PR. Otherwise it will be too much.

}
"shared": [True, False],
"fPIC": [True, False],
**{ p: ["yes", "no", "dl"] for p in _providers },
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
**{ p: ["yes", "no", "dl"] for p in _providers },
**{ p: [None, "ANY"] for p in _providers },

I would suggest using any in this case, as users may pass the path of the provider, not related to a loadable library (dl:path), it could be static as well.

--enable-bgq[=yes|no|auto|dl|PATH|dl:PATH]
Enable bgq provider [default=auto] (yes: enable bgq
provider; no: disable bgq provider; auto: enable bgq
provider if possible; dl: enable bgq provider and
build as a loadable library; PATH: enable bgq
provider and use bgq installed under PATH; dl:PATH:
enable bgq provider and build as a loadable library
and use bgq installed under PATH)

"fPIC": True,
"cxi": "no", # library not available on CCI
"dmabuf_peer_mem": "yes",
"efa": "yes",
Copy link
Member

Choose a reason for hiding this comment

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

I also dislike "auto" as it may result in not reproducible scenarios (we had bugs in CCI), but where in the upstream did you find those default values?

I searched in other package managers too and most of them don't manage those options. Only Gentoo and Ubunut I found doing some configuration:

Copy link
Contributor Author

@valgur valgur Aug 28, 2024

Choose a reason for hiding this comment

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

I enabled all features that are not blocked by external dependencies. I agree that it should instead match the project defaults. It was nice to see that they passed in CI at least, though.

@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

Signed-off-by: Uilian Ries <uilianries@gmail.com>
Signed-off-by: Uilian Ries <uilianries@gmail.com>
Signed-off-by: Uilian Ries <uilianries@gmail.com>
Signed-off-by: Uilian Ries <uilianries@gmail.com>
Signed-off-by: Uilian Ries <uilianries@gmail.com>
Signed-off-by: Uilian Ries <uilianries@gmail.com>
Signed-off-by: Uilian Ries <uilianries@gmail.com>
Signed-off-by: Uilian Ries <uilianries@gmail.com>
@uilianries
Copy link
Member

I did some changes over this PR, including:

  • Removed options that not supported in CCI: cxi, opx, psm2, psm3 and xpmem
  • Change option values to None, "ANY", as users can pass "path" and "dl:<path" for providers
  • Improved msvc configuration error message as the upstream make msbuild files available
  • Enabled verbs by default, it did not fail for me locally, using CCI containers

@conan-center-bot
Copy link
Collaborator

Conan v1 pipeline ✔️

All green in build 14 (3a9c8e60389a35ac18710e0754bf97515940af79):

  • libfabric/1.21.0:
    All packages built successfully! (All logs)

Conan v2 pipeline ✔️

Note: Conan v2 builds are now mandatory. Please read our discussion about it.

All green in build 13 (3a9c8e60389a35ac18710e0754bf97515940af79):

  • libfabric/1.21.0:
    All packages built successfully! (All logs)

@uilianries uilianries requested a review from perseoGI September 2, 2024 13:07
@conan-center-bot conan-center-bot merged commit badc062 into conan-io:master Sep 2, 2024
12 checks passed
OMGtechy pushed a commit to OMGtechy/conan-center-index that referenced this pull request Dec 31, 2024
…cies

* libfabric: migrate to Conan v2

* libfabric: explicitly disable providers that cannot be built by default

* libfabric: add v1.18.1

* libfabric: opx also requires rdma-core

* libfabric: add libatomic system dependency

* libfabric: macOS does not support `shm`

* libfabric: macOS does not support `sm2`

* libfabric: fix libatomic system dep

* libfabric: do not ignore libcxx for libatomic

* libfabric: workaround for linter error

* libfabric: fix typo

* libfabric: add libatomic for both gcc and clang

* libfabric: fix_apple_shared_install_name()

* libfabric: bump to v1.21.0, drop v1.12.1, remove 'auto' options

* libfabric: disable 'verbs'

* libfabric: fix invalid default configurations on macOS

* libfabric: fix a linter error

* libfabric: fix a missing option error

* libfabric: fix a linter error

* libfabric: fix a minor recipe bug

* libfabric: add VirtualRunEnv for Conan v1

* libfabric: use get_safe()

Co-authored-by: PerseoGI <perseog@jfrog.com>

* Improve Windows invalid config message

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* Use None ANY for providers

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* Remove psm option

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* Remove xpmem and cxi

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* Improve verbs invalid configuration message

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* Remove opx

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* Disable bgq

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* Enable verbs and disable others

Signed-off-by: Uilian Ries <uilianries@gmail.com>

---------

Signed-off-by: Uilian Ries <uilianries@gmail.com>
Co-authored-by: PerseoGI <perseog@jfrog.com>
Co-authored-by: Uilian Ries <uilianries@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[request] libfabric/1.13.2 to 1.18.1
5 participants