Issue #412 has been updated by Nick Milas.

Thanks. 

So, to avoid the reported problem (after my own testing): 

We can change (for a pre-31 REL_ENG openldap version) ol_patch=X to 
ol_patch=30.1 (and repack as openldap-2.4.30.1.tgz).

Then we use (as usual) LTB-OpenLDAP src.rpm (v2.4.30) and change in 
openldap-ltb.spec:
<pre>
%define real_version     2.4.30.1
</pre>
We successfully built and installed the RPMs:
<pre>
openldap-ltb-2.4.30.1-1.x86_64.rpm
openldap-ltb-contrib-overlays-2.4.30.1-1.x86_64.rpm
openldap-ltb-debuginfo-2.4.30.1-1.x86_64.rpm
</pre>
Everything works OK.

In future upgrades (e.g. with some next REL_ENG, before final 2.4.31), I 
believe it would be fine (for yum/rpm) to similarly produce:
<pre>
openldap-ltb-2.4.30.2-1.x86_64.rpm
</pre>

Alternatively, we could change:

    ol_patch=31

and in openldap-ltb.spec:

    %define real_version     2.4.31
    %define release_version  1%{?dist}

and it would be OK too. In future upgrades, it would be enough to change:

    %define release_version  2%{?dist}

to allow for correct rpm/yum updates.

Yes, you can close this issue. 

(Note that the above would be useful info for reference - perhaps in a FAQ.)

----------------------------------------
Feature #412: Library dependencies in RPMs built from src.rpm
http://tools.lsc-project.org/issues/412

Author: Nick Milas
Status: New
Priority: Normal
Assigned to: 
Category: OpenLDAP RPM
Target version: openldap-rpm-?


I am having problems upgrading from a pre-30 openldap-ltb version which I built 
using a 2.4.28 src.rpm; I am trying to upgrade to openldap-ltb-2.4.30. 

The problem is that a Postfix package which was built and installed on the same 
server (as an RPM) based on the pre-30 version, complains; More specifically, 
when upgrading, I see:
<pre>
# rpm -Uvh *
error: Failed dependencies:
        liblber-2.4-releng.so.2()(64bit) is needed by (installed) 
postfix-2.9.1-1.pcre.sasl2.dovecot.rhel5.x86_64
        libldap-2.4-releng.so.2()(64bit) is needed by (installed) 
postfix-2.9.1-1.pcre.sasl2.dovecot.rhel5.x86_64
</pre>

I noticed that in an installation of openldap-ltb 2.4.30 (on another server) 
the libraries are: 
<pre>
# ls -la /usr/local/openldap/lib64/
total 4312
drwxr-xr-x  2 ldap ldap    4096 Mar 22 18:01 .
drwxr-xr-x 10 ldap ldap    4096 Mar 22 18:01 ..
lrwxrwxrwx  1 ldap ldap      20 Mar 22 18:01 liblber-2.4.so.2 -> 
liblber-2.4.so.2.8.3
-rw-r--r--  1 ldap ldap  171360 Mar  9 19:43 liblber-2.4.so.2.8.3
-rw-r--r--  1 ldap ldap   99046 Mar  9 19:50 liblber.a
-rw-r--r--  1 ldap ldap     864 Mar  9 19:43 liblber.la
lrwxrwxrwx  1 ldap ldap      20 Mar 22 18:01 liblber.so -> liblber-2.4.so.2.8.3
lrwxrwxrwx  1 ldap ldap      20 Mar 22 18:01 libldap-2.4.so.2 -> 
libldap-2.4.so.2.8.3
-rw-r--r--  1 ldap ldap 1096041 Mar  9 19:43 libldap-2.4.so.2.8.3
-rw-r--r--  1 ldap ldap  533294 Mar  9 19:50 libldap.a
-rw-r--r--  1 ldap ldap     924 Mar  9 19:43 libldap.la
lrwxrwxrwx  1 ldap ldap      22 Mar 22 18:01 libldap_r-2.4.so.2 -> 
libldap_r-2.4.so.2.8.3
-rw-r--r--  1 ldap ldap 1201498 Mar  9 19:43 libldap_r-2.4.so.2.8.3
-rw-r--r--  1 ldap ldap  589700 Mar  9 19:50 libldap_r.a
-rw-r--r--  1 ldap ldap     947 Mar  9 19:43 libldap_r.la
lrwxrwxrwx  1 ldap ldap      22 Mar 22 18:01 libldap_r.so -> 
libldap_r-2.4.so.2.8.3
lrwxrwxrwx  1 ldap ldap      20 Mar 22 18:01 libldap.so -> libldap-2.4.so.2.8.3
lrwxrwxrwx  1 ldap ldap      21 Mar 22 18:01 libslapi-2.4.so.2 -> 
libslapi-2.4.so.2.8.3
-rw-r--r--  1 ldap ldap  442804 Mar  9 19:44 libslapi-2.4.so.2.8.3
-rw-r--r--  1 ldap ldap  208404 Mar  9 19:50 libslapi.a
-rw-r--r--  1 ldap ldap     862 Mar  9 19:44 libslapi.la
lrwxrwxrwx  1 ldap ldap      21 Mar 22 18:01 libslapi.so -> 
libslapi-2.4.so.2.8.3
</pre>

However, in an installation of a pre-30 built using 2.4.28 src.rpm I see: 
<pre>
# ls -la /usr/local/openldap/lib64/
total 4356
drwxr-xr-x  2 ldap ldap    4096 Feb 25 18:44 .
drwxr-xr-x 10 ldap ldap    4096 Feb 25 18:39 ..
-rw-r--r--  1 ldap ldap   44543 Mar 24  2011 check_password.so
lrwxrwxrwx  1 ldap ldap      27 Feb 25 18:44 liblber-2.4-releng.so.2 -> 
liblber-2.4-releng.so.2.8.2
-rw-r--r--  1 ldap ldap  171368 Feb 25 18:38 liblber-2.4-releng.so.2.8.2
-rw-r--r--  1 ldap ldap   99046 Feb 25 18:39 liblber.a
-rw-r--r--  1 ldap ldap     885 Feb 25 18:38 liblber.la
lrwxrwxrwx  1 ldap ldap      27 Feb 25 18:44 liblber.so -> 
liblber-2.4-releng.so.2.8.2
lrwxrwxrwx  1 ldap ldap      27 Feb 25 18:44 libldap-2.4-releng.so.2 -> 
libldap-2.4-releng.so.2.8.2
-rw-r--r--  1 ldap ldap 1096041 Feb 25 18:38 libldap-2.4-releng.so.2.8.2
-rw-r--r--  1 ldap ldap  533294 Feb 25 18:39 libldap.a
-rw-r--r--  1 ldap ldap     945 Feb 25 18:38 libldap.la
lrwxrwxrwx  1 ldap ldap      29 Feb 25 18:44 libldap_r-2.4-releng.so.2 -> 
libldap_r-2.4-releng.so.2.8.2
-rw-r--r--  1 ldap ldap 1201506 Feb 25 18:38 libldap_r-2.4-releng.so.2.8.2
-rw-r--r--  1 ldap ldap  589700 Feb 25 18:39 libldap_r.a
-rw-r--r--  1 ldap ldap     968 Feb 25 18:38 libldap_r.la
lrwxrwxrwx  1 ldap ldap      29 Feb 25 18:44 libldap_r.so -> 
libldap_r-2.4-releng.so.2.8.2
lrwxrwxrwx  1 ldap ldap      27 Feb 25 18:44 libldap.so -> 
libldap-2.4-releng.so.2.8.2
lrwxrwxrwx  1 ldap ldap      28 Feb 25 18:44 libslapi-2.4-releng.so.2 -> 
libslapi-2.4-releng.so.2.8.2
-rw-r--r--  1 ldap ldap  442804 Feb 25 18:38 libslapi-2.4-releng.so.2.8.2
-rw-r--r--  1 ldap ldap  208404 Feb 25 18:39 libslapi.a
-rw-r--r--  1 ldap ldap     883 Feb 25 18:38 libslapi.la
lrwxrwxrwx  1 ldap ldap      28 Feb 25 18:44 libslapi.so -> 
libslapi-2.4-releng.so.2.8.2
</pre>

So, I have the following questions:

1. Why there are these differences between the libraries of the two versions? 

2. Why Postfix, when being built, did not simply use liblber.so and libldap.so 
but it registered the full name of the libraries? 
I built using:
<pre>
CCARGS="${CCARGS} -DHAS_LDAP -I/usr/local/openldap/include"
AUXLIBS="${AUXLIBS} -L/usr/local/openldap/lib64 -lldap -llber"
</pre>

3. Is there a way in which I can build other software RPMs (using LTB Openldap 
libraries) forcing the use of libldap.so and liblber.so so that (the exact name 
of the library is not used by the RPM build mechanism and) upgrade problems may 
be avoided?

After such errors, I am afraid that I might have more such upgrade problems in 
the future.

Please advise.

Regards and thanks.


-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
http://tools.lsc-project.org/my/account
_______________________________________________
ltb-dev mailing list
[email protected]
http://lists.ltb-project.org/listinfo/ltb-dev

Reply via email to