Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 261855 - circular dependency between net-nds/openldap-2.3.43-r1 and dev-libs/cyrus-sasl-2.1.22-r2
Summary: circular dependency between net-nds/openldap-2.3.43-r1 and dev-libs/cyrus-sas...
Status: RESOLVED CANTFIX
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High normal with 1 vote (vote)
Assignee: LDAP Herd
URL:
Whiteboard:
Keywords:
Depends on: circular-deps
Blocks:
  Show dependency tree
 
Reported: 2009-03-09 13:08 UTC by Gilles Dartiguelongue
Modified: 2012-02-12 21:43 UTC (History)
7 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Gilles Dartiguelongue gentoo-dev 2009-03-09 13:08:56 UTC
This is from a binpkg building chroot that I created this morning:

# emerge -1av gnome

These are the packages that would be merged, in order:

Calculating dependencies |
Fetching bininfo from http://su.perronet.esiee.net/pub/pentium3
cache miss: '0' --- cache hit: '0'                                            ... done!


[nomerge      ] gnome-base/gnome-2.24.1  USE="cdr cups dvdr ldap -accessibility -esd -mono"
[nomerge      ]  app-admin/sabayon-2.22.1  USE="-debug"
[nomerge      ]   dev-python/python-ldap-2.3.5  USE="sasl ssl -doc -examples"
[ebuild  N    ]    dev-libs/cyrus-sasl-2.1.22-r2  USE="crypt ldap pam ssl urandom -authdaemond -berkdb -gdbm -java -kerberos -mysql -ntlm_unsupported_patch -postgres -sample -srp"
[ebuild  N    ]     net-nds/openldap-2.3.43-r1  USE="crypt ipv6 minimal sasl ssl tcpd -berkdb -debug -gdbm -kerberos -odbc -overlays -perl -samba (-selinux) -slp -smbkrb5passwd"

 * Error: circular dependencies:

('ebuild', '/', 'net-nds/openldap-2.3.43-r1', 'merge') depends on
  ('ebuild', '/', 'dev-libs/cyrus-sasl-2.1.22-r2', 'merge') (hard)
('ebuild', '/', 'dev-libs/cyrus-sasl-2.1.22-r2', 'merge') depends on
  ('ebuild', '/', 'net-nds/openldap-2.3.43-r1', 'merge') (hard)

 * Note that circular dependencies can often be avoided by temporarily
 * disabling USE flags that trigger optional dependencies.

It seems that openldap[sasl] and cyrus-sasl[ldap] are the cause of this issue.
Comment 1 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2009-03-10 01:29:10 UTC
eva:
please provide your emerge --info.
This is an old old circular dep, but I'm not sure why it came back, I haven't seen it reported for a long time.

portage/zmedico:
What went wrong in the circular dep solver?
Comment 2 Zac Medico gentoo-dev 2009-03-10 01:53:31 UTC
Until bug 175808 is fixed, the best you can do is temporarily disable one of the flags which triggers the circularity. In this case you have to temporarily disable either ldap on dev-libs/cyrus-sasl or sasl on net-nds/openldap. This should do the trick:

 echo net-nds/openldap -sasl >> /etc/portage/package.use

Then just remove that setting later on and rebuild openldap.
Comment 3 Gilles Dartiguelongue gentoo-dev 2009-03-10 07:33:48 UTC
In my case it is more interesting to disable ldap backend in cyrus-sasl. Like said in bug #175808, splitting would be a solution but I would understand if it is considered too much work.

$ emerge --info
Portage 2.2_rc23 (default/linux/x86/2008.0/desktop, gcc-4.3.3, glibc-2.9_p20081201-r2, 2.6.28-gentoo-r1 i686)
=================================================================
System uname: Linux-2.6.28-gentoo-r1-i686-Pentium_III_-Katmai-with-glibc2.0
Timestamp of tree: Wed, 04 Mar 2009 20:20:01 +0000
distcc 3.1 i686-pc-linux-gnu [enabled]
ccache version 2.4 [enabled]
app-shells/bash:     3.2_p48-r1
dev-lang/python:     2.5.4-r2
dev-util/ccache:     2.4-r8
sys-apps/baselayout: 2.0.0
sys-apps/openrc:     0.4.3-r1
sys-apps/sandbox:    1.3.8
sys-devel/autoconf:  2.13, 2.63
sys-devel/automake:  1.5, 1.7.9-r1, 1.9.6-r2, 1.10.2
sys-devel/binutils:  2.19.1
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.6a
virtual/os-headers:  2.6.28-r1
ACCEPT_KEYWORDS="x86 ~x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=pentium3 -ftree-vectorize -g -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/lib/X11/xkb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/splash /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-O2 -march=pentium3 -ftree-vectorize -g -pipe -fvisibility-inlines-hidden"
DISTDIR="/var/tmp/distfiles"
FEATURES="buildpkg ccache distcc distlocks fixpackages metadata-transfer multilib-strict parallel-fetch preserve-libs protect-owned sandbox sfperms splitdebug strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://213.186.33.37/gentoo-distfiles/ http://213.186.33.38/gentoo-distfiles/ ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/"
LANG="fr_FR.UTF-8"
LC_ALL="fr_FR.UTF-8"
LDFLAGS="-Wl,-O1,--as-needed,--hash-style=gnu"
LINGUAS="fr en ja zh zh_CN"
MAKEOPTS="-j6 -l4.0"
PKGDIR="/var/tmp/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/portage/local/layman/voip /usr/portage/local/layman/sunrise /usr/portage/local/layman/suka /home/eva/devel/overlays/gentoo-misc /home/eva/devel/git/autotua/overlay"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="X a52 aac aalib acl acpi alsa applet asyncns avahi bash-completion bogofilter bzip2 cairo caps cdr cjk cli consolekit cracklib crypt cups daap dbus device-mapper dri dvd dvdr dvdread eds emboss encode evo exif fam fbcon ffmpeg flac freewnn galago gif git glitz gnome gnome-keyring gnutls gphoto2 gpm gstreamer gtk gtkhtml hal iconv ipv6 isdnlog jabber jpeg laptop lcms ldap libgda libnotify logrotate lzo mad matroska midi mmx mng mp3 mpeg mudflap musicbrainz nautilus ncurses nfs nls nntp nptl nptlonly nsplugin ogg openct opengl openmp pam pcre pdf perl png ppds pppd python qt3support quicktime readline reflection samba sasl sdl session smp spell spl sqlite sqlite3 sse ssl startup-notification subversion svg sysfs tcpd theora threads tiff tracker truetype unicode urandom usb v4l v4l2 vim-syntax vorbis x264 x86 xattr xcb xinerama xml xorg xulrunner xv xvid zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="dav dav_fs authn_file auth_digest authz_groupfile authz_host dir mime autoindex alias" APACHE2_MPMS="event" CAMERAS="canon ptp2" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LINGUAS="fr en ja zh zh_CN" USERLAND="GNU" VIDEO_CARDS="radeon vesa"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 4 DTS 2010-02-04 20:14:40 UTC
(In reply to comment #0)
> This is from a binpkg building chroot that I created this morning:
> 
> # emerge -1av gnome
> 
> These are the packages that would be merged, in order:
> 
> Calculating dependencies |
> Fetching bininfo from http://su.perronet.esiee.net/pub/pentium3
> cache miss: '0' --- cache hit: '0'                                           
> ... done!
> 
> 
> [nomerge      ] gnome-base/gnome-2.24.1  USE="cdr cups dvdr ldap -accessibility
> -esd -mono"
> [nomerge      ]  app-admin/sabayon-2.22.1  USE="-debug"
> [nomerge      ]   dev-python/python-ldap-2.3.5  USE="sasl ssl -doc -examples"
> [ebuild  N    ]    dev-libs/cyrus-sasl-2.1.22-r2  USE="crypt ldap pam ssl
> urandom -authdaemond -berkdb -gdbm -java -kerberos -mysql
> -ntlm_unsupported_patch -postgres -sample -srp"
> [ebuild  N    ]     net-nds/openldap-2.3.43-r1  USE="crypt ipv6 minimal sasl
> ssl tcpd -berkdb -debug -gdbm -kerberos -odbc -overlays -perl -samba (-selinux)
> -slp -smbkrb5passwd"
> 
>  * Error: circular dependencies:
> 
> ('ebuild', '/', 'net-nds/openldap-2.3.43-r1', 'merge') depends on
>   ('ebuild', '/', 'dev-libs/cyrus-sasl-2.1.22-r2', 'merge') (hard)
> ('ebuild', '/', 'dev-libs/cyrus-sasl-2.1.22-r2', 'merge') depends on
>   ('ebuild', '/', 'net-nds/openldap-2.3.43-r1', 'merge') (hard)
> 
>  * Note that circular dependencies can often be avoided by temporarily
>  * disabling USE flags that trigger optional dependencies.
> 
> It seems that openldap[sasl] and cyrus-sasl[ldap] are the cause of this issue.
> 

OMG!!! I got the same one! And I built my box 2 weeks ago! All new stage3, liveCD, rsynced, etc. This thing still on?
Comment 5 DTS 2010-02-04 20:19:18 UTC
(In reply to comment #4)
> (In reply to comment #0)
> > This is from a binpkg building chroot that I created this morning:
> > 
> > # emerge -1av gnome
> > 
> > These are the packages that would be merged, in order:
> > 
> > Calculating dependencies |
> > Fetching bininfo from http://su.perronet.esiee.net/pub/pentium3
> > cache miss: '0' --- cache hit: '0'                                           
> > ... done!
> > 
> > 
> > [nomerge      ] gnome-base/gnome-2.24.1  USE="cdr cups dvdr ldap -accessibility
> > -esd -mono"
> > [nomerge      ]  app-admin/sabayon-2.22.1  USE="-debug"
> > [nomerge      ]   dev-python/python-ldap-2.3.5  USE="sasl ssl -doc -examples"
> > [ebuild  N    ]    dev-libs/cyrus-sasl-2.1.22-r2  USE="crypt ldap pam ssl
> > urandom -authdaemond -berkdb -gdbm -java -kerberos -mysql
> > -ntlm_unsupported_patch -postgres -sample -srp"
> > [ebuild  N    ]     net-nds/openldap-2.3.43-r1  USE="crypt ipv6 minimal sasl
> > ssl tcpd -berkdb -debug -gdbm -kerberos -odbc -overlays -perl -samba (-selinux)
> > -slp -smbkrb5passwd"
> > 
> >  * Error: circular dependencies:
> > 
> > ('ebuild', '/', 'net-nds/openldap-2.3.43-r1', 'merge') depends on
> >   ('ebuild', '/', 'dev-libs/cyrus-sasl-2.1.22-r2', 'merge') (hard)
> > ('ebuild', '/', 'dev-libs/cyrus-sasl-2.1.22-r2', 'merge') depends on
> >   ('ebuild', '/', 'net-nds/openldap-2.3.43-r1', 'merge') (hard)
> > 
> >  * Note that circular dependencies can often be avoided by temporarily
> >  * disabling USE flags that trigger optional dependencies.
> > 
> > It seems that openldap[sasl] and cyrus-sasl[ldap] are the cause of this issue.
> > 
> 
> OMG!!! I got the same one! And I built my box 2 weeks ago! All new stage3,
> liveCD, rsynced, etc. This thing still on?
> 
And I got this as well:

These are the packages that would be merged, in order:

Calculating dependencies  ... done!
[ebuild  N    ] net-nds/openldap-2.4.19-r1  USE="berkdb crypt cxx icu ipv6 kerberos minimal perl ssl syslog tcpd -debug -experimental -gnutls -iodbc -odbc -overlays -samba -sasl (-selinux) -slp -smbkrb5passwd" 0 kB
[ebuild  N    ] dev-libs/cyrus-sasl-2.1.23-r1  USE="berkdb crypt gdbm kerberos ldap pam ssl -authdaemond -java -mysql -ntlm_unsupported_patch -postgres -sample -sqlite -srp -urandom" 0 kB

Total: 2 packages (2 new), Size of downloads: 0 kB


>>> Verifying ebuild manifests

>>> Starting parallel fetch

>>> Emerging (1 of 2) net-nds/openldap-2.4.19-r1
 * openldap-2.4.19.tgz RMD160 SHA1 SHA256 size ;-) ...                   [ ok ]
 * checking ebuild checksums ;-) ...                                     [ ok ]
 * checking auxfile checksums ;-) ...                                    [ ok ]
 * checking miscfile checksums ;-) ...                                   [ ok ]
 * CPV:  net-nds/openldap-2.4.19-r1
 * REPO: gentoo
 * USE:  amd64 berkdb crypt cxx elibc_glibc icu ipv6 kerberos kernel_linux minimal multilib perl ssl syslog tcpd userland_GNU
 * ERROR: net-nds/openldap-2.4.19-r1 failed:
 *   To build the ldapc++ library you must emerge openldap with sasl support
 * 
 * Call stack:
 *                   ebuild.sh, line  54:  Called pkg_setup
 *   openldap-2.4.19-r1.ebuild, line 206:  Called die
 * The specific snippet of code:
 *   		die "To build the ldapc++ library you must emerge openldap with sasl support"
 * 
 * If you need support, post the output of 'emerge --info =net-nds/openldap-2.4.19-r1',
 * the complete build log and the output of 'emerge -pqv =net-nds/openldap-2.4.19-r1'.
 * The complete build log is located at '/var/tmp/portage/net-nds/openldap-2.4.19-r1/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/net-nds/openldap-2.4.19-r1/temp/die.env'.
 * S: '/var/tmp/portage/net-nds/openldap-2.4.19-r1/work/openldap-2.4.19'

>>> Failed to emerge net-nds/openldap-2.4.19-r1, Log file:

>>>  '/var/tmp/portage/net-nds/openldap-2.4.19-r1/temp/build.log'

 * Messages for package net-nds/openldap-2.4.19-r1:

Comment 6 Josh Farwell 2010-06-11 05:59:33 UTC
This bug is back, and I can't install sudo! Using the solution suggested in the comments above won't work because I need ldap support in openldap to install sudo.

compy josh # emerge sudo

 * IMPORTANT: 2 news items need reading for repository 'gentoo'.
 * Use eselect news to read news items.

Calculating dependencies... done!


[nomerge      ] app-admin/sudo-1.7.2_p7  USE="ldap pam -offensive (-selinux) -skey" 
[ebuild  N    ]  dev-libs/cyrus-sasl-2.1.23-r1  USE="berkdb crypt gdbm java ldap pam ssl -authdaemond -kerberos -mysql -ntlm_unsupported_patch -postgres -sample -sqlite -srp -urandom" 1,576 kB
[ebuild  N    ]   net-nds/openldap-2.4.19-r1  USE="berkdb crypt cxx ipv6 minimal perl samba sasl ssl tcpd -debug -experimental -gnutls -icu -iodbc -kerberos -odbc -overlays (-selinux) -slp -smbkrb5passwd -syslog" 0 kB

Total: 2 packages (2 new), Size of downloads: 1,576 kB

 * Error: circular dependencies:

('ebuild', '/', 'dev-libs/cyrus-sasl-2.1.23-r1', 'merge') depends on
  ('ebuild', '/', 'net-nds/openldap-2.4.19-r1', 'merge') (buildtime)
('ebuild', '/', 'net-nds/openldap-2.4.19-r1', 'merge') depends on
  ('ebuild', '/', 'dev-libs/cyrus-sasl-2.1.23-r1', 'merge') (buildtime)

 * Note that circular dependencies can often be avoided by temporarily
 * disabling USE flags that trigger optional dependencies.

 * IMPORTANT: 2 news items need reading for repository 'gentoo'.
 * Use eselect news to read news items.


Thanks.
Comment 7 Sebastian Luther (few) 2010-06-11 08:07:48 UTC
Either disable ldap for dev-libs/cyrus-sasl or disable sasl net-nds/openldap.
Comment 8 Josh Farwell 2010-06-11 16:15:10 UTC
(In reply to comment #7)
> Either disable ldap for dev-libs/cyrus-sasl or disable sasl net-nds/openldap.
> 

That seemed to work, thank you.
Comment 9 Eray Aslan gentoo-dev 2011-05-09 06:45:49 UTC
Changed ldap USE flag to openldap in dev-libs/cyrus-sasl. Otherwise, this will cause endless grief especially now that postfix has ldap? ( >=net-nds/openldap-1.2[sasl?] ) in DEPEND.

Leaving it to the ldap herd whether to leave the bug open or to close it.
Comment 10 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2012-02-12 21:43:21 UTC
Ok, closing this for now.

It will be back in future until the circular dep solver gets better.