This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
alealcon gerrit-no-reply at lists.osmocom.orgalealcon 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: Hi Pau, some comments for each question: - Should I remove the function and add that parameter to the normal patchelf function? This will help us (as I prefer to set an absolute path on deploy rather that on build), but if you don't approve to modify the rpath inside the srs-enb.py file it doesn't make sense this change and we can remove this commit. - I agree with you that it makes sense to have different build scripts, each of them supporting different platforms (ppc, aarch64, armv7). What I don't like is that I must set an absolute path for the patchelf utility in those scripts, because if I have 2 different boards with the same platform (ppc for example) that path can change between boards due hardware specs. I would really love to avoid that. If you prefer that I add a jenkins-build-stslte-bbu.sh I'm thinking to add 2 variables to the jenkins-build-commmon.sh: PATCHELF_RPATH_ARGS='--set-rpath' and PATCHELF_RPATH_DIR='$ORIGIN/../lib/' by default. The jenkins-build-stslte-bbu.sh will overwrite those values to PATCHELF_RPATH_ARGS='--force-rpath --set-rpath' and PATCHELF_RPATH_DIR='/mnt/nfs/bdlibs/'. The call within the *-common.sh would be: if [ -d bin/ ]; then find bin -depth -type f -exec patchelf $PATCHELF_RPATH_ARGS $PATCHELF_RPATH_DIR {} \; fi if [ -d sbin/ ]; then find sbin -depth -type f -exec patchelf $PATCHELF_RPATH_ARGS $PATCHELF_RPATH_DIR {} \; Does it sound good to you? One last question regarding the patchelf that is done in jenkins-build-common.sh. Why does that script sets the rpath? Is there a file where the "LD_LIBRARY_PATH" is not set before launching the binary? I ask this, because I configure the rpath and the dynamic-linker in the toolchain, and I've tested that removing the call to "add_rpath" in the jenkins-build-common.sh makes the srsenb works without patching it or configuring the LD_LIBRARY_PATH in enb-srs.py. - I did that test. I removed the rpath from a binary and run ldd root at b4860qds:# LD_LIBRARY_PATH='/mnt/nfs/osmo-gsm-tester-srsenb/srslte/lib:/mnt/nfs/bdlibs' /mnt/nfs/ldd ../srslte/bin/srsenb srsenb.conf /bin/sh: /lib/ld.so.1: version `GLIBC_2.22' not found (required by /mnt/nfs/bdlibs/libc.so.6) It uses the system's ld (/lib/ld.so.1) instead of the toolchain's ld (/mnt/nfs/bdlibs/ld.so.1). Perhaps is because we're using LD_LIBRARY_PATH. Here is the linker section of the srsenb (which points to the right ld): root at b4860qds:# readelf -l srsenb El tipo del fichero elf es EXEC (Fichero ejecutable) Entry point 0x10020fb8 There are 10 program headers, starting at offset 52 Encabezados de Programa: Tipo Desplaz DirVirt DirFísica TamFich TamMem Opt Alin PHDR 0x000034 0x10000034 0x10000034 0x00140 0x00140 R 0x4 INTERP 0x000174 0x10000174 0x10000174 0x00018 0x00018 R 0x1 [Requesting program interpreter: /mnt/nfs/bdlibs/ld.so.1] -- 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: Thu, 03 Jun 2021 14:49:44 +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/20210603/dee11f11/attachment.htm>