Skip to content
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

(FFM-6483) Wider linux kernel support #129

Merged
merged 1 commit into from
Jan 18, 2023
Merged

Conversation

conormurray95
Copy link
Contributor

@conormurray95 conormurray95 commented Jan 17, 2023

Issue
When running an ubuntu 20.04 image on a centos7 machine with linux kernel 3.10 we run into this fairly common linux kernel issue of error while loading shared libraries: libQt5Core.so.5: cannot open shared object file: No such file or directory. This comes when launching our pushpin dependency.

This errors on kernel versions 3.10 because that kernel is incompatible with libQt5Core.so.5 which is only compatible with kernels 3.17 and above. These .note.ABI tags trigger compatibility checks by the linker when loaded. Stripping this tag out only disables the check by the dynamic linker for the kernel version to be at least as high and has no other effects. See this discussion and the many pr's that reference it. This and a multitude of forums/articles/github issues all had this same suggested workaround to remove these tags and prevent the kernel refusing to start over incompatibilities in parts of OS libraries we don't need or use.

Other changes
Also bumped our pushpin version and we now pull the focal version instead of the bionic one to be consistent, though both work fine.

Note
The only thing I'm unclear on and investigating is why this is an issue with ubuntu:20.04 but wasn't with ubuntu:18.04 for us, it's more for curiosity because the proposed solution I have here seems to be the standard workaround on every repo I've seen encounter it. It appears the answer is that some of these OS level dependencies changed between these ubuntu OS versions and that's why it's now being pulled into the dynamic linker when running on ubuntu:20.04 when it wasn't on ubuntu:18.04 and triggering this issue.

Testing
Tested that this new image runs successfully on centos7 machines with a linux 3.10 kernel as well as on regular aws linux2 AMI

@conormurray95 conormurray95 force-pushed the FFM-6483-centos7-support branch from 7ce485b to 6d6ba58 Compare January 17, 2023 14:34
@conormurray95 conormurray95 force-pushed the FFM-6483-centos7-support branch from 6d6ba58 to 7e4a262 Compare January 17, 2023 16:01
@conormurray95 conormurray95 changed the title (FFM-6483) Update dockerfile (FFM-6483) Wider linux kernel support Jan 17, 2023
Copy link
Contributor

@davejohnston davejohnston left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@conormurray95
Copy link
Contributor Author

Tested using the official aws marketplace centos7 ami which runs Linux kernel 3.10.0-1160.76.1.el7.x86_64 and now functions correctly.
Also sanity tested using Amazon Linux 2 OS on kernel 5.10 and and ECS fargate instance to verify no regressions in addition to our regular e2e test suite.

@conormurray95 conormurray95 merged commit 3103f4f into main Jan 18, 2023
@jcox250 jcox250 deleted the FFM-6483-centos7-support branch October 7, 2024 09:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants