LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Ubuntu (https://www.linuxquestions.org/questions/ubuntu-63/)
-   -   Ubuntu 8.04 + wine 0.9.53 - resolving broken libldap2 dependency (https://www.linuxquestions.org/questions/ubuntu-63/ubuntu-8-04-wine-0-9-53-resolving-broken-libldap2-dependency-695337/)

ErV 01-06-2009 08:30 AM

Ubuntu 8.04 + wine 0.9.53 - resolving broken libldap2 dependency
 
Hello.

I'm running ubuntu 8.04, and I have following problem:
I have windows software that right now works on wine-0.9.53 only. Wine 0.9.53 isn't available for 8.04 from ubuntu repositories, so I installed package for ubuntu 6 (0.9.53~winehq0~ubuntu~6.10). Package is pinned down according to those instructions. Now there is a problem.

wine 0.9.53 package for ubuntu6 depends on libldap2 package which is unavailable for 8.04 and is replaced by libldap package. Because of this system see package as broken (although it works fine) and fails to do automatic update. System wants to remove package and can't do it, because it is pinned down.
In synaptic within properties of wine-0.9.53 package libldap2 is bold (as I undersrtand it, this means unsatisfied dependency).
"sudo apt-get install libldap2" tells me that libldap2 package is not avilable, but alternatives are "slapd" and "libldap-2.4.2". Those packages are already installed, but apparently they doesn't resolve broken dependency in wine-0.9.53.

I'd like to fix that problem using package manager (I know I can recompile from source, etc). How can I do that? Upgrading to latest wine version is not an option. Is there a way to remove libldap2 from dependencies of installed wine-0.9.53 package, or replace it with valid dependency on libldap > 2? Or can I somehow tell the system that libldap package is the same as libldap2?

Thanks for your time.

P.S. Originally I wanted to replace distribution with something else, but apprently there will be a free space problem, and this will require too much time. So I decided to fix the problem after all.

ErV 01-07-2009 09:01 AM

There was no reply within last 24 hours, so I will ask same question on ubuntuforums.org instead. Thanks to everyone who looked at this thread.

ErV 01-18-2009 11:52 AM

[rant]
There was no reply within last 11 days neither here, nor on ubuntu forums. This is very disappointing.
I expected Ubuntu community to be more knowledgeable/experienced, since the problem isn't incredibly difficult, although it effectively disabled entire automatic update system. So much for being "user-friendly", I guess.
[/rant]

Anyway, I was able to fix this problem.

In situation like this (when you have broken dependency, and installing missing dependency is not possible), the only solution is to create virtual package (which is also called "dummy package" or "meta package") - i.e. empty package that tells system that it provides missing dependency.

In my case (required libldap2 >= 2.1.17-1):
1) go to any directory
2) mkdir libldap2/DEBIAN
3) vim libldap2/DEBIAN/control . Or use any other texteditor.
4) in file enter text:
Code:

Section: otherosfs
Package: libldap2
Priority: optional
Description: libldap2 dummy package
 This package provides dpkg with the information that
 there is a libldap2 installed
 .
version: 2.1.18
maintainer: erv<erv@example.net>
architecture: i386

syntax of "control" file is explained somewhere on the web or in manpages.
5) save file, exit vim (or any text editor).
6) "sudo dpkg -b libldap2" (this will create package libldap2.deb)
7) "sudo dpkg -i libldap2.deb"

Done. Now package manager won't complain about missing dependency anymore.

I really think that there should be easier way to do that (some kind of "package aliases" in synaptic, or anywhere else), but it looks like there isn't. Or it could be avoided if downloaded packages could be edited by hand. But alas, this is the only way to fix dependency.


All times are GMT -5. The time now is 05:06 AM.