Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 836167 - net-fs/samba-4.16.0: third_party/heimdal/kdc/kdc-private.h:224:9: error: unknown type name ‘gss_OID_set’
Summary: net-fs/samba-4.16.0: third_party/heimdal/kdc/kdc-private.h:224:9: error: unkn...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal with 1 vote (vote)
Assignee: Gentoo's SAMBA Team
URL: https://lists.samba.org/archive/samba...
Whiteboard:
Keywords: PATCH
Depends on:
Blocks: parallel-make
  Show dependency tree
 
Reported: 2022-03-26 14:27 UTC by Erik Zeek
Modified: 2022-07-06 08:11 UTC (History)
9 users (show)

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


Attachments
build log (net-fs:samba-4.16.0:20220326-141336.log.gz,307.00 KB, application/gzip)
2022-03-26 14:27 UTC, Erik Zeek
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Erik Zeek 2022-03-26 14:27:05 UTC
Created attachment 767878 [details]
build log

Samba is currently failing with a bunch of errors in the third_party/heimdal/kdc/ directory.

> emerge --info '=net-fs/samba-4.16.0::gentoo'
Portage 3.0.30 (python 3.9.12-final-0, default/linux/amd64/17.1/desktop/plasma/systemd, gcc-11.2.1, glibc-2.34-r10, 5.17.0-gentoo x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-5.17.0-gentoo-x86_64-AMD_Ryzen_7_1700X_Eight-Core_Processor-with-glibc2.34
KiB Mem:    32806628 total,  18216424 free
KiB Swap:   16777212 total,  16777212 free
Timestamp of repository gentoo: Sat, 26 Mar 2022 14:04:52 +0000
Head commit of repository gentoo: cbaf1e0929937a54ab34c93f6a9be5c5d208944b

Timestamp of repository 4nykey: Fri, 25 Mar 2022 20:09:37 +0000
Head commit of repository 4nykey: 608aa762cde10faacef648e0eeab120089798ec4

Head commit of repository steam-overlay: 263b24d7b2640268a5b689add162d1dbfb80f660

sh bash 5.1_p16
ld GNU ld (Gentoo 2.38 p3) 2.38
ccache version 4.5.1 [disabled]
app-misc/pax-utils:        1.3.3::gentoo
app-shells/bash:           5.1_p16::gentoo
dev-java/java-config:      2.3.1::gentoo
dev-lang/perl:             5.34.1::gentoo
dev-lang/python:           2.7.18_p15::gentoo, 3.8.13::gentoo, 3.9.12::gentoo, 3.10.4::gentoo
dev-lang/rust:             1.59.0::gentoo
dev-util/ccache:           4.5.1::gentoo
dev-util/cmake:            3.22.3::gentoo
dev-util/meson:            0.61.3::gentoo
sys-apps/baselayout:       2.8::gentoo
sys-apps/sandbox:          2.29::gentoo
sys-apps/systemd:          250.4-r1::gentoo
sys-devel/autoconf:        2.13-r1::gentoo, 2.71-r1::gentoo
sys-devel/automake:        1.16.5::gentoo
sys-devel/binutils:        2.38-r1::gentoo
sys-devel/binutils-config: 5.4.1::gentoo
sys-devel/clang:           13.0.1::gentoo, 14.0.0-r1::gentoo
sys-devel/gcc:             11.2.1_p20220115::gentoo
sys-devel/gcc-config:      2.5-r1::gentoo
sys-devel/libtool:         2.4.7::gentoo
sys-devel/lld:             13.0.1::gentoo
sys-devel/llvm:            13.0.1::gentoo, 14.0.0::gentoo
sys-devel/make:            4.3::gentoo
sys-kernel/linux-headers:  5.16::gentoo (virtual/os-headers)
sys-libs/glibc:            2.34-r10::gentoo
Repositories:

gentoo
    location: /gentoo/portage
    sync-type: git
    sync-uri: https://anongit.gentoo.org/git/repo/sync/gentoo.git
    priority: -1000

4nykey
    location: /gentoo/local/layman/4nykey
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/4nykey.git
    masters: gentoo

steam-overlay
    location: /gentoo/local/layman/steam-overlay
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/steam-overlay.git
    masters: gentoo
    priority: 50

zeekec
    location: /gentoo/local/portage
    masters: gentoo
    priority: 100

ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe -mtune=native -march=native"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/themes/oxygen-gtk/gtk-2.0"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-O2 -pipe -mtune=native -march=native"
DISTDIR="/gentoo/distfiles"
EMERGE_DEFAULT_OPTS="--keep-going -j 2 --rebuild-if-new-slot=y --backtrack=30"
ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR"
FCFLAGS="-O2 -pipe -mtune=native -march=native"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs binpkg-multi-instance buildpkg-live candy cgroup clean-logs compress-build-logs config-protect-if-modified distlocks ebuild-locks fail-clean fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch parallel-install pid-sandbox preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms splitdebug strict strict-keepdir unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe -mtune=native -march=native"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="en_US.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="en en_US"
MAKEOPTS="-j16 --load-average=18"
PKGDIR="/gentoo/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_EXTRA_OPTS="-i --chown=portage:portage"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/gentoo/tmp"
SHELL="/bin/bash"
USE="R X X509 a52 aac aacs acoustid acpi activities addressbook aesicm aften aio all-plugins alsa amd64 amr amrenc android animgif ao apparmor appstream archive armadillo atm audit auto-completion autoipd autotest autotools autotype baremetal bash-completion bcmath beautifier blas bluetooth bluray bmp boost branding brotli browser btrfs bullet bzip2 c++11 c++14 c++17 c++20 cacert cairo calendar caps cdda cdinstall cdparanoia cdr cgi charts cheats chm chromaprint chrome chromecast chromium cilk cl20 clamapp clamav clamdtop clamonacc clang cli clippy clockdiff cmake codec2 collada colordiff conan concurrent contactnotes context contrib corefonts cppcheck cron crypt cryptsetup csc cscope css ctfvisualizer ctype cups curl custom-optimization cuvid cxx cycles d d3d9 data datavis dbus debug-frame declarative delayacct designer desktop devhelp device-mapper dga dhcp dia discid discouraged discover discovery distinct-l djvu dmraid dns dns-over-tls docker docstrings dos dot double-precision drafts dri drm dropbox dts dv dvd dvdnav dvdr dvi ebook egl eigen elf elfutils embedded emf enca encode epoll epub equalizer eselect-ldso ethernet evdev excel exif extensions extra extra-cardsets extra-ciphers extraengine faac faad facedetect faillog fancy farstream fastcgi fat fax fbcon fcgi fdk ffmpeg fftw filter finger fingerprint fingerprints flac flatfile flickr flint fluidsynth fontconfig fontforge fortran fortune fpx freedoom frei0r ftp fullscreen fuse games gd gdal gdbm gdml gegl gentoo-dev geoclue geoip geolocation geos ggi gif gimp git gkrellm glade gles gles2 glib glide glut gme gml gmp gmttria gnome-online-accounts gnomecanvas gnuplot gnutls go gog gold google googledrive gopher gpac gpg gpgme gphoto2 gpm grammar graph graphics graphite graphviz grass groupwise grub gsf gsl gsm gstreamer gtk gtk3 gts gui guile gusb gzip gzip-el handbook haptic hardlink harfbuzz hash hbci hddtemp hdf hdf5 hdri help hex highlight history hpijs hscolour html htmlreport http http2 humanities hunspell hwloc hyphenation ibus iconv icu id3tag idn ieee1394 ignore-case image imagemagick imagequant imaging imap imlib importd infinality inifile inkjar innodb-lz4 innodb-lzo innodb-snappy inotify inputs inspector int64 introspection io-uring iostats iproute2 iptables ipv6 ipython iwd jai javascript jbig jit jmf john jpeg jpeg2k json jumbo-build kde kdecards kdrive keeshare kpathsea kwallet ladspa lame lapack lapacke large-stack lash lasi lastfm latex layers lcms legacy-systray lensfun libass libburn libcerf libdrm libffi libfuzzer libglvnd libkms liblockfile libmpv libnotify libpfm libssh2 libtirpc libv4l libvirt libvirtd libwww libxml2 lights live llvm lm-sensors localstorage location lock log log4j logrotate logviewer logwatch lqr lua lua-cairo lua-imlib lua-rsvg luatex lv2 lvm lyrics lz4 lzip lzma lzo machine-interface mad magic magicmime magnetgenerator mail maildir man map mapimg maps marble markdown math mathml matplotlib matroska mbrola md5sum mdnsresponder-compat media mediaplayer mediawiki meson metadata-analysis-api metapost mhash midi mikmod mime mixer mjpeg mmap mms mng mobi mod modeling modpack modplug module mono moodbar mopac7 mount mp3 mp4 mpc mpeg mpfr mplayer mpqc mpris ms mtp multiarch multilib multimedia multiprocess multiuser musepack music musicbrainz mysql mysqli nano-syntax nat nbconvert ncat ncurses net nethack netpbm network network-cron networking networkmanager nfs nfsdcld nfsv4 nfsv41 nftables nistbeacon nls nmap-update nntp nocd non-free notebook notifications nowlistening nping nptl nsplugin nss nsscache ntfs ntfsprogs ntp ntpviz numpy nuv nvme nvtt oauth ocamlopt ocr octave odbcmanual odf ofa offensive offlinehelp offload ofx ogg ogm okular ompt opencl opencv opendocument openexr opengl openimageio openinventor openmp openssl opensslcrypt optimization opus orc osc osdmenu osgapps osmesa otr ots overlay pam pango parcheck parse-clocks parted pci pcntl pcre pcre16 pdf pdfimport pdl2 pdo perfprofiler pgplot physfs pim pipe pkcs11 pkcs7 plasma plotutils plugins png pnm policykit pop portage portmon positioning posix postfix postproc postscript ppds pptx printsupport proj projectm proprietary-codecs psf psl pstricks pthread publishers pulseaudio pvr pyside2 python q16 q32 q8 qalculate qd qemu qhull qml qmlprofiler qrcode qt5 qthelp qtmedia quesoglc quicktime quota radio rar raw rcs readline redland regex remix remote rendering reports reviewboard rfc3779 rle rls rogue romio root rpc rpm rrdcgi rrdtool rss rsync-verify rtc rtf rtmp rubberband rust-src rustfmt samba sanitize sasl sbcl scale0tilt scanner science scotch screen-sharing screencast script scripting scripts scripttools scrypt scxml sdk sdl sdl-image sdlgfx seafile seccomp secure-delete security-key semantic-desktop sensord sensors serialport server setproctitle setup sftp sha512 shaders shadow share sharedmem shm shorten sift sigsegv silversearcher skins skydrive smime smp smpeg sms snappy sndfile soap sockets socks solver songs sound soup sourceview sox spamassassin sparse speech speex spell sphinx spice split-usr sql sqlite srt ssh ssh-agent ssl staging stars startup-notification statistics stats steamfonts steamgames_bioshock_infinite steamgames_trine2 steamgames_witcher2 stream streaming subtitles subunit suexec suid superlu svc svg swig symengine symlink synaptics sync-plugin-portage syslog system-boost system-crontab system-icu system-jpeg system-libs system-libyaml system-llvm system-lua system-qemu system-seabios system-service system-sqlite system-tbb systemd sysv-utils sysvipc szip t1lib taamey taglib tcl templates testbed testlib tex4ht texi2html textures tga themes theora thesaurus threads thumbnail thunar tiff timezone tinfo tk tokenizer toolbar tools tpm tracepath transcode translator trayicon truetype ttf tty-helpers twolame udev udisks udunits uefi umfpack uml unicode unique unity-build unwind unzip upnp upower urandom urlpicpreview usb utempter utils uudeview uuid v4l vaapi vala valgrind vamp vc vcd vde vdpau vdr verify-file verify-sig video videos vidstab virgl virt-network virtfs virtualbox visio visualizations vlc vnc voice vorbis vpx vserver vte vtv vulkan warmstarts wav wavpack wayland weather weather-metar web webassembly webcam webchannel webengine webinterface webp webpresence webrtc webrtc-aec websockets webtools widevine widgets wifi wiki winbind wineappdb wininst winpopup wma wmf wordperfect wpg wps wxwidgets x11extras x264 x265 xattr xcb xerces-c xetex xface xforms xft xine xinerama xkb xml xmlpatterns xmlreader xmlrpc xmlwriter xmp xnest xosd xpm xrandr xray xrender xslt xtables xtended xterm xv xvfb xvid xz youtube yubikey yuv4mpeg zeroconf zimg zip zlib zstd" ABI_X86="64 32" ADA_TARGET="gnat_2020" ALSA_CARDS="hda-intel intel8x0 intel8x0m pxa2xx-ac97 pxa2xx-soc" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias auth_digest authn_dbd dbd ident imagemap lbmethod_bytraffic proxy proxy_ajp proxy_balancer proxy_connect proxy_http slotmem_shm so" APACHE2_MPMS="prefork" CALLIGRA_FEATURES="karbon sheets words" CAMERAS="canon" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="mmx mmxext sse sse2 aes avx avx2 f16c fma3 pclmul popcnt rdrand sha sse3 sse4_1 sse4_2 sse4a ssse3" CURL_SSL="openssl" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" GRUB_PLATFORMS="efi-64 pc" INPUT_DEVICES="libinput evdev" KERNEL="linux" L10N="en en-US" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LLVM_TARGETS="AMDGPU BPF WebAssembly X86" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-4 php8-0" POSTGRES_TARGETS="postgres12 postgres13" PYTHON_SINGLE_TARGET="python3_9" PYTHON_TARGETS="python3_9" QEMU_SOFTMMU_TARGETS="i386 x86_64" QEMU_USER_TARGETS="aarch64 aarch64_be arm armeb i386 x86_64" RUBY_TARGETS="ruby27 ruby30 ruby31" SANE_BACKENDS="hp hp3500 hp3900 hp4200 hp5400 hp5590 hpljm1005 hpsj5s net pnm" USERLAND="GNU" VIDEO_CARDS="amdgpu radeon radeonsi virgl" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq proto steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  ADDR2LINE, AR, ARFLAGS, AS, ASFLAGS, CC, CCLD, CONFIG_SHELL, CPP, CPPFLAGS, CTARGET, CXX, CXXFILT, ELFEDIT, EXTRA_ECONF, F77FLAGS, FC, GCOV, GPROF, INSTALL_MASK, LC_ALL, LD, LEX, LFLAGS, LIBTOOL, MAKE, MAKEFLAGS, NM, OBJCOPY, OBJDUMP, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, RANLIB, READELF, RUSTFLAGS, SIZE, STRINGS, STRIP, YACC, YFLAGS
Comment 1 Erik Zeek 2022-03-26 14:29:00 UTC
> emerge -pqv '=net-fs/samba-4.16.0::gentoo'
[ebuild     U ] net-fs/samba-4.16.0 [4.15.6] USE="client cups json pam python quota regedit syslog systemd winbind zeroconf -acl -addc -ads -ceph -cluster -debug (-fam) -glusterfs -gpg -iprint -ldap -profiling-data (-selinux) -snapper -spotlight (-system-heimdal) -system-mitkrb5 (-test)" ABI_X86="32 (64) (-x32)" CPU_FLAGS_X86="aes" PYTHON_SINGLE_TARGET="python3_9 -python3_8 -python3_10"
Comment 2 Francois Chenier 2022-03-27 03:35:49 UTC
I felt on a similar problem yesterday when compiling this package and found a missing dependency. That is new but samba 4.16 have a build dependency on dev-perl/JSON
Comment 3 thunderrd 2022-03-28 17:28:05 UTC
I was struggling with updating samba as well, until I saw this. 

I have USE=-json set, but it seems that samba requires dev-perl/JSON anyway, even with the use flag disabled.  However samba does not pull in the dep automatically. 

After emerging dev-perl/JSON, net-fs/samba-4.16 was able to emerge successfully.
Comment 4 Larry the Git Cow gentoo-dev 2022-03-28 19:31:51 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=093c4cde84466c321d4f7b61210d51a302c7906e

commit 093c4cde84466c321d4f7b61210d51a302c7906e
Author:     Lars Wendler <polynomial-c@gentoo.org>
AuthorDate: 2022-03-28 19:31:12 +0000
Commit:     Lars Wendler <polynomial-c@gentoo.org>
CommitDate: 2022-03-28 19:31:34 +0000

    net-fs/samba: Added dev-perl/JSON to DEPEND
    
    Bug: https://bugs.gentoo.org/836167
    Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>

 net-fs/samba/samba-4.16.0.ebuild | 1 +
 1 file changed, 1 insertion(+)
Comment 5 Michael 2022-03-28 23:19:43 UTC
It is only strictly required for samba[addc], and is optional otherwise.
Comment 6 Erik Zeek 2022-03-29 02:26:37 UTC
(In reply to Larry the Git Cow from comment #4)
> The bug has been referenced in the following commit(s):
> 
> https://gitweb.gentoo.org/repo/gentoo.git/commit/
> ?id=093c4cde84466c321d4f7b61210d51a302c7906e
> 
> commit 093c4cde84466c321d4f7b61210d51a302c7906e
> Author:     Lars Wendler <polynomial-c@gentoo.org>
> AuthorDate: 2022-03-28 19:31:12 +0000
> Commit:     Lars Wendler <polynomial-c@gentoo.org>
> CommitDate: 2022-03-28 19:31:34 +0000
> 
>     net-fs/samba: Added dev-perl/JSON to DEPEND
>     
>     Bug: https://bugs.gentoo.org/836167
>     Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
> 
>  net-fs/samba/samba-4.16.0.ebuild | 1 +
>  1 file changed, 1 insertion(+)

This did not fix it for me; I am still getting the same error.

I already had dev-perl/JSON installed.
Comment 7 thunderrd 2022-03-29 04:24:00 UTC
Sorry for the noise, but it seems I spoke too soon.  After emerging JSON the build of samba progressed past where it failed before and continued, so I shut off the monitor and went to bed.  Upon waking this morning I find that it indeed failed again.


[2736/3893] Linking bin/default/third_party/heimdal_build/libroken-samba4.inst.so
[2737/3893] Linking bin/default/third_party/heimdal_build/libgss-preauth-samba4.inst.so
[2738/3893] Compiling third_party/heimdal/kdc/mssfu.c
[2739/3893] Compiling third_party/heimdal/kdc/krb5tgs.c
[2740/3893] Compiling third_party/heimdal/kdc/fast.c
[2741/3893] Compiling third_party/heimdal/kdc/kdc-plugin.c
In file included from ../../third_party/heimdal/kdc/kdc_locl.h:46,
                 from ../../third_party/heimdal/kdc/mssfu.c:34:
third_party/heimdal/kdc/kdc-private.h:224:9: error: unknown type name ‘gss_OID_set’
  224 |         gss_OID_set */*oidsp*/);
      |         ^~~~~~~~~~~
In file included from ../../third_party/heimdal/kdc/mssfu.c:34:
../../third_party/heimdal/kdc/kdc_locl.h:116:5: error: unknown type name ‘gss_OID_set’
  116 |     gss_OID_set gss_mechanisms_allowed;
      |     ^~~~~~~~~~~
../../third_party/heimdal/kdc/kdc_locl.h:117:5: error: unknown type name ‘gss_OID_set’
  117 |     gss_OID_set gss_cross_realm_mechanisms_allowed;
      |     ^~~~~~~~~~~

In file included from ../../third_party/heimdal/kdc/kdc_locl.h:46,
                 from ../../third_party/heimdal/kdc/krb5tgs.c:34:
third_party/heimdal/kdc/kdc-private.h:224:9: error: unknown type name ‘gss_OID_set’
  224 |         gss_OID_set */*oidsp*/);
      |         ^~~~~~~~~~~
In file included from ../../third_party/heimdal/kdc/krb5tgs.c:34:
../../third_party/heimdal/kdc/kdc_locl.h:116:5: error: unknown type name ‘gss_OID_set’
  116 |     gss_OID_set gss_mechanisms_allowed;
      |     ^~~~~~~~~~~
../../third_party/heimdal/kdc/kdc_locl.h:117:5: error: unknown type name ‘gss_OID_set’
  117 |     gss_OID_set gss_cross_realm_mechanisms_allowed;
      |     ^~~~~~~~~~~

In file included from ../../third_party/heimdal/kdc/kdc_locl.h:46,
                 from ../../third_party/heimdal/kdc/fast.c:36:
third_party/heimdal/kdc/kdc-private.h:224:9: error: unknown type name ‘gss_OID_set’
  224 |         gss_OID_set */*oidsp*/);
      |         ^~~~~~~~~~~
In file included from ../../third_party/heimdal/kdc/fast.c:36:
../../third_party/heimdal/kdc/kdc_locl.h:116:5: error: unknown type name ‘gss_OID_set’
  116 |     gss_OID_set gss_mechanisms_allowed;
      |     ^~~~~~~~~~~
../../third_party/heimdal/kdc/kdc_locl.h:117:5: error: unknown type name ‘gss_OID_set’
  117 |     gss_OID_set gss_cross_realm_mechanisms_allowed;
      |     ^~~~~~~~~~~

In file included from ../../third_party/heimdal/kdc/kdc_locl.h:46,
                 from ../../third_party/heimdal/kdc/kdc-plugin.c:36:
third_party/heimdal/kdc/kdc-private.h:224:9: error: unknown type name ‘gss_OID_set’
  224 |         gss_OID_set */*oidsp*/);
      |         ^~~~~~~~~~~
In file included from ../../third_party/heimdal/kdc/kdc-plugin.c:36:
../../third_party/heimdal/kdc/kdc_locl.h:116:5: error: unknown type name ‘gss_OID_set’
  116 |     gss_OID_set gss_mechanisms_allowed;
      |     ^~~~~~~~~~~
../../third_party/heimdal/kdc/kdc_locl.h:117:5: error: unknown type name ‘gss_OID_set’
  117 |     gss_OID_set gss_cross_realm_mechanisms_allowed;
      |     ^~~~~~~~~~~

Waf: Leaving directory `/var/tmp/portage/net-fs/samba-4.16.0/work/samba-4.16.0-abi_x86_32.x86/bin/default'
Build failed
 -> task in 'kdc.objlist' failed with exit status 1 (run with -v to display more information)
 -> task in 'kdc.objlist' failed with exit status 1 (run with -v to display more information)
 -> task in 'kdc.objlist' failed with exit status 1 (run with -v to display more information)
 -> task in 'kdc.objlist' failed with exit status 1 (run with -v to display more information)
 * ERROR: net-fs/samba-4.16.0::gentoo failed (install phase):
 *   Make install failed
 * 
 * Call stack:
 *     ebuild.sh, line  127:  Called src_install
 *   environment, line 4239:  Called multilib-minimal_src_install
 *   environment, line 2929:  Called multilib_foreach_abi 'multilib-minimal_abi_src_install'
 *   environment, line 3159:  Called multibuild_foreach_variant '_multilib_multibuild_wrapper' 'multilib-minimal_abi_src_install'
 *   environment, line 2841:  Called _multibuild_run '_multilib_multibuild_wrapper' 'multilib-minimal_abi_src_install'
 *   environment, line 2839:  Called _multilib_multibuild_wrapper 'multilib-minimal_abi_src_install'
 *   environment, line  799:  Called multilib-minimal_abi_src_install
 *   environment, line 2919:  Called multilib_src_install
 *   environment, line 3389:  Called waf-utils_src_install
 *   environment, line 5404:  Called die
 * The specific snippet of code:
 *       "${WAF_BINARY}" --destdir="${D}" "${@}" install || die "Make install failed";
 * 
 * If you need support, post the output of `emerge --info '=net-fs/samba-4.16.0::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=net-fs/samba-4.16.0::gentoo'`.
 * The complete build log is located at '/var/log/portage/net-fs:samba-4.16.0:20220329-040104.log'.
 * For convenience, a symlink to the build log is located at '/var/tmp/portage/net-fs/samba-4.16.0/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/net-fs/samba-4.16.0/temp/environment'.
 * Working directory: '/var/tmp/portage/net-fs/samba-4.16.0/work/samba-4.16.0-abi_x86_32.x86'
 * S: '/var/tmp/portage/net-fs/samba-4.16.0/work/samba-4.16.0'





[U] net-fs/samba
     Available versions:  [m](~)4.13.4^t[1] 4.14.12-r2^t 4.15.4-r2^t (~)4.15.5-r2^t (~)4.15.6^t (~)4.16.0^t {acl addc addns ads ceph client cluster cups debug dmapi fam glusterfs gpg iprint json ldap ntvfs pam profiling-data python quota +regedit selinux snapper spotlight syslog system-heimdal +system-mitkrb5 systemd test winbind zeroconf ABI_MIPS="n32 n64 o32" ABI_S390="32 64" ABI_X86="32 64 x32" CPU_FLAGS_X86="aes" KERNEL="linux" PYTHON_SINGLE_TARGET="python3_7 python3_8 python3_9 python3_10"}
     Installed versions:  4.15.5-r2^t(06:12:02 AM 03/26/2022)(acl client pam regedit winbind -addc -ads -ceph -cluster -cups -debug -fam -glusterfs -gpg -iprint -json -ldap -profiling-data -python -quota -selinux -snapper -spotlight -syslog -system-heimdal -system-mitkrb5 -systemd -test -zeroconf ABI_MIPS="-n32 -n64 -o32" ABI_S390="-32 -64" ABI_X86="32 64 -x32" CPU_FLAGS_X86="-aes" PYTHON_SINGLE_TARGET="python3_9 -python3_8 -python3_10")
Comment 8 Scott Ellis 2022-03-29 17:07:50 UTC
I see the same - the JSON perl package addition now gets it to failing with

../../third_party/heimdal/kdc/kdc_locl.h:116:5: error: unknown type name ‘gss_OID_set’

Didn't try changing to system-mitkrb5 , but seems like that'd get over this issue (although not desired, since it's easier to just use the heimdal bundled with Samba...).
Comment 9 Peter Serbe 2022-04-01 11:40:10 UTC
I have similar issues here (apart from the JSON issue):

[1731/4180] Compiling source4/lib/socket/connect_multi.c
19:59:00 runner ['armv7a-unknown-linux-gnueabihf-gcc', '-D_SAMBA_BUILD_=4', '-DHAVE_CONFIG_H=1', '-O2', '-pipe', '-march=armv7-a', '-mfpu=vfpv3-d16', '-mfloat-abi=hard', '-MMD', '-D_GNU_SOURCE=1', '-D_XOPEN_SOURCE_EXTENDED=1', '-DHAVE_CONFIG_H=1', '-fPIC', '-D__STDC_WANT_LIB_EXT1__=1', '-D_LARGEFILE_SOURCE', '-D_FILE_OFFSET_BITS=64', '-D_REENTRANT', '-fstack-protector-strong', '-fstack-clash-protection', '-DSTATIC_samba_socket_MODULES=NULL', '-DSTATIC_samba_socket_MODULES_PROTO=extern void __samba_socket_dummy_module_proto(void)', '-Isource4/lib/socket', '-I../../source4/lib/socket', '-Iinclude/public', '-I../../include/public', '-Isource4', '-I../../source4', '-Ilib', '-I../../lib', '-Isource4/lib', '-I../../source4/lib', '-Isource4/include', '-I../../source4/include', '-Iinclude', '-I../../include', '-Ilib/replace', '-I../../lib/replace', '-I.', '-I../..', '-Ilibcli/util', '-I../../libcli/util', '-Isource4/libcli', '-I../../source4/libcli', '-Ilibrpc', '-I../../librpc', '-Ilib/socket', '-I../../lib/socket', '-Ilib/tsocket', '-I../../lib/tsocket', '-Ilib/util/var/tmp/portage/net-fs/samba-4.16.0/work/samba-4.16.0-.arm/third_party/gpfs', '-I../../lib/util/var/tmp/portage/net-fs/samba-4.16.0/work/samba-4.16.0-.arm/third_party/gpfs', '-Ilibcli/security', '-I../../libcli/security', '-Ilib/util/charset', '-I../../lib/util/charset', '-Isource4/lib/events', '-I../../source4/lib/events', '-Ilibcli/nbt', '-I../../libcli/nbt', '-Ithird_party/heimdal/lib/roken', '-I../../third_party/heimdal/lib/roken', '-Ithird_party/heimdal/include', '-I../../third_party/heimdal/include', '-Ithird_party/heimdal_build/include', '-I../../third_party/heimdal_build/include', '-Ithird_party/heimdal_build', '-I../../third_party/heimdal_build', '-Idynconfig', '-I../../dynconfig', '-Ilib/crypto', '-I../../lib/crypto', '../../source4/lib/socket/connect_multi.c', '-c', '-o/var/tmp/portage/net-fs/samba-4.16.0/work/samba-4.16.0-.arm/bin/default/source4/lib/socket/connect_multi.c.7.o', '-I/usr/include/et']
In file included from ../../third_party/heimdal/lib/gssapi/gssapi/gssapi_krb5.h:40,
                 from ../../lib/replace/system/gssapi.h:43,
                 from ../../lib/krb5_wrap/gss_samba.h:27,
                 from ../../lib/krb5_wrap/gss_samba.c:23:
../../third_party/heimdal/lib/gssapi/gssapi/gssapi_oid.h:9:8: error: unknown type name ‘GSSAPI_LIB_VARIABLE’
    9 | extern GSSAPI_LIB_VARIABLE gss_OID_desc __gss_krb5_copy_ccache_x_oid_desc;
      |        ^~~~~~~~~~~~~~~~~~~
../../third_party/heimdal/lib/gssapi/gssapi/gssapi_oid.h:9:41: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘__gss_krb5_copy_ccache_x_oid_desc’
    9 | extern GSSAPI_LIB_VARIABLE gss_OID_desc __gss_krb5_copy_ccache_x_oid_desc;
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../third_party/heimdal/lib/gssapi/gssapi/gssapi_oid.h:12:8: error: unknown type name ‘GSSAPI_LIB_VARIABLE’
   12 | extern GSSAPI_LIB_VARIABLE gss_OID_desc __gss_krb5_get_tkt_flags_x_oid_desc;
      |        ^~~~~~~~~~~~~~~~~~~
../../third_party/heimdal/lib/gssapi/gssapi/gssapi_oid.h:12:41: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘__gss_krb5_get_tkt_flags_x_oid_desc’
   12 | extern GSSAPI_LIB_VARIABLE gss_OID_desc __gss_krb5_get_tkt_flags_x_oid_desc;
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../third_party/heimdal/lib/gssapi/gssapi/gssapi_oid.h:15:8: error: unknown type name ‘GSSAPI_LIB_VARIABLE’
   15 | extern GSSAPI_LIB_VARIABLE gss_OID_desc __gss_krb5_extract_authz_data_from_sec_context_x_oid_desc;
      |        ^~~~~~~~~~~~~~~~~~~
../../third_party/heimdal/lib/gssapi/gssapi/gssapi_oid.h:15:41: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘__gss_krb5_extract_authz_data_from_sec_context_x_oid_desc’
   15 | extern GSSAPI_LIB_VARIABLE gss_OID_desc __gss_krb5_extract_authz_data_from_sec_context_x_oid_desc;
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../third_party/heimdal/lib/gssapi/gssapi/gssapi_oid.h:18:8: error: unknown type name ‘GSSAPI_LIB_VARIABLE’
   18 | extern GSSAPI_LIB_VARIABLE gss_OID_desc __gss_krb5_compat_des3_mic_x_oid_desc;
      |        ^~~~~~~~~~~~~~~~~~~

.........

In file included from ../../lib/replace/system/gssapi.h:43,
                 from ../../lib/krb5_wrap/gss_samba.h:27,
                 from ../../lib/krb5_wrap/gss_samba.c:23:
../../third_party/heimdal/lib/gssapi/gssapi/gssapi_krb5.h:42:17: error: expected ‘;’ before ‘extern’
   42 | GSSAPI_CPP_START
      |                 ^
      |                 ;
......
   57 | extern gss_OID_desc GSSAPI_LIB_VARIABLE __gss_krb5_nt_principal_name_oid_desc;
      | ~~~~~~
../../third_party/heimdal/lib/gssapi/gssapi/gssapi_krb5.h:57:8: error: unknown type name ‘gss_OID_desc’
   57 | extern gss_OID_desc GSSAPI_LIB_VARIABLE __gss_krb5_nt_principal_name_oid_desc;
      |        ^~~~~~~~~~~~
../../third_party/heimdal/lib/gssapi/gssapi/gssapi_krb5.h:57:41: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘__gss_krb5_nt_principal_name_oid_desc’
   57 | extern gss_OID_desc GSSAPI_LIB_VARIABLE __gss_krb5_nt_principal_name_oid_desc;
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../third_party/heimdal/lib/gssapi/gssapi/gssapi_krb5.h:77:1: error: unknown type name ‘GSSAPI_LIB_FUNCTION’
   77 | GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL
      | ^~~~~~~~~~~~~~~~~~~
../../third_party/heimdal/lib/gssapi/gssapi/gssapi_krb5.h:77:31: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘GSSAPI_LIB_CALL’
   77 | GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL
      |                               ^~~~~~~~~~~~~~~
../../third_party/heimdal/lib/gssapi/gssapi/gssapi_krb5.h:77:31: error: unknown type name ‘GSSAPI_LIB_CALL’
../../third_party/heimdal/lib/gssapi/gssapi/gssapi_krb5.h:82:1: error: unknown type name ‘GSSAPI_LIB_FUNCTION’
   82 | GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL gsskrb5_register_acceptor_identity
      | ^~~~~~~~~~~~~~~~~~~

.............

../../third_party/heimdal/lib/gssapi/gssapi/gssapi_krb5.h:157:31: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘GSSAPI_LIB_CALL’
  157 | GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL
      |                               ^~~~~~~~~~~~~~~
../../third_party/heimdal/lib/gssapi/gssapi/gssapi_krb5.h:157:31: error: unknown type name ‘GSSAPI_LIB_CALL’
../../third_party/heimdal/lib/gssapi/gssapi/gssapi_krb5.h:167:9: error: unknown type name ‘OM_uint32’
  167 |         OM_uint32       type;
      |         ^~~~~~~~~
../../third_party/heimdal/lib/gssapi/gssapi/gssapi_krb5.h:168:9: error: unknown type name ‘OM_uint32’
  168 |         OM_uint32       length;
      |         ^~~~~~~~~
../../third_party/heimdal/lib/gssapi/gssapi/gssapi_krb5.h:173:9: error: unknown type name ‘OM_uint32’
  173 |         OM_uint32               sign_alg;
      |         ^~~~~~~~~
../../third_party/heimdal/lib/gssapi/gssapi/gssapi_krb5.h:174:9: error: unknown type name ‘OM_uint32’
  174 |         OM_uint32               seal_alg;
      |         ^~~~~~~~~
../../third_party/heimdal/lib/gssapi/gssapi/gssapi_krb5.h:179:9: error: unknown type name ‘OM_uint32’
  179 |         OM_uint32               have_acceptor_subkey;
      |         ^~~~~~~~~
../../third_party/heimdal/lib/gssapi/gssapi/gssapi_krb5.h:185:9: error: unknown type name ‘OM_uint32’
  185 |         OM_uint32       version;
      |         ^~~~~~~~~
../../third_party/heimdal/lib/gssapi/gssapi/gssapi_krb5.h:186:9: error: unknown type name ‘OM_uint32’
  186 |         OM_uint32       initiate;
      |         ^~~~~~~~~
../../third_party/heimdal/lib/gssapi/gssapi/gssapi_krb5.h:187:9: error: unknown type name ‘OM_uint32’
  187 |         OM_uint32       endtime;
      |         ^~~~~~~~~
../../third_party/heimdal/lib/gssapi/gssapi/gssapi_krb5.h:188:9: error: unknown type name ‘OM_uint64’
  188 |         OM_uint64       send_seq;
      |         ^~~~~~~~~
../../third_party/heimdal/lib/gssapi/gssapi/gssapi_krb5.h:189:9: error: unknown type name ‘OM_uint64’
  189 |         OM_uint64       recv_seq;
      |         ^~~~~~~~~
../../third_party/heimdal/lib/gssapi/gssapi/gssapi_krb5.h:190:9: error: unknown type name ‘OM_uint32’
  190 |         OM_uint32       protocol;
      |         ^~~~~~~~~
../../third_party/heimdal/lib/gssapi/gssapi/gssapi_krb5.h:196:9: error: unknown type name ‘OM_uint32’
  196 |         OM_uint32       version;        /* Structure version number */
      |         ^~~~~~~~~
../../third_party/heimdal/lib/gssapi/gssapi/gssapi_krb5.h:203:1: error: unknown type name ‘GSSAPI_LIB_FUNCTION’
  203 | GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL
      | ^~~~~~~~~~~~~~~~~~~

..........

In file included from ../../lib/replace/system/gssapi.h:47,
                 from ../../lib/krb5_wrap/gss_samba.h:27,
                 from ../../lib/krb5_wrap/gss_samba.c:23:
../../third_party/heimdal/lib/gssapi/gssapi/gssapi_spnego.h:41:17: error: expected ‘;’ before ‘extern’
   41 | GSSAPI_CPP_START
      |                 ^
      |                 ;
......
   49 | extern GSSAPI_LIB_VARIABLE gss_OID_desc __gss_spnego_mechanism_oid_desc;
      | ~~~~~~
../../third_party/heimdal/lib/gssapi/gssapi/gssapi_spnego.h:49:8: error: unknown type name ‘GSSAPI_LIB_VARIABLE’
   49 | extern GSSAPI_LIB_VARIABLE gss_OID_desc __gss_spnego_mechanism_oid_desc;
      |        ^~~~~~~~~~~~~~~~~~~
../../third_party/heimdal/lib/gssapi/gssapi/gssapi_spnego.h:49:41: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘__gss_spnego_mechanism_oid_desc’
   49 | extern GSSAPI_LIB_VARIABLE gss_OID_desc __gss_spnego_mechanism_oid_desc;
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../third_party/heimdal/lib/gssapi/gssapi/gssapi_spnego.h:56:1: error: unknown type name ‘GSSAPI_LIB_FUNCTION’
   56 | GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL
      | ^~~~~~~~~~~~~~~~~~~
../../third_party/heimdal/lib/gssapi/gssapi/gssapi_spnego.h:56:31: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘GSSAPI_LIB_CALL’
   56 | GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL
      |                               ^~~~~~~~~~~~~~~
../../third_party/heimdal/lib/gssapi/gssapi/gssapi_spnego.h:56:31: error: unknown type name ‘GSSAPI_LIB_CALL’
../../third_party/heimdal/lib/gssapi/gssapi/gssapi_spnego.h:63:1: error: unknown type name ‘GSSAPI_LIB_FUNCTION’
   63 | GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL
      | ^~~~~~~~~~~~~~~~~~~
../../third_party/heimdal/lib/gssapi/gssapi/gssapi_spnego.h:63:31: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘GSSAPI_LIB_CALL’
   63 | GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL
      |                               ^~~~~~~~~~~~~~~
../../third_party/heimdal/lib/gssapi/gssapi/gssapi_spnego.h:63:31: error: unknown type name ‘GSSAPI_LIB_CALL’
../../third_party/heimdal/lib/gssapi/gssapi/gssapi_spnego.h:74:1: error: unknown type name ‘GSSAPI_LIB_FUNCTION’
   74 | GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL
      | ^~~~~~~~~~~~~~~~~~~
../../third_party/heimdal/lib/gssapi/gssapi/gssapi_spnego.h:74:31: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘GSSAPI_LIB_CALL’
   74 | GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL
      |                               ^~~~~~~~~~~~~~~
../../third_party/heimdal/lib/gssapi/gssapi/gssapi_spnego.h:74:31: error: unknown type name ‘GSSAPI_LIB_CALL’
../../third_party/heimdal/lib/gssapi/gssapi/gssapi_spnego.h:85:15: error: expected ‘;’ before ‘struct’
   85 | GSSAPI_CPP_END
      |               ^
      |               ;
In file included from ../../lib/krb5_wrap/gss_samba.c:23:
../../lib/krb5_wrap/gss_samba.h:44:35: error: unknown type name ‘OM_uint32’
   44 | uint32_t smb_gss_krb5_import_cred(OM_uint32 *minor_status, krb5_context ctx,
      |                                   ^~~~~~~~~
../../lib/krb5_wrap/gss_samba.h:46:55: error: unknown type name ‘gss_cred_id_t’
   46 |                                   krb5_keytab keytab, gss_cred_id_t *cred);
      |                                                       ^~~~~~~~~~~~~
../../lib/krb5_wrap/gss_samba.c:60:55: error: unknown type name ‘gss_cred_id_t’
   60 |                                   krb5_keytab keytab, gss_cred_id_t *cred)
      |                                                       ^~~~~~~~~~~~~

Waf: Leaving directory `/var/tmp/portage/net-fs/samba-4.16.0/work/samba-4.16.0-.arm/bin/default'
Build failed
 -> task in 'krb5samba.objlist' failed with exit status 1:
        {task 3021652120: c gss_samba.c -> gss_samba.c.1.o}



I try to compile on a Raspi 4. I saw different errors using distcc. I can supply complete log files for both cases, if this would be helpful. I run a AD-DC on the raspi, and hence these were my use flags:

net-fs/samba addc ads winbind smbclient ldb netapi -system-mitkrb5 -system-heimdal syslog addns ldap gnutls json

I admit, that I added json, because it complained at some point in time on that keyword missing. Apart from that, I don't seen any apparent use in json for my purposes.
Comment 10 Marien Zwart 2022-04-01 15:10:55 UTC
If I run waf with PYTHONHASHSEED=1 (which is what upstream's Makefile does) it builds for me. That is:

--- /usr/portage/net-fs/samba/samba-4.16.0.ebuild       2022-03-28 19:40:06.000000000 +0000
+++ /usr/local/portage/private/net-fs/samba/samba-4.16.0.ebuild 2022-04-01 14:37:38.123608718 +0000
@@ -250,16 +250,16 @@
                myconf+=( --with-shared-modules=DEFAULT,!vfs_snapper )
        fi

-       CPPFLAGS="-I${SYSROOT}${EPREFIX}/usr/include/et ${CPPFLAGS}" \
+       PYTHONHASHSEED=1 CPPFLAGS="-I${SYSROOT}${EPREFIX}/usr/include/et ${CPPFLAGS}" \
                waf-utils_src_configure ${myconf[@]}
 }

 multilib_src_compile() {
-       waf-utils_src_compile
+       PYTHONHASHSEED=1 waf-utils_src_compile
 }

 multilib_src_install() {
-       waf-utils_src_install
+       PYTHONHASHSEED=1 waf-utils_src_install

        # Make all .so files executable
        find "${ED}" -type f -name "*.so" -exec chmod +x {} + || die


Upstream made that change to avoid some spurious rebuilds (see https://github.com/samba-team/samba/commit/19a4d3ca692e864a2ae6c8c496e7eb08cded612f), but I think it may have become more load-bearing than they probably intended: I've had both emerge (with the "unknown type name ‘gss_OID_set’" error) and manual builds (with that error as well as the "unknown type name ‘GSSAPI_LIB_VARIABLE’" error) repeatedly fail, and stop failing if I start over with PYTHONHASHSEED=1.

I'm not sure *why* this helps (my hunch is that it has to do with the order of -I flags passed to the compiler, given there's more than one of a few headers like gssapi.h and it looks like the wrong thing may happen if it includes the wrong one, but there's enough #ifdef involved I haven't fully tracked it down).
Comment 11 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2022-04-02 00:33:40 UTC
(In reply to Marien Zwart from comment #10)
>[...]
> I'm not sure *why* this helps (my hunch is that it has to do with the order
> of -I flags passed to the compiler, given there's more than one of a few
> headers like gssapi.h and it looks like the wrong thing may happen if it
> includes the wrong one, but there's enough #ifdef involved I haven't fully
> tracked it down).

Yeah, it's a bit like using parallel builds when upstream don't test it

Should it work? Yes.
Does that mean it will? No. :)

Nice debugging work. We should add the option I think.
Comment 12 Erik Zeek 2022-04-02 15:54:58 UTC
This worked for me:

sudo bash -c 'export PYTHONHASHSEED=1; emerge -v1 net-fs/samba'
Comment 13 Patrick Holthaus 2022-04-08 08:00:38 UTC
(In reply to Erik Zeek from comment #12)
> This worked for me:
> 
> sudo bash -c 'export PYTHONHASHSEED=1; emerge -v1 net-fs/samba'

This worked for me, too. I have now put the variable in `package.env` fixing the build for this version of the package on my machine, i.e.

echo 'PYTHONHASHSEED=1' >> /etc/portage/env/pythonhashseed.conf
echo '=net-fs/samba-4.16.0 pythonhashseed.conf' >> /etc/portage/package.env

Hope that helps as a temporary workaround.
Comment 14 Adrian Bassett 2022-04-10 19:39:13 UTC
(In reply to Patrick Holthaus from comment #13)
> (In reply to Erik Zeek from comment #12)
> > This worked for me:
> > 
> > sudo bash -c 'export PYTHONHASHSEED=1; emerge -v1 net-fs/samba'
> 
> This worked for me, too. I have now put the variable in `package.env` fixing
> the build for this version of the package on my machine, i.e.
> 
> echo 'PYTHONHASHSEED=1' >> /etc/portage/env/pythonhashseed.conf
> echo '=net-fs/samba-4.16.0 pythonhashseed.conf' >> /etc/portage/package.env
> 
> Hope that helps as a temporary workaround.

It does indeed, thank you!

Hit this bug when rebuilding samba as a result of the dev-libs/icu bump to 71.1;  something must have changed in the last two weeks or so...
Comment 15 Larry the Git Cow gentoo-dev 2022-04-12 06:58:41 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d092dfd7485f030626d55087e004e3996f0986e4

commit d092dfd7485f030626d55087e004e3996f0986e4
Author:     Sam James <sam@gentoo.org>
AuthorDate: 2022-04-12 06:57:18 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2022-04-12 06:57:18 +0000

    net-fs/samba: fix race condition during build
    
    It's a bit gross but no different from having to force -j1
    if upstream clearly aren't testing w/ it. Upstream force
    PYTHONHASHSEED=1 (which gives determinism) in their builds,
    so we need to as well, to avoid confusing failures.
    
    Closes: https://bugs.gentoo.org/836167
    Acked-by: David Seifert <soap@gentoo.org>
    Thanks-to: Marien Zwart <marien.zwart@gmail.com>
    Signed-off-by: Sam James <sam@gentoo.org>

 net-fs/samba/samba-4.15.6.ebuild | 6 +++---
 net-fs/samba/samba-4.16.0.ebuild | 6 +++---
 2 files changed, 6 insertions(+), 6 deletions(-)