ChenSammi commented on PR #10513: URL: https://github.com/apache/ozone/pull/10513#issuecomment-4765817085
> Thanks @ChenSammi for working on this. This change makes the build output depend on user's environment (OS, architecture). As discussed in #10305, this decision should be made at runtime, not build time. Build output should include all available libs, so user downloading binary tarball can use it on all platforms. (We also use the same tarball for creating Ozone Docker image.) @adoroszlai , thanks for the review. These are the observations when I run ozone in docker in Mac M1, 1. the ozone docker is linux arm64. Both linux arm64 and x86_64 expects hadoop library with name "libhadoop.so", this symbolic file is created during build time. So it cannot support both arm64 and x86_64 at build time. Unless we move the symbolic creation at run time, but still need to detect the os/architecture at runtime. 2. The current build script, it supports auto detect os/architecture, also supports cross platform build with -P, which is needed for debug environment like mine. 3. I inspected the hadoop release package, it has normal bin package, and arm64 bin package, each only carries the native libraries for it's architecture. I feel this way is very clean. Is there any obvious benefit that mixing all platform native libraries together in one tarball? -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
