Resolving Dependencies

Ramin Rad raminsrad at
Thu Jul 14 14:48:16 UTC 2011

That's good info.  But I didn't read in the original message that yum is 
available to Kali.

On 7/14/2011 10:31 AM, Greg_Swift at wrote:
> Actually, you want to stick to just the Requires: definitions, this is not
> appropriate work for scriptlets.  A .so.X dependancy is valid, as it is
> something that the package providing it will say it provides.
> # yum whatprovides
> Loaded plugins: downloadonly, rhnplugin, security
> Excluding Packages in global exclude list
> Finished
> qt4-4.2.1-1.i386 : The shared library for the Qt GUI toolkit
> Repo        : rhel-x86_64-server-5
> Matched from:
> Other       :
> However, you shouldn't have to define these requires, as RPM will usually
> evaluate your code and package to determine most dependancies.
> RPM itself will not resolve those dependancies for you, that is where yum
> comes in.  RPM will just tell you what it needs, and you have to go find it
> yourself.  Yum will evaluate the dependancies against all of its available
> packages to find those for you.
> Installation of your package will work as long as the following is true:
> 1: your package lists its proper requirements
> 2: yum is used to install it
> 3: the system has access to a repository that can meet those requirements.
> What seems to be happening to you use that you are installing your
> myApplication RPM manually, and it tells you what you need.  Try doing the
> following:
> yum install myApplication-1.0-1.x86_64.rpm
> -greg
> rpm-list-bounces at wrote on 07/14/2011 09:17:09 AM:
>> The dependencies in RPM are only meaningful when it comes to
>> packages (and virtual resources) that are in the RPM DB.
>> If you say "Requires:", RPM thinks there is another
>> RPM package called that has to be installed prior to
>> this and it checks its database and it doesn't find it, hence the error.
>> What you really want is file dependency. I am not sure if RPM
>> supports that, but you can simply put something like this in your "%
>> pre" section:
>> ###########
>> %pre
>> if [ ! -e /usr/lib/ ]
>> then
>>    echo "ERROR: /usr/lib/ doesn't exist! Bailing out."
>>    exit 1
>> fi
>> # end of %pre
>> ###########
>> You can write as much script as you want in the %pre section and do
>> all sorts of thing before your package is actually installed.
>> I hope this helps,
>> -ramin
>> On 7/14/2011 10:02 AM, kali c wrote:
>> Hi,
>> I have my application which I want to build a rpm package. The
>> application has some dependencies that has to be installed. It
>> requires few  .so files that has to be present in the application
>> running machine. Say for e.g The command ldd reveals
>> other dependencies as well. I tried giving those dependencies in the
>> SPEC file under the requires field as Requires: ....
>> I have also added the in the %files section with the
>> absolute path. I can build the SPEC file to .rpm without any errors.
>> But I am getting errors regarding those dependencies while installing
> them.
>> Specifically error: Failed dependencies:
>> is needed by myApplication-1.0-1.x86_64
>> How I can specify in my SPEC file such that I can install those
>> dependencies even if they are not present in the target system? I
>> need this because not all the dependencies will be available in the
>> target system so that I can specify in some way so that either the
>> entire packages get installed or the required .so files are referred
>> by the application appropriately while installing my application.
>> I am quite new to RPM so sorry if the question is a very basic one.
> _______________________________________________
> Rpm-list mailing list
> Rpm-list at

More information about the Rpm-list mailing list