ports/64662: net/openldap22-client installs misnamed files into /usr/local/lib

Paul Seniura pdseniura at techie.com
Wed Mar 24 18:00:33 UTC 2004


>Number:         64662
>Category:       ports
>Synopsis:       net/openldap22-client installs misnamed files into /usr/local/lib
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed Mar 24 10:00:32 PST 2004
>Closed-Date:
>Last-Modified:
>Originator:     "Paul Seniura" <pdseniura at techie.com>
>Release:        FreeBSD 5.2-CURRENT i386
>Organization:
State of Okla. D.O.T.
>Environment:
System: FreeBSD techpc04.okladot.state.ok.us 5.2-CURRENT FreeBSD 5.2-CURRENT #0: Tue Mar 23 03:34:06 CST 2004 root at techpc04.okladot.state.ok.us:/usr/obj/src/sys/IBM300SY_4BSD_O2 i386


>Description:

There are several problems in building net/openldap22-client from ports.
These problems are preventing the updates of other ports, most notably KDE.


-*- Problem #1 -*-

In my /etc/make.conf I have specified the following:
WANT_OPENLDAP_VERSION=22
WITH_OPENLDAP_VERSION=22
USE_OPENLDAP_VERSION=22
But I cannot get *anything* to follow suit -- the build system uses 21 for these parms no matter what I do in the 'normal' manner.
I searched high & low under the /src/ports tree for what is causing this bug.  It seems the '?=' equation in /src/ports/Mk/bsd.port.mk is not being honoured (always acting like a straight '='), or my /etc/make.conf parms are not being read-in and thus are not set before bsd.port.mk kicks in.
So I manually editted bsd.port.mk on line 1264; here's a diff:
-WANT_OPENLDAP_VER?=    21
+WANT_OPENLDAP_VER?=    22
Now finally the build system recognizes that I really do want 22 for my OpenLDAP version.


-*- Problem #2 -*-

The recent commits for KDE and other ports should be able to recognize and use the 22 version of OpenLDAP, esp. after the above fix to 'force' things to use 22 as the OpenLDAP version wanted.
But the actual building & installing of net/openldap22-client is misnaming some files that cause other builds to fail.
Building x11/kdelibs3, for example, is not able to find the required ldap.202 item:

--->  Session started at: Wed, 24 Mar 2004 10:46:11 -0600
--->  Upgrade of x11/kdelibs3 started at: Wed, 24 Mar 2004 10:47:16 -0600
--->  Upgrading 'kdelibs-3.2.1_1' to 'kdelibs-3.2.1_2' (x11/kdelibs3)
--->  Build of x11/kdelibs3 started at: Wed, 24 Mar 2004 10:47:16 -0600
--->  Building '/usr/ports/x11/kdelibs3'
===>  Vulnerability check disabled
===>  Extracting for kdelibs-3.2.1_2
>How-To-Repeat:

I am following -Current via CTM ports-cur and src-cur.  The most recent CTM bucket came overnight (CST).
I downloaded today's commits for openldap22-server from cvsweb.freebsd.org since CTM won't send them out 'til later today.
This is my current header for openldap22-server/Makefile:
# $FreeBSD: /repoman/r/pcvs/ports/net/openldap22-server/Makefile,v 1.85 2004/03/24 11:50:50 eik Exp $
There was an update for the patch in files/manpages, too, which I pulled a verbatim copy from cvsweb.
A third part of today's commit effectively removed files/patch-build::version.var, which I moved by hand so it wouldn't be used during the build.
This should've brought me up to a current CVS-like snapshot of net/openldap22-server.
Use the above changes to bsd.port.mk so it will 'force' things to use 22 as the OpenLDAP version wanted.
Do a portupgrade of net/openldap22-client and look at what is installed under /usr/local/lib.
Next do a portupgrade of x11/kdelibs3 and it'll not be able to find ldap.22 as shown above.


>Fix:

To 'force' 22 for the OpenLDAP version being wanted, do the manual edit of /src/ports/Mk/bsd.port.mk as shown in Problem #1 above.
The real fix here needs to cause '?=' to actually work as expected when the user has set the values in /etc/make.conf beforehand.

As for the misnamed libs in Problem #2, I will try symlinks under /usr/local/lib to name them properly.
The real fix should be to the way the Makefile is altering these filenames in its REINPLACE lines (or whatever).


>Release-Note:
>Audit-Trail:
>Unformatted:
 >> Checksum OK for KDE/kdelibs-3.2.1.tar.bz2.
 ===>  Patching for kdelibs-3.2.1_2
 ===>  Applying FreeBSD patches for kdelibs-3.2.1_2
 ===>   kdelibs-3.2.1_2 depends on executable: mkfontdir - found
 ===>   kdelibs-3.2.1_2 depends on file: /usr/X11R6/bin/moc - found
 ===>   kdelibs-3.2.1_2 depends on executable: gmake - found
 ===>   kdelibs-3.2.1_2 depends on shared library: art_lgpl_2.5 - found
 ===>   kdelibs-3.2.1_2 depends on shared library: artsc.0 - found
 ===>   kdelibs-3.2.1_2 depends on shared library: cups.2 - found
 ===>   kdelibs-3.2.1_2 depends on shared library: fam.0 - found
 ===>   kdelibs-3.2.1_2 depends on shared library: idn - found
 ===>   kdelibs-3.2.1_2 depends on shared library: jasper - found
 ===>   kdelibs-3.2.1_2 depends on shared library: tiff.4 - found
 ===>   kdelibs-3.2.1_2 depends on shared library: xml2.5 - found
 ===>   kdelibs-3.2.1_2 depends on shared library: xslt.2 - found
 ===>   kdelibs-3.2.1_2 depends on shared library: pcre.0 - found
 ===>   kdelibs-3.2.1_2 depends on shared library: ldap.202 - not found
 ===>    Verifying install for ldap.202 in /usr/ports/net/openldap22-client
 ===>   Returning to build of kdelibs-3.2.1_2
 Error: shared library "ldap.202" does not exist
 *** Error code 1
 
 Stop in /src/ports/x11/kdelibs3.
 ** Command failed [exit code 1]: /usr/bin/script -qa /tmp/portupgrade77881.0 make
 ** Fix the problem and try again.
 --->  Build of x11/kdelibs3 ended at: Wed, 24 Mar 2004 10:48:12 -0600 (consumed 00:00:55)
 --->  Upgrade of x11/kdelibs3 ended at: Wed, 24 Mar 2004 10:48:12 -0600 (consumed 00:00:55)
 --->  Reporting the results (+:done / -:ignored / *:skipped / !:failed)
 	! x11/kdelibs3 (kdelibs-3.2.1_1)	(dependent libraries)
 --->  Session ended at: Wed, 24 Mar 2004 10:48:12 -0600 (consumed 00:02:00)
 
 The libs can't be found because after fixing Problem #1 above, openldap22-client did not name the libs properly:
 # cd /usr/local/lib ; ll lib*202*
 -rw-r--r--  1 root  wheel   60876 Mar 24 10:09 liblber-202:7:3.so
 -rw-r--r--  1 root  wheel  236694 Mar 24 10:09 libldap-202:7:3.so
 -rw-r--r--  1 root  wheel  257927 Mar 24 10:10 libldap_r-202:7:3.so
 According to the pkg-plist.client file for openldap22-server, the libs should be named:
 lib/liblber.so.202
 lib/libldap_r.so.202
 
 That's where I stopped to file this PR.  ;)
 
 



More information about the freebsd-ports-bugs mailing list