[VL] prefer to use static packaging
- Dominant language
- Scala
- Stars
- 1.6k
- Forks
- 657
- Avg merge
- 2d 21h
- Merged PRs (30d)
- 85
Description
### Description
The dynamic packaging will make a jar with all necessary dependencies for shared libs. On gluten start it will try to extract the libs and then load into JVM.
This method is introduced in early stage of Gluten. The production env is quite different: Cent7, Cent8, Ubuntu 20, Debian, ArchLinux and some customized Linux releases. For different OS the dependencies are different, especially on the library path and the library versions. The code is quite difficult to maintain as Velox is bumping the dependencies.
For better packaging releasing/maintaining, gluten may should pick the static packaging(vcpkg based) so all dependencies are all statically linked and can work on all OS.
Edit:
We need to keep the dynamic packaging method as it's already used in some production env.
CC: @weiting-chen
Thanks,
-yuan
Contributor guide
Research direction
No files, tests, or entry points are named. Start by locating the current dynamic packaging flow and the vcpkg-based static packaging work, then compare dependency and library-path behavior across the listed operating systems; done means static packaging works while the existing dynamic method remains available.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- build-system, operating-systems, release
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100