Project

General

Profile

Bug #40295

OBS fails to build master due to RPATH issue

Added by Nathan Cutler 9 months ago. Updated 8 months ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
-
Target version:
-
% Done:

0%

Source:
Tags:
Backport:
nautilus
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature:

Description

The following FTBFS happens on ppc64le in the OpenSUSE Build Service:

[11025s] Install the project...
[11025s] -- Install configuration: "RelWithDebInfo" 
[11025s] -- Installing: /home/abuild/rpmbuild/BUILDROOT/ceph-15.0.0-1758.1.ppc64le/usr/lib64/ceph/libceph-common.so.0
[11026s] -- Installing: /home/abuild/rpmbuild/BUILDROOT/ceph-15.0.0-1758.1.ppc64le/usr/bin/librados-config
[11026s] -- Set runtime path of "/home/abuild/rpmbuild/BUILDROOT/ceph-15.0.0-1758.1.ppc64le/usr/bin/librados-config" to "/usr/lib64/ceph" 
[11026s] -- Installing: /home/abuild/rpmbuild/BUILDROOT/ceph-15.0.0-1758.1.ppc64le/usr/bin/ceph-mon
[11026s] -- Set runtime path of "/home/abuild/rpmbuild/BUILDROOT/ceph-15.0.0-1758.1.ppc64le/usr/bin/ceph-mon" to "/usr/lib64/ceph" 
[11026s] -- Installing: /home/abuild/rpmbuild/BUILDROOT/ceph-15.0.0-1758.1.ppc64le/usr/bin/ceph-osd
[11027s] CMake Error at src/cmake_install.cmake:114 (file):
[11027s]   file RPATH_CHANGE could not write new RPATH:
[11027s] 
[11027s]     /usr/lib64/ceph
[11027s] 
[11027s]   to the file:
[11027s] 
[11027s]     /home/abuild/rpmbuild/BUILDROOT/ceph-15.0.0-1758.1.ppc64le/usr/bin/ceph-osd
[11027s] 
[11027s]   No valid ELF RPATH or RUNPATH entry exists in the file;
[11027s] Call Stack (most recent call first):
[11027s]   cmake_install.cmake:42 (include)
[11027s] 
[11027s] 
[11027s] make: *** [Makefile:84: install] Error 1
[11027s] error: Bad exit status from /var/tmp/rpm-tmp.z1SU5B (%install)
[11027s] 
[11027s] 
[11027s] RPM build errors:
[11027s]     Bad exit status from /var/tmp/rpm-tmp.z1SU5B (%install)
[11028s] 

Though Ceph is not at fault here, we can easily work around the issue.

I would argue that adding the workaround is the correct course of action, because it preserves the ability to build master on ppc64le in the OBS.

Note that we have this same workaround in place for a number of other binaries:

smithfarm@wilbur:~/src/ceph/smithfarm/ceph/src> ag RPATH
compressor/snappy/CMakeLists.txt
12:  INSTALL_RPATH "")

compressor/zlib/CMakeLists.txt
46:  INSTALL_RPATH "")

compressor/zstd/CMakeLists.txt
42:  INSTALL_RPATH "")

compressor/lz4/CMakeLists.txt
12:  INSTALL_RPATH "")

tracing/CMakeLists.txt
40:    INSTALL_RPATH "")

cls/CMakeLists.txt
10:  INSTALL_RPATH "" 
20:  INSTALL_RPATH "" 
30:  INSTALL_RPATH "" 
45:    INSTALL_RPATH "" 
61:  INSTALL_RPATH "" 
80:    INSTALL_RPATH "" 
101:  INSTALL_RPATH "" 
117:  INSTALL_RPATH "" 
133:  INSTALL_RPATH "" 
147:  INSTALL_RPATH "" 
161:  INSTALL_RPATH "" 
180:  INSTALL_RPATH "" 
202:    INSTALL_RPATH "" 
222:    INSTALL_RPATH "" 
240:  INSTALL_RPATH "" 
258:  INSTALL_RPATH "" 

erasure-code/isa/CMakeLists.txt
66:  INSTALL_RPATH "")

erasure-code/jerasure/CMakeLists.txt
91:  INSTALL_RPATH "")
100:    INSTALL_RPATH "")

erasure-code/lrc/CMakeLists.txt
13:  INSTALL_RPATH "")

erasure-code/shec/CMakeLists.txt
21:  INSTALL_RPATH "")
30:    INSTALL_RPATH "")

erasure-code/clay/CMakeLists.txt
13:  INSTALL_RPATH "")

mount/CMakeLists.txt
7:  INSTALL_RPATH "")

key_value_store/CMakeLists.txt
6:  INSTALL_RPATH "")

CMakeLists.txt
11:set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
12:if(NOT CMAKE_INSTALL_RPATH)
13:  set(CMAKE_INSTALL_RPATH "${CEPH_INSTALL_FULL_PKGLIBDIR}")
405:  INSTALL_RPATH "")
517:  INSTALL_RPATH "")

Related issues

Related to Ceph - Bug #40398: OBS fails to build master due to RPATH issue in libceph_crypto_isal.so.1.0.0 Resolved 06/17/2019
Copied to Ceph - Backport #40301: nautilus: OBS fails to build master due to RPATH issue Resolved

History

#1 Updated by Nathan Cutler 9 months ago

  • Description updated (diff)

#2 Updated by Nathan Cutler 9 months ago

  • Status changed from New to Fix Under Review
  • Pull request ID set to 28508

#3 Updated by Kefu Chai 9 months ago

  • Status changed from Fix Under Review to Pending Backport

#4 Updated by Nathan Cutler 9 months ago

  • Copied to Backport #40301: nautilus: OBS fails to build master due to RPATH issue added

#5 Updated by Nathan Cutler 8 months ago

  • Related to Bug #40398: OBS fails to build master due to RPATH issue in libceph_crypto_isal.so.1.0.0 added

#6 Updated by Nathan Cutler 8 months ago

  • Status changed from Pending Backport to Resolved

Also available in: Atom PDF