Jump to content

Dependency Hell


viking777
 Share

Recommended Posts

I want to install the package vodafone-mobile-connect-card-driver-for-linux from this page https://forge.vodafonebetavine.net/frs/?group_id=12 , but I am stuck in a dependency hell. It goes something like this:

 

vmc driver will not install due unsatisfied dependency dbus-1-python

 

dbus-1-python will not install due unsatisfied dependency dbus-1

 

dbus-1 will not install due to unsatisfied dependency /sbin/insserve

 

insserve will not install due to conflict with initscripts-8.54-8.1mdv2008.0.i586

 

Unfortunately the vmc driver package does not come in a 'Mandriva' version only Suse, Fedora, deb, and tar.gz. I have tried all of them (except deb of course) and none work, they all complain about missing dependencies.

 

Incidentally, I cant find any of the above packages on Mandriva repositories (I have 13 repositories enabled) I have had to use suse rpm's from rpmfind which is possibly why they don't work. Part of the problem may also be that I have very little experience with Mandriva.

 

One page I read on the net quoted a dependency called 'python-central' for this program, although this appears to be a debian package, but does it have a Mandriva equivalent?

 

Can anyone tell me how to break out of this cycle and get the program installed? Any help appreciated.

 

I must say that this is my very first stumbling block with Mandriva, everything else I have tried with it so far has worked faultlessly.

Link to comment
Share on other sites

Greetings!

 

Tarballs=OK

Other RPM's=NOT OK

 

RPM's are prepackaged for a specific distro, placing files in locations according to that distro. Theoretically, tarballs have scripts that either locate the correct places or ask for those locations. Of course, handling depends is why package managers are around, like urpmi. So, you must look at the readme in order to line up the depends. First, get rid of any odd installs, like from SuSE RPM's. You may have to compile a depend against your current libraries to get this to work. But, you'll learn a lot!

Link to comment
Share on other sites

what ix said. :)

 

doing the tarball route is nice when you have no package made specifically for your distro. fortunately there are tools like checkinstall which can help you create a rpm from tarballs which means the resulting package can be safely integrated to your package management framework.

 

ciao!

Link to comment
Share on other sites

thanks for the replies. I have of course tried the tarball, but once untarred the very first thing it says is to install the following dependencies.

 

python-dbus python-twisted python-serial \

> python-glade2 python-pysqlite2 wvdial nozomi-source python-notify \

> python-gnome2 python-gnome2-extras

 

So I execute

 

  urpmi python-dbus python-twisted python-serial \
>   python-glade2 python-pysqlite2 wvdial nozomi-source python-notify \
>   python-gnome2 python-gnome2-extras

 

And I get

 

  No package named python-glade2
No package named python-pysqlite2
No package named nozomi-source
No package named python-gnome2
No package named python-gnome2-extras

 

Even searching on rpmfind I cant find them. But this program obviously runs on Suse and Fedora which are rpm based distros so where do they get these packages from? Or is there some alternative that they use and if so what is its Mandriva equivalent?

 

My feeling is that Python is a modern programming language, there is no way that Mandriva would not possess a full set of tools to utilise it, in fact if you search for 'python' in a package manager you will get dozens of entries. I think what is happening here is that the packages listed as dependencies to this program are called something slightly different in Mandriva and I just don't know which ones to install to make it work. I hope that is the case anyway because if it is then somebody will be able to offer a solution.

Link to comment
Share on other sites

Yes. Search the descriptions for python and read the files, looking for the other details. I think that a little investigation like this will yield good results. Ramfree's idea of making an rpm and using the package manager is excellent.

Link to comment
Share on other sites

Chances are the package names within Mandriva are different to what you are typing, this is why it said package not found. Try this, for example:

 

urpmf --name glade

 

should yield some results for the glade package and then go from there with the rest, repeating the command but changing the package name to search for. Or use the gui package tool to search.

Link to comment
Share on other sites

Thanks all, I have just been having a look at the 'checkinstall' package which I must admit I had never heard of before. I haven't tried it at all, but from reading various documents and comments about it, it seems to rely on the standard source install commands of 'configure', 'make' and 'make install' with 'checkinstall' replacing the last command. Unfortunately the Vodafone Mobile Connect Driver is written in Python and python does not use this command set to install packages so unfortunately I don't think it will work.

 

Nice try though.

Link to comment
Share on other sites

Unfortunately the Vodafone Mobile Connect Driver is written in Python and python does not use this command set to install packages so unfortunately I don't think it will work.

You are correct, checkinstall will not work with this package. However, I see no reason why you would not be able to install it with the suggestion Ian has given you to find the proper package names used by Mandriva.

 

If you have a problem with the install, after installing the Mandriva deps (that you think are correct), please post the complete error message.

Link to comment
Share on other sites

Thanks Greg. I have tried Ian's suggestions but although I have installed a lot of Python packages I cannot get the software to load. However, I have found a way around it.

 

Just to explain the problem, I do a lot of travelling and whilst doing so I use gprs/3g modems to get on line. I have two of these, one works absolutely perfectly with Mandriva - I just use drakconnect to configure it and it connects every time. The other would not connect at all which is why I was trying to use the vodafone-linux software (which works on Ubuntu).

 

Just recently though I have found out that I can connect with the Vodafone modem (I am using it now) if I execute another command prior to starting kppp ( or wvdial). That command is

 

rmmod usb-storage

 

For some reason this command is not necessary in Ubuntu. Anyway if I do this and then modprobe the vendor and product id's for the device, the modem will connect. The difficulty with this is that issuing the 'rmmod usb-storage' command also removes any connections with other usb storage devices such as my external hard disk.

 

So my next question is this, can I modify the 'rmmod' command in some way (or use an alternative) so as to remove the storage module from the USB modem but not from every other USB device at the same time?

Link to comment
Share on other sites

rmmod usb-storage

 

For some reason this command is not necessary in Ubuntu. Anyway if I do this and then modprobe the vendor and product id's for the device, the modem will connect.

 

Cant you place the lines you type after "modprobe" not simple place them in /etc/modprobe.preload. so that they will be loaded every time you boot.

So you don't need to do "rmmod usb-storage"

Link to comment
Share on other sites

I have kind of done that willie although I guess your solution is a bit more elegant. I wrote a small shell script and put it in ~/.kde/Autostart. This works beautifully for the '3 mobile' modem I can use drakconnect to connect to it with no additional commands necessary. Unfortunately the exact same procedure doesn't work at all for the Vodafone modem, I have no idea why.

Link to comment
Share on other sites

You could try using
rmmod -w usb-storage

that should not allow anyone new to use the module, and keep everything already using it happy.

 

That sounds like a really good idea Greg, but looking at the man page I came upon this little snippet:

 

 

Noone will be able to use the module but it's up to you to make sure the current users eventually finish with it.

 

Do you know what that means?

 

I'll give it a try anyway.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...