RPM install Error: Failed dependencies


RPM Error: Failed dependencies

1)    Error
Installing FDO Provider for Raster
error: Failed dependencies:
        libpng.so is needed by fdo-raster-3.7.0.806-1.i386

 

2) install libpng

# Install libpng by yum

$yum install libpng 

# check libpng is installed

$rpm -qa | grep libpng

libpng-1.2.10-7.1.el5_5.3

$rpm -q libpng-1.2.10-7.1.el5_5.3

libpng-1.2.10-7.1.el5_5.3

 

3)   solution 1
Changed to below to ignore dependences :
rpm -i --force --nodeps fdo-raster-3.7.0.806-1.i386.rpm

it should work, because the dependence is existed:
# check if libpng is existed
$ locate libpng.so
/usr/lib/libpng.so
/usr/lib/libpng.so.3
/usr/lib/libpng.so.3.10.0

# check if fdo-raster is really depedent with libpng
$rpm -qp --requires fdo-raster-3.7.0.806-1.i386.rpm
libFDO-3.7.0.so  
libRFPOverrides.so  
libc.so.6  
libc.so.6(GLIBC_2.0)  
libc.so.6(GLIBC_2.1)  
libc.so.6(GLIBC_2.1.3)  
libc.so.6(GLIBC_2.2)  
libc.so.6(GLIBC_2.3)  
libc.so.6(GLIBC_2.3.2)  
libgcc_s.so.1  
libgcc_s.so.1(GCC_3.0)  
libgcc_s.so.1(GLIBC_2.0)  
libm.so.6  
libm.so.6(GLIBC_2.0)  
libpng.so  
librt.so.1  
librt.so.1(GLIBC_2.1)  
libstdc++.so.6  
libstdc++.so.6(CXXABI_1.3)  
libstdc++.so.6(GLIBCXX_3.4)  
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1

# check if the file '.so' file from fdo-raster is really dependent with libpng
$ldd ./libRFPProvider.so
linux-gate.so.1 =>  (0x0040d000)
libpng.so => /usr/lib/libpng.so (0x005c9000)
libFDO-3.7.0.so => /usr/local/fdo-3.7.0/lib/libFDO-3.7.0.so (0x00f17000)
libRFPOverrides.so => /usr/local/fdo-3.7.0/lib/libRFPOverrides.so (0x00689000)
librt.so.1 => /lib/librt.so.1 (0x0046d000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00110000)
libm.so.6 => /lib/libm.so.6 (0x001fb000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00491000)
libc.so.6 => /lib/libc.so.6 (0x00222000)
libz.so.1 => /usr/lib/libz.so.1 (0x00366000)
libxalan-c.so.111 => /usr/local/fdo-3.7.0/lib/libxalan-c.so.111 (0x0174b000)
libxalanMsg.so.111 => /usr/local/fdo-3.7.0/lib/libxalanMsg.so.111 (0x005a3000)
libxerces-c-3.1.so => /usr/local/fdo-3.7.0/lib/libxerces-c-3.1.so (0x012c1000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00379000)
libdl.so.2 => /lib/libdl.so.2 (0x003ff000)
/lib/ld-linux.so.2 (0x00583000)
libnsl.so.1 => /lib/libnsl.so.1 (0x00390000)
libcurl.so.3 => /usr/lib/libcurl.so.3 (0x003a7000)
libgssapi_krb5.so.2 => /usr/lib/libgssapi_krb5.so.2 (0x0040e000)
libkrb5.so.3 => /usr/lib/libkrb5.so.3 (0x0049d000)
libk5crypto.so.3 => /usr/lib/libk5crypto.so.3 (0x0043c000)
libcom_err.so.2 => /lib/libcom_err.so.2 (0x003e3000)
libidn.so.11 => /usr/lib/libidn.so.11 (0x007b5000)
libssl.so.6 => /lib/libssl.so.6 (0x00533000)
libcrypto.so.6 => /lib/libcrypto.so.6 (0x07b60000)
libresolv.so.2 => /lib/libresolv.so.2 (0x003e6000)
libkrb5support.so.0 => /usr/lib/libkrb5support.so.0 (0x0060c000)
libkeyutils.so.1 => /lib/libkeyutils.so.1 (0x003f9000)
libselinux.so.1 => /lib/libselinux.so.1 (0x00476000)
libsepol.so.1 => /lib/libsepol.so.1 (0x00615000)

4)  solution 2
# change spec file to ignore depedences
Source91:  filter-requires.sh
%define   _use_internal_dependency_generator 0
%define   __find_requires %{SOURCE91}

#filter-requires.sh
#!/bin/sh
if [ -x /usr/lib/rpm/redhat/find-requires ] ; then
FINDREQ=/usr/lib/rpm/redhat/find-requires
else
FINDREQ=/usr/lib/rpm/find-requires
fi
$FINDREQ $* | sed -e '/libpng.so/d'

5) Reference:
http://www.rpm.org/wiki/Docs#UserDocumentation
http://docs.fedoraproject.org/en-US/Fedora_Draft_Documentation/0.1/html/RPM_Guide/index.html



posted @ 2011-06-29 10:48 iTech 阅读(...) 评论(...) 编辑 收藏