Ask Your Question
2

Install dependencies automatically when installing tar.gx

asked 2014-08-12 20:54:57 -0600

trendies1000 gravatar image

updated 2014-08-13 01:29:37 -0600

abadrinath gravatar image

Hi, when I download a tar.gz file and after the ./configure command always ask me for dependencies which is annoying, I don't want to install from repositories, let's say for example I wish to install gedit (I know I can install it with yum -y install gedit) and I have the tar.gz when I execute the ./configure, it ask me for libxml-2.0 >= 2.5.0 dependency for example (even if I have already installed gedit)., but I really don't want to install all dependencies one by one, so the questions are:
1.-How can I install all dependencies automatically?
2.-Can I install all dependencies of all applications?
thanks

edit retag flag offensive close merge delete

Comments

Make a static compilation ... but if you do not want install all dependencies, then compile all dependencies you need ... and export the path, where all dependencies are compiled. I guess you need a portable program?

davidva gravatar imagedavidva ( 2014-08-12 22:54:16 -0600 )edit

I'm trying to modify the source code of some programs that's the reason I need to execute the ./configure etc. but every time, I get those warnings about dependencies, by the way how do i make a static compilation or compile all dependencies, how can achieve that? thanks

trendies1000 gravatar imagetrendies1000 ( 2014-08-12 23:53:34 -0600 )edit

@davidva he needs dependencies for building the package, so static compilation doesn't help. And compiling all dependencies is certainly much more trouble than installing them.

hedayat gravatar imagehedayat ( 2014-08-13 01:38:25 -0600 )edit

1 Answer

Sort by ยป oldest newest most voted
2

answered 2014-08-13 01:36:23 -0600

hedayat gravatar image

updated 2014-08-13 03:42:36 -0600

First, if a program like gedit depends on a library like libxml, you'll need libxml package for running it; but you'll also need libxml-devel for compiling gedit.

But about your questions:

  • AFAIK, there is no way for it (or at least I don't know about it). However, if the program happens to have an .rpm version, then it'll also have a corresponding src.rpm. For example, you can get the gedit src.rpm from Fedora repositories.

    yumdownloader --source gedit And to install its build dependencies, you can run:

    yum-builddep gedit

(You can also pass the path of an existing .src.rpm to install its build dependencies).

  • Yes and No. "All dependencies of all applications" might not be available in Fedora repositories at all. However, if you mean all dependencies of all applications in Fedora repositories, yes, you can just install everything from the repositories... which is usually not reasonable. It'll be too much. However, you might try to install all *-devel packages, but building some packages might require some non-devel packages too.
edit flag offensive delete link more

Comments

This IMO is a great answer, but misses the point. What he wants: When he execs ./configure, it will download/install all deps by itself. For example, a program called randomprogram has a ./configure and is run. The Fedora system will (somehow) install all deps, in this case randomdep.

abadrinath gravatar imageabadrinath ( 2014-08-13 03:08:29 -0600 )edit

Thanks, but I didn't miss it: "AFAIK, there is no way for it (or at least I don't know about it)". Then, considering the question mentioned modifying an existing package, I talked about the alternative approach. For the problem you mentioned, I think it is impossible to have a solution which works always, but it might be possible to create a program which tries to 'guess' packages needed for resolving ./configure dependencies.

hedayat gravatar imagehedayat ( 2014-08-13 03:44:53 -0600 )edit

I think I need glasses :P. Sorry, I missed it. Perhaps an application that tries to find the word deps or something like that in the ./configure file. Like for compiling gcc. grep -i dep ./configure.

abadrinath gravatar imageabadrinath ( 2014-08-13 03:48:31 -0600 )edit

That's fine. It was too short! :P The problem is that configure is a shell script, and developers can put virtually any thing with any kind of messages in it. So, not only finding the dependencies themselves is not easy, but the name used by the developer might not match the name of the package in Fedora repositories. Some developers even use distro specific package names, which might be hard to figureout corresponding Fedora package from.

As I said, it might be possible to create something which would work in many situations, but I can't find any efforts on it.

hedayat gravatar imagehedayat ( 2014-08-13 06:29:28 -0600 )edit
hedayat gravatar imagehedayat ( 2014-08-13 06:31:10 -0600 )edit

Question Tools

1 follower

Stats

Asked: 2014-08-12 20:54:57 -0600

Seen: 435 times

Last updated: Aug 13 '14