apache / arrow

Apache Arrow is the universal columnar format and multi-language toolbox for fast data interchange and in-memory analytics
https://arrow.apache.org/
Apache License 2.0
14.5k stars 3.53k forks source link

[Packaging] Amazon Linux 2 RPMs - openssl-devel cannot coexist with openssl11-devel and breaks installing arrow-devel #33733

Open ziggythehamster opened 1 year ago

ziggythehamster commented 1 year ago

Describe the bug, including details regarding any error messages, version, and platform.

The arrow-devel package depends on openssl-devel on RPM-based distros. On Amazon Linux 2, openssl-devel and openssl11-devel cannot coexist, thus you cannot install arrow-devel on a system that has openssl11-devel installed.

Arrow seems to support OpenSSL 1.0 and 1.1, but is built with OpenSSL 1.0 on Amazon Linux 2, and would depend on the OpenSSL 1.0 headers installed by openssl-devel (so you couldn't simply make the requirement be either one). Perhaps there needs to be an arrow-openssl11-devel on Amazon Linux 2?

Component(s)

Packaging

kou commented 1 year ago

In your use case, what packages depend on openssl11-devel?

kou commented 1 year ago

Why do you need arrow-devel? It's for red-arrow gem?

ziggythehamster commented 1 year ago

In your use case, what packages depend on openssl11-devel?

Several internal packages require it. It would have been better for AL2 to ship the headers in an alternate prefix so that openssl11-devel and openssl-devel can coexist :(.

Why do you need arrow-devel? It's for red-arrow gem?

This is the main dependency.

kou commented 1 year ago

OK. We can remove arrow-devel after we install red-arrow gem. Does gem install red-arrow && yum remove -y arrow-devel work with your use case?

ziggythehamster commented 1 year ago

In my case, no, because I would first have to uninstall openssl11-devel (and anything already installed in my base image that depends on it) and then put it back when I'm done.