Project

General

Profile

Bug #36508

Updated by Brad Hubbard over 5 years ago

Binaries compiled against the 2.6 version of libtcmalloc.so.4 (in this case ceph-osd) have the following undefined symbols. 
 <pre> 

 # nm -D /usr/bin/ceph-osd|egrep '(_ZdaPvm|_ZdlPvm)'                                                                                          
                                                                                                                                                                                   
                  U _ZdaPvm                                                                                                                                                                                          
                                                                                                                                                                                                                                    
                  U _ZdlPvm 
 </pre> 

 The 2.4 version of libtcmalloc.so.4 (gperftools-libs-2.4-8.el7.x86_64) does not export these symbols. 
 <pre> 

 # nm -D /usr/lib64/libtcmalloc.so.4|egrep '(_ZdaPvm|_ZdlPvm)' 
 # 
 </pre> 

 This leads to errors such as the following at runtime. 

 ceph-osd: symbol lookup error: ceph-osd: undefined symbol: _ZdaPvm 

 Installing gperftools-libs-2.6.1-1.el7.x86_64.rpm resolves the issue. 

 <pre> 
 # nm -D /usr/lib64/libtcmalloc.so.4|egrep '(_ZdaPvm|_ZdlPvm)' 
 0000000000035dc0 T _ZdaPvm 
 0000000000035dc0 T _ZdlPvm 
 </pre> 

 This issue is related to http://tracker.ceph.com/issues/35969 which required the 2.6 version at *build* time.

Back