-
Notifications
You must be signed in to change notification settings - Fork 3.6k
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
Please allow to use external packages for all dependencies (ex. zstd, flatbuffers, etc) to facilitate packaging #3668
Comments
hi @yurivict what are you asking for exactly? If the user does not have zstd installed, our build system builds the package from source. We should ensure that different kinds of system-level installed packages are properly detected in https://github.com/apache/arrow/blob/master/cpp/cmake_modules/FindZSTD.cmake, though |
There should be a switch to use only external packages, ex. My use case: I would like to create a FreeBSD port for
Users work on some OSes, which nowadays all have packaging systems (maybe except Windows). Packages should be used. And users shouldn't be building individual softwares themselves, they should use pre-built packages provided by their systems. You are trying to cover up the lack of dependency packages when the right way is to have them created. |
Can you please open a JIRA issue? There is also a mailing list thread about improvements to the build system to make packaging for Linux distributions easier (the same concerns apply to FreeBSD)
I think this statement is a little bit judgmental -- we are absolutely not trying to "cover up" anything. Since Arrow is still a relatively new project, we have been concerned with providing a uniform development environment to all developers of the C++ project to help promote forward library development progress. In that we have been objectively successful We don't have enough maintainers to handle support for all of the different third party versions of system libraries on different OS package managers. We have the ExternalProjects set up so that developers are not held back by old packages in their OS PM. This is where we need your help |
JIRA issue: https://issues.apache.org/jira/browse/ARROW-4607 |
I am only a volunteer FreeBSD port maintainer. I identify software that needs to be ported, create ports, and later maintain them. If a particular package is not ready to be ported and requires significant efforts, I can't invest too much time into it, because then I'll become a developer on a large number of software packages. I simply don't have enough resources for this, sorry! Basically, cmake provides all the tools to depend on the external packages. These are cmake scripts and pkg-config instructions. You should just use these tools, as documented in the cmake documentation. |
I agree, though I take issue with the "should" and "just" words here (see http://www.humansystemsinaction.com/lullaby-language/). There is development to do here, and testing. We will also probably need to document which distros have adequate system-level dependencies to build the project, since not all of them do. |
Thanks for opening the JIRA issue. |
Here: https://github.com/apache/arrow/blob/master/cpp/CMakeLists.txt#L218
Based on
Repology
,zstd
packages are available for about every OS: https://repology.org/metapackage/zstd/versionsThe text was updated successfully, but these errors were encountered: