-
Type: Task
-
Status: To Do (View Workflow)
-
Priority: Low
-
Resolution: Unresolved
-
Affects Version/s: None
-
Fix Version/s: None
-
Component/s: voltctl
-
Labels:None
-
Story Points:0
Recently a manual build of voltctl (v1.8.35) was released to github.
Periodic testing overnight has uncovered a problem:
/home/jenkins/root/workspace/verify_berlin-community-pod-1-gpon-adtran_Default_DT_voltha_master_dmi/bin/voltctl: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by /home/jenkins/root/workspace/verify_berlin-community-pod-1-gpon-adtran_Default_DT_voltha_master_dmi/bin/voltctl)
Missing GNU Libc symbols (GLIBC_2.32) are a hint the build is heavily dependent on the cross compile machine builds were created on.
A similar problem exists in the build system but by chance we have been OK, compile hosts and tests hosts have been running the same basic OS and library versions. If they are built on a newer system and invoked on an older OS missing symbols will be reported.
The (minimum: release) build for voltctl and any other cross-compiled binaries should be hardened to help avoid these types of problems.
Options available:
- Compile with static linkage - larger file size but binary will be self-contained.
- Update to compile for versioned system library calls. If minimum libc dependency is say v2.0 then force compiling for that shared library api version.
Either option will release a set of OS+arch portable binaries.
- links to