Project

General

Profile

Bug #4389

ansible: osmo-gsm-tester host needs patchelf > 0.9.1

Added by pespin about 2 months ago. Updated about 2 months ago.

Status:
Feedback
Priority:
Normal
Assignee:
Target version:
-
Start date:
02/05/2020
Due date:
% Done:

90%

Spec Reference:

Description

So today while patching srsue with debian 9 (which ships with package patchelf 0.9-1+b1), I got into following issue:

$ patchelf --set-rpath /osmo-gsm-tester-srsue/srslte/lib /osmo-gsm-tester-srsue/srslte/bin/srsue
warning: working around a Linux kernel bug by creating a hole of 124461056 bytes in ‘/osmo-gsm-tester-srsue/srslte/bin/srsue’
maximum file size exceeded

The command returns 1 and the rpath is not changed.

reading a bit about the issue it seems to be a known patchelf bug fixed in newer versions: https://github.com/NixOS/patchelf/issues/47

I had to test with a newer patchelf to have it working: version 0.9+52 which ships in current stable (buster, debian 10).
https://packages.debian.org/buster/amd64/patchelf

So I already installed that deb package (patchelf_0.9+52.20180509-1_amd64.deb) into osmo-gsm-tester Prod setup slave host (where we run stuff like srsue and osmo-trx) since that's where it's needed.

This task is created as a reminder to add that manual installation of the package in ansible (osmo-ci.git).

Update:
It seems that 0.9+52 is causing issues on srsepc binary, during run, it fails with:

Inconsistency detected by ld.so: dl-version.c: 224: _dl_check_map_versions: Assertion `needed != NULL' failed

Same goes for patchelf_0.10-2_amd64.deb.

So it seems we might need to patch 0.9+1 with https://github.com/NixOS/patchelf/commit/f6886c2c33a1cf8771163919f3d20f6340c0ce38 ?

History

#1 Updated by pespin about 2 months ago

It seems srsepc is not happy with newer patchelf while srsue requires a newer patchelf... we may end up with 2 installed patchelf...

#2 Updated by pespin about 2 months ago

since srsue does stuff with netns, we may need to be root anyway, so it may not be worth it.

#3 Updated by laforge about 2 months ago

On Wed, Feb 05, 2020 at 06:29:17PM +0000, pespin [REDMINE] wrote:

It seems srsepc is not happy with newer patchelf while srsue requires a newer patchelf... we may end up with 2 installed patchelf...

Isn't this something that should be filed as upstream bug [and hopefully resolved upstream]?

#4 Updated by pespin about 2 months ago

Confirmed: I'm currently using last released tarball for srspec and still must use old debian9 patchelf to hav eeverything working.
Indeed, I need to investigate and submit the bug appearing on new release to upstream (the old one is known and fixed in the new release).

While it's not fixed, we must build and install manually the new release and use it only for srsue (I already added code to osmo-gsm-tester to support that).

#5 Updated by pespin about 2 months ago

I created an upstream bug here, since the issue is still present in current patchelf master:
https://github.com/NixOS/patchelf/issues/192

#6 Updated by pespin about 2 months ago

  • Status changed from New to Feedback
  • % Done changed from 0 to 90

We are meanwhile requiring a manually built patchelf-0.10 only used so far to patch srsue. It's add to ansible scripts here:
https://gerrit.osmocom.org/c/osmo-ci/+/17128

Most binaries (osmo-ggsn, rest of srs binaries) are patched with patchelf 0.9-1 coming with debian9. If at some point we move to debian10, then we need to build manually a patchelf 0.9 and use it at least for srsepc.

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 48.8 MB)