Project

General

Profile

Bug #40295

Updated by Nathan Cutler almost 5 years ago

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

 <pre> 
 [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]  
 </pre> 

 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: 

 <pre> 
 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 "") 
 </pre>

Back