Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 8 Feb 2013 21:15:03 +0100
From:      Raphael Eiselstein <rabe@uugrn.org>
To:        ports@freebsd.org
Subject:   mutt vs db44: Shared object "libdb-4.4.so.0" not found, required by "mutt"
Message-ID:  <20130208201503.GB4018@ma.sigsys.de>

next in thread | raw e-mail | index | archive | help

--gj572EiMnwbLXET9
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Hi,

there might be an issue with the mail/mutt port which interferes with
the db44-* Port.

In my build-jail ("fbsd9.uugrn.org") I have db41, db42 and db44 due to=20
some dependencies:

[root@fbsd9 ~]# pkg_info | grep ^db4
db41-4.1.25_4       The Berkeley DB package, revision 4.1
db42-4.2.52_5       The Berkeley DB package, revision 4.2
db44-4.4.20.4       The Berkeley DB package, revision 4.4

When building mutt here, it depends on db41 and db42:
[root@fbsd9 ~]# pkg_info -Rr mutt*=20
Information for mutt-1.5.21_1:

Depends on:
Dependency: ispell-3.3.02_5
Dependency: openssl-1.0.1_6
Dependency: mime-support-3.52.2
Dependency: pkgconf-0.8.9
Dependency: sqlite3-3.7.14.1
Dependency: mysql-client-5.5.30
Dependency: db42-4.2.52_5         ***
Dependency: db41-4.1.25_4         ***
Dependency: cyrus-sasl-2.1.26_2
Dependency: libiconv-1.14
Dependency: gettext-0.18.1.1
Dependency: libidn-1.26

=2E.. but the mutt binary is linked against db44!

[root@fbsd9 ~]# ldd $(which mutt)
/usr/local/bin/mutt:
        libncursesw.so.8 =3D> /lib/libncursesw.so.8 (0x8008cf000)
        libssl.so.8 =3D> /usr/local/lib/libssl.so.8 (0x800b2a000)
        libcrypto.so.8 =3D> /usr/local/lib/libcrypto.so.8 (0x800d90000)
        libz.so.6 =3D> /lib/libz.so.6 (0x801165000)
        libsasl2.so.3 =3D> /usr/local/lib/libsasl2.so.3 (0x801379000)
        libintl.so.9 =3D> /usr/local/lib/libintl.so.9 (0x801594000)
        libiconv.so.3 =3D> /usr/local/lib/libiconv.so.3 (0x80179e000)
        libidn.so.17 =3D> /usr/local/lib/libidn.so.17 (0x801a9a000)
***     libdb-4.4.so.0 =3D> /usr/local/lib/libdb-4.4.so.0 (0x801ccc000) ***
        libc.so.7 =3D> /lib/libc.so.7 (0x801fd5000)
        libthr.so.3 =3D> /lib/libthr.so.3 (0x802328000)

[root@fbsd9 ~]# pkg_which /usr/local/lib/libdb-4.4.so.0
db44-4.4.20.4

db44* is (only!) required by the inn-Port:
[root@fbsd9 ~]# pkg_info -Rr db44-*
Information for db44-4.4.20.4:

Depends on:
Required by:
inn-2.5.2_3


Even so the recorded package dependencies. I verify packets (*.tbz)=20
in my qa-jail ("qa.uugrn.org"):

root@qa:/root # ldd /usr/local/bin/mutt
/usr/local/bin/mutt:
        libncursesw.so.8 =3D> /lib/libncursesw.so.8 (0x8008cf000)
        libssl.so.8 =3D> /usr/local/lib/libssl.so.8 (0x800b2a000)
        libcrypto.so.8 =3D> /usr/local/lib/libcrypto.so.8 (0x800d90000)
        libz.so.6 =3D> /lib/libz.so.6 (0x801165000)
        libsasl2.so.3 =3D> /usr/local/lib/libsasl2.so.3 (0x801379000)
        libintl.so.9 =3D> /usr/local/lib/libintl.so.9 (0x801594000)
        libiconv.so.3 =3D> /usr/local/lib/libiconv.so.3 (0x80179e000)
        libidn.so.17 =3D> /usr/local/lib/libidn.so.17 (0x801a9a000)
***     libdb-4.4.so.0 =3D> /usr/local/lib/libdb-4.4.so.0 (0x801ccc000) ***
        libc.so.7 =3D> /lib/libc.so.7 (0x801fd5000)
        libthr.so.3 =3D> /lib/libthr.so.3 (0x802328000)
root@qa:/root # pkg_info -Rr "mutt-*"
Information for mutt-1.5.21_1:

Depends on:
Dependency: ispell-3.3.02_5
Dependency: openssl-1.0.1_6
Dependency: mime-support-3.52.2
Dependency: pkgconf-0.8.9
Dependency: sqlite3-3.7.14.1
Dependency: mysql-client-5.5.30
Dependency: db42-4.2.52_5           ***
Dependency: db41-4.1.25_4           ***
Dependency: cyrus-sasl-2.1.26_2
Dependency: libiconv-1.14
Dependency: gettext-0.18.1.1
Dependency: libidn-1.26

root@qa:/root # pkg_which /usr/local/lib/libdb-4.4.so.0
db44-4.4.20.4

root@qa:/root # pkg_info -Rr /usr/ports/packages/All/mutt-1.5.21_1.tbz=20
Information for /usr/ports/packages/All/mutt-1.5.21_1.tbz: (!!!)

Depends on:
Dependency: ispell-3.3.02_5
Dependency: openssl-1.0.1_6
Dependency: mime-support-3.52.2
Dependency: pkgconf-0.8.9
Dependency: sqlite3-3.7.14.1
Dependency: mysql-client-5.5.30
Dependency: db42-4.2.52_5                 ***
Dependency: db41-4.1.25_4                 ***
Dependency: cyrus-sasl-2.1.26_2
Dependency: libiconv-1.14
Dependency: gettext-0.18.1.1
Dependency: libidn-1.26

The mutt-Makefile includes:

-----------------------------------------------------------------
=2Eif defined(WITH_MUTT_IMAP_HEADER_CACHE)
=2Eif defined(WITH_TOKYOCABINET)
CONFIGURE_ARGS+=3D        --enable-hcache --without-gdbm --without-bdb --wi=
th-tokyocabinet
LIB_DEPENDS+=3D tokyocabinet.9:${PORTSDIR}/databases/tokyocabinet
=2Eelse
USE_BDB=3D                42+
CONFIGURE_ARGS+=3D        --enable-hcache --without-gdbm --with-bdb
=2Eendif
=2Eelse
CONFIGURE_ARGS+=3D        --disable-hcache
=2Eendif
-----------------------------------------------------------------

=2E.. so 44 matches "42+" but the recorded dependencies in the
mutt-package are db41 and(!) db42, maybe depending on other libs.

I guess there are some more issues with dependencies in the mutt port,
docbook-* seems to be a dependency not registered in the package.

-----------------------
=3D=3D=3D>   Registering installation for docbook-xsl-1.76.1
=3D=3D=3D>   Returning to build of mutt-1.5.21_1
=3D=3D=3D>   mutt-1.5.21_1 depends on executable: lynx - found
=3D=3D=3D>   mutt-1.5.21_1 depends on file: /usr/local/bin/automake-1.12 - =
found
=3D=3D=3D>   mutt-1.5.21_1 depends on file: /usr/local/bin/autoconf-2.69 - =
found
=3D=3D=3D>   mutt-1.5.21_1 depends on shared library: sasl2 - found
=3D=3D=3D>   mutt-1.5.21_1 depends on shared library: idn - found
=3D=3D=3D>   mutt-1.5.21_1 depends on shared library: iconv.3 - found
=3D=3D=3D>   mutt-1.5.21_1 depends on shared library: intl - found
=3D=3D=3D>   mutt-1.5.21_1 depends on shared library: db-4.2.2 - found   **=
**=20
=3D=3D=3D>  Configuring for mutt-1.5.21_1
-----------------------
configure:10339: checking for BerkeleyDB > 4.0
configure:10370: cc -I/usr/local/include -o conftest -O2 -pipe
-Wl,-rpath,/usr/lib:/usr/local/lib -I/usr/include  -fno-strict-aliasing
-I/usr/include  -I/usr/local/include -I/usr/local/include
-I/usr/local/include/db44  -L/usr/local/lib
-rpath=3D/usr/local/lib:/usr/lib  -L/usr/local/lib -L/usr/local/lib
conftest.c  -L/usr/local/lib/db44 -ldb-4 >&5
configure:10370: $? =3D 0
configure:10388: result: yes
-----------------------

So the mail/mutt port and GNU Autoconf 2.69 see different things here.
The result is=20

root@qa:/root # mutt
Shared object "libdb-4.4.so.0" not found, required by "mutt"


How do I enforce registering meaningful dependencies to the mutt
package?=20

With best regards
Raphael Eiselstein

PS: [root@fbsd9 /var/tmp/usr/ports/mail/mutt/work/mutt-1.5.21]# uname -a
FreeBSD fbsd9.uugrn.org 9.1-RELEASE FreeBSD 9.1-RELEASE #1: Wed Jan  2
19:52:57 CET 2013     root@top3.uugrn.org:/usr/obj/usr/src/sys/VIMAGE
amd64

--=20
Raphael Eiselstein <rabe@uugrn.org>               http://rabe.uugrn.org/
xmpp:freibyter@gmx.de  | https://www.xing.com/profile/Raphael_Eiselstein  =
=20
GnuPG:                E7B2 1D66 3AF2 EDC7 9828  6D7A 9CDA 3E7B 10CA 9F2D
=2E........|.........|.........|.........|.........|.........|.........|..

--gj572EiMnwbLXET9
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: Digital signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)

iEYEARECAAYFAlEVXMcACgkQnNo+exDKny1//wCg3rQVKduNVLMnXpFsgpOpIO6/
CVQAnR7Ys7KdWInN5Co20wdShR+zf/sY
=NtqE
-----END PGP SIGNATURE-----

--gj572EiMnwbLXET9--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20130208201503.GB4018>