From owner-freebsd-ports@FreeBSD.ORG Fri Jun 11 16:03:34 2010 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E88121065670 for ; Fri, 11 Jun 2010 16:03:34 +0000 (UTC) (envelope-from swhetzel@gmail.com) Received: from mail-ww0-f54.google.com (mail-ww0-f54.google.com [74.125.82.54]) by mx1.freebsd.org (Postfix) with ESMTP id 088EC8FC17 for ; Fri, 11 Jun 2010 16:03:33 +0000 (UTC) Received: by wwb22 with SMTP id 22so1116696wwb.13 for ; Fri, 11 Jun 2010 09:03:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=mvnevfNZd82lUV0kKrqh+TssGWcgYlLHbGGMj2TBL9c=; b=DfKoVsPtxolr2yPYOLz2y+dUwrhRdUFx9izmiln/e3L++Esi7KxXG2JWDzuJ+oDE3D 5p28sBFbN0x3W37y18rsLfqQw7njJTW3uUTVz9s2gxJer9Nt775K1CSkZubZ+8dnr5ff 6NFaq9q3OtCPCwEFbqnEPND9myJzzJBmqUEsU= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=xLH2j+tAFRGVSv7ucif9homrk3HalTgwSX3ruOUaluFus8OLO859QWYguxWrtpcQys Ps/q1uUtJHf6YCKlYHaUFMh4OgF75k7ei5rK8D41xOXQQX+Yxtk8xJ9W4F0BVBaFypcp 2v4uXc/W9QGhc+JSORepMP5601wXvt2dgfzok= MIME-Version: 1.0 Received: by 10.227.144.129 with SMTP id z1mr2123793wbu.3.1276270808458; Fri, 11 Jun 2010 08:40:08 -0700 (PDT) Received: by 10.216.29.73 with HTTP; Fri, 11 Jun 2010 08:40:08 -0700 (PDT) In-Reply-To: References: <4C1166C6.600@FreeBSD.org> <4C11E9EB.6080101@FreeBSD.org> Date: Fri, 11 Jun 2010 10:40:08 -0500 Message-ID: From: Scot Hetzel To: Helmut Schneider , Gabor Kovesdan Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: freebsd-ports@freebsd.org Subject: Re: amavisd-new does not compile because of db42 X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Jun 2010 16:03:35 -0000 On Fri, Jun 11, 2010 at 4:08 AM, Helmut Schneider wrote: > Gabor Kovesdan wrote: > >> > >> >=3D=3D=3D> =A0 =A0Running ldconfig >> > /sbin/ldconfig -m /usr/local/lib >> >=3D=3D=3D> =A0 =A0Registering installation for db42-4.2.52_5 >> >=3D=3D=3D> =A0 =A0Returning to build of amavisd-new-2.6.4_6,1 >> > Error: shared library "db-4.2.2" does not exist >> > *** Error code 1 >> > >> > Stop in /usr/ports/security/amavisd-new. >> > *** Error code 1 >> > >> > >> It seems that it cannot find the library but amavisd-new uses the >> USE_BDB know from bsd.databases.mk just like quite a bunch of other >> ports, so the dependency definition is obviously correct. I don't >> know what causes this error and I haven't got any more PRs from other >> users. Soon, I'll bump the required version again because after the >> last change I got some mails that say newer versions operate even >> better with amavisd-new. I'll just talk to the developer to see, >> which version would be the optimal one or we can just pull in the >> latest bdb version. I'd say let's wait for that update and hopefully >> that will also solve your problem. > > # make clean > =3D=3D=3D> =A0Cleaning for amavisd-new-2.6.4_6,1 > # env make depends > =3D=3D=3D> =A0 amavisd-new-2.6.4_6,1 depends on shared library: db-4.2.2 = - found > [...] > # env make depends -DWITH_RAR > =3D=3D=3D> =A0 amavisd-new-2.6.4_6,1 depends on shared library: db-4.2.2 = - not > found > [...] > # > > I then commented out "IA32_BINARY_PORT=3Dyes" from the WITH_RAR section > in the Makefile and guess what?! :) > > # env make depends -DWITH_RAR > =3D=3D=3D> =A0 amavisd-new-2.6.4_6,1 depends on shared library: db-4.2.2 = - found > [...] > # portupgrade -N amavisd-new\* > [Updating the pkgdb in /var/db/pkg ... - 224 > packages found (-0 +1) . done] > [Gathering depends for security/amavisd-new > ........................................................................ > ........................................................................ > ........................................................................ > ...... done] > ---> =A0Installing 'amavisd-new-2.6.4_6,1' from a port > (security/amavisd-new) > ---> =A0Building '/usr/ports/security/amavisd-new' with make flags: > -DWITH_BDB -DWITH_SNMP -DWITH_POF -DWITH_RAR -DWITH_UNRAR -DWITH_UNARJ > -DWITH_NOMARCH -DWITH_UNZOO -DWITH_TNEF > =3D=3D=3D> =A0Cleaning for amavisd-new-2.6.4_6,1 > cd /usr/ports/security/amavisd-new && make config; > [...] > =3D=3D=3D> =A0 amavisd-new-2.6.4_6,1 depends on shared library: db-4.2.2 = - found > [...] > # > > Does that help? :) > The use as defined in bsd.port.mk for the IA32_BINARY_PORT variable is incorrectly being used in the amavisd-new port: # IA32_BINARY_PORT # - Set this instead of ONLY_FOR_ARCHS if the given port # fetches and installs compiled i386 binaries. When this variable is set it changes how ldconfig searches for libraries by setting the -32 to ldconfig. This prevents the port from properly detecting any 64bit libraries and only looks for 32bit libraries. The reason that only db42 is being affected is because most of the ports dependancies are RUN_DEPENDS. The correct way to the amavisd-new port would be to change this: .if defined(WITH_RAR) IA32_BINARY_PORT=3D yes RUN_DEPENDS+=3D ${LOCALBASE}/bin/rar:${PORTSDIR}/archivers/rar .endif To this: .if defined(WITH_RAR) # support for archivers/rar is broken on ia64 .if ${ARCH} =3D=3D"i386" || ${ARCH} =3D=3D "amd64" RUN_DEPENDS+=3D ${LOCALBASE}/bin/rar:${PORTSDIR}/archivers/rar .else IGNORE=3D archviers/rar is a 32-bit binary port and is not compatible with = ${ARCH} .endif .endif Note: This may need to be moved after the bsd.port.pre.mk. Scot