Summary: | net-fs/samba-4.11.2: lib/replace/system/network.h:91:10: fatal error: stropts.h: No such file or directory | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Guy <defuebr> |
Component: | Current packages | Assignee: | Gentoo's SAMBA Team <samba> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | amanzharov, asturm, atoth, bkohler, erikw, ian.kumlien, mail, mgorny, python, th-gen |
Priority: | Normal | Keywords: | PATCH |
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 691846, 693558, 712726 |
Description
Guy
2019-11-09 15:36:27 UTC
I installed samba-4.11.2 today and it builds without problems. Could it be because you have set ACCEPT_KEYWORDS="amd64 ~amd64"? I would imagine that this will bring in a lot of packages that are not yet stable. I unmasked the latest samba by adding ~amd64 on samba and the dependencies that needed it. /etc/portage/package.keywords: # Needed to run the latest samba =net-fs/samba-4.11.2 ~amd64 =sys-libs/talloc-2.3.0 ~amd64 =sys-libs/tevent-0.10.1 ~amd64 =sys-libs/ldb-2.0.7 ~amd64 =sys-libs/tdb-1.4.2 ~amd64 That is on a fairly clean install. Only added the usual syslog-ng, crony etc. My only use flags are USE="ldap samba" I would look for the problem elsewhere than the samba package given your ACCEPT_KEYWORDS settings. To stabilize samba-4.11.2 we need to stabilize the above four dependencies. I'm not aware of any run time issues so that needs to be verified as well. Perhaps I'm totally misunderstanding this. Are you trying to test samba against all bleeding edge packages? Is that really possible? Wouldn't the right way be to stabilize each package against the current stable set and any necessary dependencies that are not yet stable? It's about newer glibc-2.30+ got some stuff removed. Samba unnecessary looks for it: https://bugzilla.samba.org/show_bug.cgi?id=14100 A solution could be to rebuild python used after glibc update or use the patch attached to the bug. Rebuilding python did not help in my case. The patch mentioned in Comment 2 did work. (In reply to Russell Dwiggins from comment #3) > Rebuilding python did not help in my case. The patch mentioned in Comment 2 > did work. Culprit glibc commit: https://github.com/bminor/glibc/commit/a0a0dc83173ce11ff45105fd32e5d14356cdfb9c When mentioning python rebuild, I referred to this bug: https://bugzilla.samba.org/show_bug.cgi?id=14100 - take a look at on comment 6 According to that pyconfig.h is generated compile-time. Each python version has it's own pyconfig.h. So it does matter what version of python is used and which version you've rebuilt. The current situation on my system: $ locate pyconfig.h /usr/include/python2.7/pyconfig.h /usr/include/python3.5m/pyconfig.h /usr/include/python3.6m/pyconfig.h /usr/include/python3.7m/pyconfig.h /usr/include/python3.8/pyconfig.h $ cat /usr/include/python2.7/pyconfig.h | grep STROPTS /* #undef HAVE_STROPTS_H */ $ cat /usr/include/python3.5m/pyconfig.h | grep STROPTS /* #undef HAVE_STROPTS_H */ $ cat /usr/include/python3.6m/pyconfig.h | grep STROPTS #define HAVE_STROPTS_H 1 $ cat /usr/include/python3.7m/pyconfig.h | grep STROPTS #define HAVE_STROPTS_H 1 $ cat /usr/include/python3.8/pyconfig.h | grep STROPTS /* #undef HAVE_STROPTS_H */ So in my case this issue would be triggered while using 3.6 or 3.7. Either I should use the patch for these or I must rebuild and make sure STROPTS_H is not defined in pyconfig.h. (In reply to Attila Tóth from comment #4) > When mentioning python rebuild, I referred to this bug: > https://bugzilla.samba.org/show_bug.cgi?id=14100 > - take a look at on comment 6 I can confirm this fixed the build issue. (In reply to Attila Tóth from comment #2) > A solution could be to rebuild python used after glibc update or use the > patch attached to the bug. sys-libs/glibc Installed versions: 2.30-r3(2.2)^t{tbz2}(07:18:24 PM 11/28/2019) Workaround: (after new version of glibc is installed) emerge =dev-lang/python-3.6.9 =dev-lang/python-3.7.5-r1 && emerge -v =net-fs/samba-4.11.2 Works here. (In reply to Guy from comment #6) > (In reply to Attila Tóth from comment #2) > > > A solution could be to rebuild python used after glibc update or use the > > patch attached to the bug. > > sys-libs/glibc > Installed versions: 2.30-r3(2.2)^t{tbz2}(07:18:24 PM 11/28/2019) > > Workaround: (after new version of glibc is installed) > > emerge =dev-lang/python-3.6.9 =dev-lang/python-3.7.5-r1 && emerge -v > =net-fs/samba-4.11.2 > > Works here. Here too! getting the same problem with samba-4.8.6-r2. Comment #6 doesn't help, patch from comment #2 does. *** Bug 708354 has been marked as a duplicate of this bug. *** I was unable to reproduce the failure. This is what I tried: 1) unpack latest amd64 stage3 2) update it via "emerge -uDNav @world" 3) add sys-libs/glibc to package.accept_keywords and emerge -1 glibc to get 2.30-r4 4) emerge samba This is not a regression in 4.11 is it? You say it still fails on 4.8 4.11.6-r2 failed for me earlier today - I have manually patched this for a long time. I can't see how this worked for you without the patch. This is what I have on that machine, and the samba evuild is patched so it actually compiles... Calculating dependencies... done! [ebuild R ~] sys-libs/glibc-2.30-r4:2.2::gentoo USE="caps (crypt) gd multiarch (multilib) nscd ssp (static-libs) -audit (-cet) -compile-locales -custom-cflags -doc -headers-only -profile (-selinux) -suid -systemtap -test (-vanilla)" 0 KiB [ebuild R ] net-fs/samba-4.11.6-r2::local USE="acl client cups ldap pam python system-mitkrb5 systemd winbind zeroconf -addc -addns -ads -ceph -cluster -debug (-dmapi) (-fam) -gpg -iprint -json -profiling-data -quota (-selinux) -syslog (-system-heimdal) -test" ABI_X86="(64) -32 (-x32)" PYTHON_SINGLE_TARGET="python3_6 -python3_7 -python3_8" 0 KiB Ok my mistake, I am able to reproduce it once I turn on USE=python (side question, are you actually using python support on this, or you just like global USE=python?) However, after "emerge -1av $(qlist -ICS dev-lang/python)" to rebuild all installed pythons, samba does again build fine, with python support on. (In reply to Ben Kohler from comment #13) > Ok my mistake, I am able to reproduce it once I turn on USE=python (side > question, are you actually using python support on this, or you just like > global USE=python?) > > However, after "emerge -1av $(qlist -ICS dev-lang/python)" to rebuild all > installed pythons, samba does again build fine, with python support on. Ugh. CC'ing python team for advice. (In reply to Andreas K. Hüttel from comment #14) > (In reply to Ben Kohler from comment #13) > > Ok my mistake, I am able to reproduce it once I turn on USE=python (side > > question, are you actually using python support on this, or you just like > > global USE=python?) > > > > However, after "emerge -1av $(qlist -ICS dev-lang/python)" to rebuild all > > installed pythons, samba does again build fine, with python support on. > > Ugh. CC'ing python team for advice. I don't see any good solution here. The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7bc3d2f5403cedd036d85ef2740b0fa3931271d6 commit 7bc3d2f5403cedd036d85ef2740b0fa3931271d6 Author: Michał Górny <mgorny@gentoo.org> AuthorDate: 2020-03-15 17:18:58 +0000 Commit: Michał Górny <mgorny@gentoo.org> CommitDate: 2020-03-15 17:24:03 +0000 dev-lang/python: Force-fail stropts.h check for future glibc upgrade Bug: https://bugs.gentoo.org/699668 Signed-off-by: Michał Górny <mgorny@gentoo.org> dev-lang/python/python-2.7.17-r1.ebuild | 4 ++++ dev-lang/python/python-3.6.10.ebuild | 6 ++++++ dev-lang/python/python-3.7.7.ebuild | 5 +++++ dev-lang/python/python-3.8.2.ebuild | 5 +++++ dev-lang/python/python-3.9.0_alpha4.ebuild | 5 +++++ 5 files changed, 25 insertions(+) That's the best I was able to come up with. It won't help people who upgraded glibc already but it gives a good chance that future users who upgrade python before glibc will not hit the issue. I haven't revbumped since I don't believe this is a major enough issue. I suspect that before new glibc goes stable, we'll see new Python versions that will take care of provoking an upgrade. If not, feel free to ping me to revbump before stabilizing new glibc.
> I haven't revbumped since I don't believe this is a major enough issue. I
> suspect that before new glibc goes stable, we'll see new Python versions
> that will take care of provoking an upgrade. If not, feel free to ping me
> to revbump before stabilizing new glibc.
Pretty please, now would be a good time for the revbumps.
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=49286b0470eb48505e6ec7890e7d67d73708371c commit 49286b0470eb48505e6ec7890e7d67d73708371c Author: Mike Gilbert <floppym@gentoo.org> AuthorDate: 2020-04-03 21:22:41 +0000 Commit: Mike Gilbert <floppym@gentoo.org> CommitDate: 2020-04-03 21:22:41 +0000 dev-lang/python: revbumps for stropts.h removal Bug: https://bugs.gentoo.org/699668 Package-Manager: Portage-2.3.96_p4, Repoman-2.3.22_p1 Signed-off-by: Mike Gilbert <floppym@gentoo.org> dev-lang/python/{python-2.7.17-r1.ebuild => python-2.7.17-r2.ebuild} | 0 dev-lang/python/{python-3.6.10.ebuild => python-3.6.10-r1.ebuild} | 0 dev-lang/python/{python-3.7.7.ebuild => python-3.7.7-r1.ebuild} | 0 dev-lang/python/{python-3.8.2.ebuild => python-3.8.2-r1.ebuild} | 0 .../python/{python-3.9.0_alpha5.ebuild => python-3.9.0_alpha5-r1.ebuild} | 0 5 files changed, 0 insertions(+), 0 deletions(-) The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b7f3a7ae3e12a6e4202b50396f470d0bae7eb394 commit b7f3a7ae3e12a6e4202b50396f470d0bae7eb394 Author: Mike Gilbert <floppym@gentoo.org> AuthorDate: 2020-04-03 21:26:30 +0000 Commit: Mike Gilbert <floppym@gentoo.org> CommitDate: 2020-04-03 21:26:30 +0000 dev-lang/python: revert unnecessary 3.9.0_alpha5 revbump Bug: https://bugs.gentoo.org/699668 Package-Manager: Portage-2.3.96_p4, Repoman-2.3.22_p1 Signed-off-by: Mike Gilbert <floppym@gentoo.org> .../python/{python-3.9.0_alpha5-r1.ebuild => python-3.9.0_alpha5.ebuild} | 0 1 file changed, 0 insertions(+), 0 deletions(-) |