Change in osmo-gsm-tester[master]: util: adds the feature to force the rpath when patching files.

alealcon gerrit-no-reply at lists.osmocom.org
Tue Jun 1 10:13:55 UTC 2021


alealcon has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24272 )

Change subject: util: adds the feature to force the rpath when patching files.
......................................................................


Patch Set 1:

It is patching the srsenb binary. We have a custom toolchain for the BBU embedded Linux (libs + ld). BBU is a ppc with an old linux kernel (Linux b4860qds 3.12.37) and our toolchain contains up to date versions of the libraries that we need to run the srsenb, so we don't want the systems libraries and our toolchain libraries to mix (we don't add out libraries to the system's enviroment, we keep them isolated to they don't mix). 
When we build the srsenb binary, we specify the rpath and the dynamic linker, so it points to our toolchain environment instead of the systems defaults. This is what happens when we don't force the rpath and we try to launch the srsenb:

root at b4860qds:# patchelf --set-rpath /mnt/nfs/bdlibs ../srslte/bin/srsenb
root at b4860qds:# ../srslte/bin/srsenb srsenb.conf
../srslte/bin/srsenb: error while loading shared libraries: libatomic.so.1: cannot open shared object file: No such file or directory

And when we patch it with the --force-path option it works:

root at b4860qds:# patchelf --force-rpath --set-rpath /mnt/nfs/bdlibs ../srslte/bin/srsenb
root at b4860qds:# ../srslte/bin/srsenb srsenb.conf
---  Software Radio Systems LTE eNodeB  ---

Reading configuration file srsenb.conf...
WARNING: Could not verify cpu0 scaling governor
WARNING: Could not verify cpu1 scaling governor

For an extra information, this is the contents of the folder with the toolchain libraries (what I call the new environment)

root at b4860qds:~# ls /mnt/nfs/bdlibs/
ld-2.32.so                          libc-2.32.so                        libelf-0.181.so                     libmbedx509.so                      libsctp.so.1
ld.so.1                             libc.so.6                           libelf.so                           libmbedx509.so.0                    libsctp.so.1.0.17
libanl-2.32.so                      libconfig++.so                      libelf.so.1                         libmbedx509.so.2.16.10              libstdc++.so
libanl.so.1                         libconfig++.so.11                   libgcc_s.so                         libmem.so                           libstdc++.so.6
libasan.so                          libconfig++.so.11.0.2               libgcc_s.so.1                       libnss_dns-2.32.so                  libstdc++.so.6.0.28
libasan.so.6                        libconfig.so                        libinproctrace.so                   libnss_dns.so.2                     libthread_db-1.0.so
libasan.so.6.0.0                    libconfig.so.11                     libipc.so                           libnss_files-2.32.so                libthread_db.so.1
libasm-0.181.so                     libconfig.so.11.0.2                 libm-2.32.so                        libnss_files.so.2                   libutil-2.32.so
libasm.so                           libcrypt-2.32.so                    libm.so.6                           libpthread-2.32.so                  libutil.so.1
libasm.so.1                         libcrypt.so.1                       libmbedcrypto.so                    libpthread.so.0                     libz.so
libatomic.so                        libdl-2.32.so                       libmbedcrypto.so.2.16.10            libresolv-2.32.so                   libz.so.1
libatomic.so.1                      libdl.so.2                          libmbedcrypto.so.3                  libresolv.so.2                      libz.so.1.2.11
libatomic.so.1.2.0                  libdw-0.181.so                      libmbedtls.so                       librt-2.32.so                       malloc_interceptor_bt.so
libboost_program_options.so         libdw.so                            libmbedtls.so.12                    librt.so.1
libboost_program_options.so.1.75.0  libdw.so.1                          libmbedtls.so.2.16.10               libsctp.so

I added the new function to patch with --force-rpath option to avoid modifying the previous patch function, because the --force-rapth option sets the RPATH variable which is deprecated, while with the normal patch function RUN_PATH variable is set.


-- 
To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24272
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-gsm-tester
Gerrit-Branch: master
Gerrit-Change-Id: I2d4a105d4843c0d31d6b5d8f8d4195247b290aec
Gerrit-Change-Number: 24272
Gerrit-PatchSet: 1
Gerrit-Owner: alealcon <alejandro.leal at srs.io>
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: pespin <pespin at sysmocom.de>
Gerrit-Comment-Date: Tue, 01 Jun 2021 10:13:55 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: No
Gerrit-MessageType: comment
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20210601/cccb0967/attachment.htm>


More information about the gerrit-log mailing list