从源码安装RPM

系统环境:CentOS 6.3

1.下载源码包

   
   
   
   
  1. wget http://rpm.org/releases/rpm-4.10.x/rpm-4.10.2.tar.bz2 

2.解决依赖关系

   
   
   
   
  1. rpm 依赖的包 
  2. nss nss-devel nspr nspr-devel file file-devel  
  3. popt popt-devel db4 db4-devel lua-static lua-devel 
  4. # yum -y install nss nss-devel nspr nspr-devel \ 
  5. popt popt-devel db4 db4-devel file file-devel \ 
  6. lua-static lua-devel 

3.安装

   
   
   
   
  1. # tar xvf rpm-4.10.2.tar.bz2 
  2. # cd rpm-4.10.2 
  3. # ./configure --prefix=/opt/rpm \ 
  4. --with-external-db "CPPFLAGS=-I/usr/include/db4 -I/usr/include/nss3 \ 
  5. -I/usr/include/nspr4" 
  6. # make && make install 
  7. # /opt/rpm/bin/rpm --version
  8. RPM version 4.10.2

4.总结

   
   
   
   
  1. configure: error: missing required NSPR / NSS header 
  2. 出现此错误是因为找不到nspr和nss的头文件,安装nss和nspr开发包即可 
  3. # yum -y install nspr nspr-devel 
  4. # yum -y install nss nss-devel 
  5.  
  6. configure: error: missing required header magic.h 
  7. 出现此错误是因为找不到magic的头文件,安装file和其开发包即可 
  8. # yum -y install file file-devel 
  9.  
  10. configure: error: missing required header popt.h 
  11. 出现此错误是因为找不到popt的头文件,安装popt和其开发包即可 
  12. # yum -y install popt popt-devel 
  13.  
  14. configure: error: internal Berkeley DB directory not present 
  15. 出现此错误是因为找Berkeley db目录不存在,安装db4和其开发包即可 
  16.  
  17. # yum -y install db4 db4-devel