samba < 4.9 is incompatible with ldb >= 1.4.0 Current ebuild dependency: >=sys-libs/ldb-1.3.4[ldap(+)?,python?,${PYTHON_USEDEP},${MULTILIB_USEDEP}] It pulls in sys-libs/ldb-1.4.1 and build fails with the following message: In file included from ../source4/dsdb/common/util.c:27:0: /usr/include/ldb_module.h:68:2: error: #error "Samba < 4.9 is not compatible with this version of ldb due to assumptions around fork() behaviour" It seems that samba should depend on version range (>=1.3.4 and <1.4.0).
Created attachment 539518 [details] build.log
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d5fe4e38c4db7b4dec756c9b340889023afa7e9a commit d5fe4e38c4db7b4dec756c9b340889023afa7e9a Author: Lars Wendler <polynomial-c@gentoo.org> AuthorDate: 2018-07-14 21:34:53 +0000 Commit: Lars Wendler <polynomial-c@gentoo.org> CommitDate: 2018-07-14 21:35:08 +0000 net-fs/samba: Limit dependency on sys-libs/ldb a bit more. Closes: https://bugs.gentoo.org/661132 Package-Manager: Portage-2.3.42, Repoman-2.3.9 net-fs/samba/samba-4.7.7.ebuild | 1 + net-fs/samba/samba-4.8.3.ebuild | 1 + 2 files changed, 2 insertions(+)
The bug is not fixed. Ebuild dependencies doesn't work that way. CDEPEND=" ... >=sys-libs/ldb-1.4.3[ldap(+)?,python?,${PYTHON_USEDEP},${MULTILIB_USEDEP}] <sys-libs/ldb-1.5.0[ldap(+)?,python?,${PYTHON_USEDEP},${MULTILIB_USEDEP}] ... " results in this error message: sys-libs/ldb:0 (sys-libs/ldb-1.5.1:0/1.5.1::gentoo, ebuild scheduled for merge) conflicts with <sys-libs/ldb-1.5.0[python_targets_python2_7(-),-python_single_target_jython2_7(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),python_single_target_python2_7(+),abi_x86_64(-)] required by (net-fs/samba-4.9.3:0/0::gentoo, ebuild scheduled for merge) because >=sys-libs/ldb-1.4.3 pulls in the latest version (1.5.1 as of now), which conflicts with <sys-libs/ldb-1.5.0. There is no support for version ranges in ebuilds. But it should be fixed somehow. Right now I can install latest samba only if I mask >=sys-libs/ldb-1.5.0.
As long as there is only one slot, that version range DOES work. Emerge may give a warning about an upgrade being skipped, though.