Bug 14191

Summary: patchelf v0.9 corrupt Nvidia shared libraries
Product: buildroot Reporter: geyunda
Component: OtherAssignee: unassigned
Status: RESOLVED FIXED    
Severity: normal CC: buildroot
Priority: P5    
Version: 2021.02.3   
Target Milestone: ---   
Hardware: All   
OS: Linux   
Host: Target:
Build:

Description geyunda 2021-09-03 02:50:09 UTC
Unpack the libcudnn deb archive and install the .so file to $(TARGET_DIR).
libcudnn.so.8.0.0 was corrupted after target-finalize.
I found it was caused by patchelf v0.9.
After upgrading to patchelf v0.13,it worked.

target-finalize log:
++ /home/gyd/work/hito_jetson/out/host/bin/patchelf --print-rpath /home/gyd/work/hito_jetson/out/target/usr/lib/aarch64-linux-gnu/libcudnn.so.8.0.0
+ rpath='$ORIGIN'
+ test 0 -ne 0
++ chmod -c u+w /home/gyd/work/hito_jetson/out/target/usr/lib/aarch64-linux-gnu/libcudnn.so.8.0.0
+ changed=
++ echo '$ORIGIN'
++ sed 's@/home/gyd/work/hito_jetson/out/per-package/[^/]\+/host@/home/gyd/work/hito_jetson/out/host@'
+ changed_rpath='$ORIGIN'
+ test '$ORIGIN' '!=' '$ORIGIN'
+ /home/gyd/work/hito_jetson/out/host/bin/patchelf --make-rpath-relative /home/gyd/work/hito_jetson/out/target --no-standard-lib-dirs /home/gyd/work/hito_jetson/out/target/usr/lib/aarch64-linux-gnu
/libcudnn.so.8.0.0

 
# ldconfig
/sbin/ldconfig.real: file /usr/lib/aarch64-linux-gnu/libcudnn.so.8.0.0 is truncated
Comment 1 Thomas Petazzoni 2022-07-25 08:31:06 UTC
According to Fabrice Fontaine, the update to patchelf 0.13 fixes this. The update to patchelf 0.13 has been committed as of https://git.buildroot.org/buildroot/commit/?id=257881e6e99b766f2a9466c7713e48cbcb96161c.