LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Newbie (https://www.linuxquestions.org/questions/linux-newbie-8/)
-   -   Dependencies ... (https://www.linuxquestions.org/questions/linux-newbie-8/dependencies-400829/)

Infernal211283 01-08-2006 06:48 AM

Dependencies ...
 
The case is this:

I have a computer that is connected to the internet and another which isn't, i installed mplayer using yum on the one that has internet connection and tried to install mplayer on the one that doesn't have internet connection by taking the 2 mplayer's packages that yum downloaded to /var/cache/yum/atrpms/packages/ and installing manually the usual way 'rpm -hiv mplayer-fonts-1.0-6.at.noarch.rpm'
and 'rpm -hiv mplayer-1.0-50_pre7try2.rhfc4.at.i386.rpm'.

the fonts installation went ok, the actual mplayer required dependencies of course:

'[root@fedora lib]# rpm -hiv /var/cache/yum/atrpms/packages/mplayer-1.0-50_pre7try2.rhfc4.at.i386.rpm
warning: /var/cache/yum/atrpms/packages/mplayer-1.0-50_pre7try2.rhfc4.at.i386.rpm: Header V3 DSA signature: NOKEY, key ID 66534c2b
error: Failed dependencies:
libaa.so.1 is needed by mplayer-1.0-50_pre7try2.rhfc4.at.i386
libdvdread.so.3 is needed by mplayer-1.0-50_pre7try2.rhfc4.at.i386
libfaad.so.0 is needed by mplayer-1.0-50_pre7try2.rhfc4.at.i386
libfribidi.so.0 is needed by mplayer-1.0-50_pre7try2.rhfc4.at.i386
liblirc_client.so.0 is needed by mplayer-1.0-50_pre7try2.rhfc4.at.i386
liblzo.so.1 is needed by mplayer-1.0-50_pre7try2.rhfc4.at.i386
libmad.so.0 is needed by mplayer-1.0-50_pre7try2.rhfc4.at.i386
libmp3lame.so.0 is needed by mplayer-1.0-50_pre7try2.rhfc4.at.i386
libpostproc.so.0 is needed by mplayer-1.0-50_pre7try2.rhfc4.at.i386
libstdc++.so.5 is needed by mplayer-1.0-50_pre7try2.rhfc4.at.i386
libstdc++.so.5(CXXABI_1.2) is needed by mplayer-1.0-50_pre7try2.rhfc4.at.i386
libstdc++.so.5(GLIBCPP_3.2) is needed by mplayer-1.0-50_pre7try2.rhfc4.at.i386
libxvidcore.so.4 is needed by mplayer-1.0-50_pre7try2.rhfc4.at.i386'

so i grabbed the dependencies from the computer that already had mplayer installed and put them to the same directory on the comp i want mplayer to be installed (/usr/lib/) and created links to them, everything just like on the internet comp, but i still get the message about all of those missing dependencies.

any ideas?

Thanks.

BinJajer 01-08-2006 07:10 AM

DEps are a royal PITA. The biggest problem here would be, that FC4's package managment system (is there any? Knowing FC4, there problably are some crappy rpm's...) doen not resolve deps, like debian's apt or gentoo's portage.

Wait,wait,wait... did you just copy the binaries over ?? I don't think that will work on any distro... maybe I just misunderstood you.

spooon 01-08-2006 04:16 PM

Quote:

Originally Posted by BinJajer
DEps are a royal PITA. The biggest problem here would be, that FC4's package managment system (is there any? Knowing FC4, there problably are some crappy rpm's...) doen not resolve deps, like debian's apt or gentoo's portage.

Actually, Fedora Core has a very good package management system, called Yum (which some people say is better than Apt); but anyhow, that was not the OP's question. The OP installed stuff fine on one computer but can't use the packge management system on the other computer because he has no Internet on that computer.

Quote:

Originally Posted by Infernal211283
so i grabbed the dependencies from the computer that already had mplayer installed and put them to the same directory on the comp i want mplayer to be installed (/usr/lib/) and created links to them, everything just like on the internet comp, but i still get the message about all of those missing dependencies.

That won't work. You can't just copy random files; get rid of them. You need to install the appropriate packages that provided those capabilities. It's very unfortunate that you don't have access to a repository. Someone else might have a better suggestion, but manually, this is what you could do: You could look in the /var/log/yum.log on your first computer to figure out which packages were installed along with mplayer; or do "rpm -q --whatprovides <dependency>" on the first computer to see what package provided each dependency that is missing on the second computer; and them copy those packages over and try to install them at the same time.

BinJajer 01-08-2006 04:27 PM

Sorry, did not know. I just hate FC4 and all derivatives. They only cause trouble.

mcmillan 01-08-2006 05:02 PM

I'm pretty sure apt has the downloaded packages saved in a cache in the var folder. Might check to see if yum does anything similar that you might be able to get the rpm files from.

badgerbox76 01-08-2006 09:43 PM

I Hate Dependencies!!!!!!!!!!!!!!!!!!!

Electro 01-08-2006 09:57 PM

The only way to get rid of dependency problems is to compile the program. The reason why Gentoo is great is it compiles programs and this is the only way to experience Linux to its fullest.

Before compiling, make sure glibc and other headers for certain features you want for mplayer are installed. Then all you need to do is ./configure && make && make install in the mplayer's source directory. I recommend not to include the GUI of mplayer because it does not always work as running mplayer from a terminal. IMHO, mplayer is the easiest to compile than any other programs.

reddazz 01-08-2006 10:11 PM

What I suggest you do is copy the missing dependencies from the yum cache (/var/cache/yum or something like that) of your computer thats linked to the internet. Save them somewhere in your /home and then install them as root using "rpm -Uvh ". If there is a way to temporarily connect your other computer to the net, then that would be probably the best solution because you will be able to use YUM. Unfortunately installing packages manually on any distro can be a pain when it comes to dependency resolution. Don't bother listening to people saying Fedora has crappy package management, you will hear this all the time especially from those who don't actually have any current experience with the distro. YUM works quite well and if you don't like YUM you can even use APT. Your problem here is lack of connectivity and not lack of a suitable package manager.

Quote:

The only way to get rid of dependency problems is to compile the program. The reason why Gentoo is great is it compiles programs and this is the only way to experience Linux to its fullest.
If there are dependencies won't they still need to be resolved even if its a source package? Is the Gentoo package management tool, not simply resolving dependencies just like a tool like apt, urpmi and yum?

Infernal211283 01-09-2006 01:25 AM

Quote:

Originally Posted by mcmillan
I'm pretty sure apt has the downloaded packages saved in a cache in the var folder. Might check to see if yum does anything similar that you might be able to get the rpm files from.

Yeah yum does that, that's what i did in the first place; copied the mplayer package from cache.

Quote:

Originally Posted by Electro
The reason why Gentoo is great is it compiles programs and this is the only way to experience Linux to its fullest.Before compiling, make sure glibc and other headers for certain features you want for mplayer are installed.

FC4 has that ability too, i know that it requires glibc but how do i know if i need more headers and which ones? I fail to do 'make' a lot after 'configure' and i guess that's just because i'm missing some headers.

Quote:

Originally Posted by reddazz
What I suggest you do is copy the missing dependencies from the yum cache (/var/cache/yum or something like that) of your computer thats linked to the internet. Save them somewhere in your /home and then install them as root using "rpm -Uvh ".

Yeah i guess i could do that after i'll 'rpm -q --whatprovides <dep>' to all those missing libs. (Thanks to spooon for this tip.)

Quote:

Originally Posted by reddazz
If there is a way to temporarily connect your other computer to the net, then that would be probably the best solution because you will be able to use YUM.

I know i could but i guess there's curiosity involved ;)

Quote:

Originally Posted by reddazz
Don't bother listening to people saying Fedora has crappy package management, you will hear this all the time especially from those who don't actually have any current experience with the distro. YUM works quite well and if you don't like YUM you can even use APT. Your problem here is lack of connectivity and not lack of a suitable package manager.

Heh, I stopped listening to people who complain about distro's which they don't use.
Yum's ok.



Thanks for your replies mates.

Electro 01-09-2006 06:32 PM

Quote:

If there are dependencies won't they still need to be resolved even if its a source package? Is the Gentoo package management tool, not simply resolving dependencies just like a tool like apt, urpmi and yum?
Gentoo solves dependencies very, very well. I can tell it to install mplayer and continue to do other work. 10 to 15 minutes later, mplayer is compiled and installed. The Gentoo developers have masked programs and libraries that can make the system unstable, so emerge will not install those.

Using urpmi in Mandrake or Mandriva, it will take me hours just to get through the dependencies. After it is done, the installed program will work or make make the whole entire system be unstable. I do not like Redhat, so I will never use Fedora. I have used Slackware but it is too unfinished.

Use package based distributions at your own risk. Sooner or later the package file that you downloaded could make the system become unstable or show weird errors.

I recommend searching the internet about how evil packaged based distributions are.


Quote:

FC4 has that ability too, i know that it requires glibc but how do i know if i need more headers and which ones? I fail to do 'make' a lot after 'configure' and i guess that's just because i'm missing some headers.
You need X11 headers, gtk headers for GUI, ALSA headers, windows codecs copied to a certain directory, gettext, awk, libstdc++, and many others. By running ./configure under the mplayer source directory will give some hints what you need. The libraries that are optional are libaa, libpostproc, lirc, libfribidi, libfaad, libmp3lame, libmad, samba, svga, fbdev, and several others. To watch DVD movies, you need libdvdread, libdvdcss, make sure the DVD drive is set for read/write for users or groups that you want them have access to the drive, and make sure DMA is enabled for the DVD drive.

Check if you have /usr/local/bin in your PATH environment variable.

Quote:

Quote:

Originally Posted by reddazz
If there is a way to temporarily connect your other computer to the net, then that would be probably the best solution because you will be able to use YUM.
I know i could but i guess there's curiosity involved
You have to setup iptables/netfilter and add NIC to the system to the computer that has internet connection. With iptables/netfilter, you need to setup IP forwarding and NAT. Turning the computer into a DHCP server that has internet connection does not be done. Setting a static IP address is all you need to do.

pljvaldez 01-09-2006 06:35 PM

On Debian based distros, there is a way to make local repositories and use APT to install from them. Not sure if you can do that with YUM or Apt4rpm's....

tkedwards 01-09-2006 10:45 PM

Quote:

Gentoo solves dependencies very, very well. I can tell it to install mplayer and continue to do other work. 10 to 15 minutes later, mplayer is compiled and installed. The Gentoo developers have masked programs and libraries that can make the system unstable, so emerge will not install those.
Gentoo is no different to Mandriva, Suse, Fedora or Debian in the way it resolves dependencies - like all of them it installs the dependencies out of a (pre-configured) package repository. The fact that these packages are in source code format is irrelevant - they still had to be packaged up just like the RPMs or DEBs.

Quote:

Using urpmi in Mandrake or Mandriva, it will take me hours just to get through the dependencies. After it is done, the installed program will work or make make the whole entire system be unstable.
Its Gentoo where you will have to wait hours for it to download and compile dependencies. Mandrake/driva installs things very quickly in my experience and I've never had the entire system become unstable just by installing packages. If Mandriva really was as bad as you describe then no one would bother using it, however its one of the most popular distros around.

Quote:

Use package based distributions at your own risk. Sooner or later the package file that you downloaded could make the system become unstable or show weird errors.
Use any Linux distro at your down risk. Sooner or later the package file/source package/vanilla source tarball/anything else that you download could make the system unstable or show weird errors.

Quote:

I recommend searching the internet about how evil packaged based distributions are.
You're entitled to your opinion but you'll find that most major distros out there; Mandriva, Suse, RHEL, Fedora, Debian, Ubuntu and even Gentoo; are based on packages and using package management systems to resolve dependencies.

Compiling stuff from source is no magic bullet either. You get an even more time consuming dependency hell since you have to manually search the web, download, compile and install each and every dependent piece of software. Not to mention that you have to decipher the often cryptic error messages from configure scripts about missing header files or (sometimes) even C++ class definitions to work out which piece of software its looking for.

reddazz 01-10-2006 01:14 AM

Quote:

Gentoo solves dependencies very, very well. I can tell it to install mplayer and continue to do other work. 10 to 15 minutes later, mplayer is compiled and installed. The Gentoo developers have masked programs and libraries that can make the system unstable, so emerge will not install those.

Using urpmi in Mandrake or Mandriva, it will take me hours just to get through the dependencies. After it is done, the installed program will work or make make the whole entire system be unstable. I do not like Redhat, so I will never use Fedora. I have used Slackware but it is too unfinished.

Use package based distributions at your own risk. Sooner or later the package file that you downloaded could make the system become unstable or show weird errors.

I recommend searching the internet about how evil packaged based distributions are.
I understand how Gentoos package management works being a FreeBSD & NetBSD user myself, but I don't agree with you about package based distributions. If the guy was using Gentoo without a net connection, portage would have been absolutely useless, so I don't see the advantage that it has over YUM in this instance. The guy even mentions that yum works fine on his other machine, so I don't see how a package based distro is evil if it has the facilities to automatically resolve any dependencies and install packages without much user interaction.

With urpmi, yum et all, you can pick the packages you want to install, continue working and a few minutes later, all your packages are installed just like portage. At least you don't have to wait for hours for very large packages to compile. Checking dependencies is not so hard on package based distros and all the major package managers have facilities for that. You can even just use rpm if on an rpm based distro or dpkg if you are on a debian based distro to check for required dependencies.

kiraninfotech 01-14-2006 01:58 PM

Quote:

Originally Posted by badgerbox76
I Hate Dependencies!!!!!!!!!!!!!!!!!!!

Install Mplayer from this RPMS you wont get any dependencies.

Follow steps :
1. Download the rpms
http://www.kiraninfotech.com/downloa...n.1.2.i686.rpm
http://www.kiraninfotech.com/downloa...51128.i386.rpm
http://www.kiraninfotech.com/downloa...412-1.i386.rpm
http://www.kiraninfotech.com/downloa...412-1.i386.rpm
http://www.kiraninfotech.com/downloa...51128.i386.rpm
http://www.kiraninfotech.com/downloa....11-1.i386.rpm

2. Install the downloaded RPMS in the following sequence

mplayer-1.0pre8-0.4.20051128.i386.rpm
lame-3.96-0.lvn.1.2.i686.rpm
mplayer-gui-1.0pre8-0.4.20051128.i386.rpm
mplayerplug-in-3.11-1.i386.rpm
mplayer-codecs-20050412-1.i386.rpm
mplayer-codecs-extra-20050412-1.i386.rpm


Done No Dependencies.. You can also find this instructions here.

Rohit

tkedwards 01-15-2006 03:47 AM

Quote:

2. Install the downloaded RPMS in the following sequence

mplayer-1.0pre8-0.4.20051128.i386.rpm
lame-3.96-0.lvn.1.2.i686.rpm
mplayer-gui-1.0pre8-0.4.20051128.i386.rpm
mplayerplug-in-3.11-1.i386.rpm
mplayer-codecs-20050412-1.i386.rpm
mplayer-codecs-extra-20050412-1.i386.rpm
or just download them into a folder and install them all at once
Code:

rpm -Uvh /path/to/rpms/*.rpm
:)


All times are GMT -5. The time now is 10:24 PM.