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

[Packaging][Conan] Clarification on "auto"option values in Conan recipe for Arrow C++ Library #40979

Closed
danimtb opened this issue Apr 3, 2024 · 2 comments
Labels
Component: C++ Type: usage Issue is a user question

Comments

@danimtb
Copy link

danimtb commented Apr 3, 2024

Describe the usage question you have. Please include as many useful details as possible.

Hey Arrow Project Team!

My name is Dani, I'm a Conan developer working on the Conan recipe for the Arrow C++ library in at the Conan central repository https://github.com/conan-io/conan-center-index.

We've been streamlining the options management in the recipe as we have received some issues in the past, so we are aiming to make things simpler and more user-friendly. As part of this process, we've noticed some quirks with the "auto" values for certain options and we are hesitant about its behavior as we do not have a deep knowledge of the arrow cpp build intrinsics

For example, the options "with_jemalloc" has an auto behavior of setting its value to True on BSD systems. Making this option False by default now would cause any kind of trouble? Should it be True for such platform?

I would like to get some support in this way at the PR conan-io/conan-center-index#23163 were we are working on the changes, specficically regarding the confirmation of the following behaviors:

# Warn/error on some option values
        if not self.options.with_boost:
            if self.options.gandiva:
                self.output.warning("Option 'with_boost=True' could be required when option 'gandiva=True'")
        if not self.options.with_re2:
            if self.options.gandiva or self.options.parquet:
                self.output.warning("Option 'with_re2=True' could be required when option 'gandiva=True' or 'parquet=True'")
            if self.options.compute or self.options.dataset_modules:
                self.output.warning("Option 'with_re2=True' could be required when 'compute=True' or 'dataset_modules=True'")
        if not self.options.with_jemalloc:
            if "BSD" in self.settings.os:
                self.output.warning("Option 'with_jemalloc=True' could be required for BSD in settings.os")

I have noticed that the conan recipe it is also included in this repository and updated from conan-center-index from time to time. For that reason as well we would like to align on this refactor of option to avoid creating any further trouble to anyone.

Thanks a bunch for your time and support.

Cheers!

Component(s)

C++

@danimtb danimtb added the Type: usage Issue is a user question label Apr 3, 2024
@kou kou changed the title Clarification on "auto"option values in Conan recipe for Arrow C++ Library [Packaging][Conan] Clarification on "auto"option values in Conan recipe for Arrow C++ Library Apr 4, 2024
@kou
Copy link
Member

kou commented Apr 5, 2024

Thanks for working on this!

For example, the options "with_jemalloc" has an auto behavior of setting its value to True on BSD systems. Making this option False by default now would cause any kind of trouble? Should it be True for such platform?

We can use False as the default value for all platforms. But we recommend using jemalloc as much as possible on jemalloc available platforms. Because jemalloc is faster than system memory allocator in general.

I would like to get some support in this way at the PR conan-io/conan-center-index#23163 were we are working on the changes, specficically regarding the confirmation of the following behaviors:

Should we support this work on the PR instead of here?

Then we can close this issue and comment on the PR.

@danimtb
Copy link
Author

danimtb commented Apr 5, 2024

Hi @kou!

Thanks a lot for the response. Indeed, we can continue the conversation at conan-io/conan-center-index#23163, I see you already commented there.

Thanks!

@danimtb danimtb closed this as completed Apr 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Component: C++ Type: usage Issue is a user question
Projects
None yet
Development

No branches or pull requests

2 participants