Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 578588

Summary: net-fs/samba-4.4.2[abi_x86_32] - Unknown dependency 'PROVISION' in 'samba-net.objlist'
Product: Gentoo Linux Reporter: Dennis Schridde <dschridde+gentoobugs>
Component: Current packagesAssignee: Gentoo's SAMBA Team <samba>
Status: RESOLVED FIXED    
Severity: normal    
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
See Also: https://bugs.gentoo.org/show_bug.cgi?id=580956
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 489762    
Attachments: build.log

Description Dennis Schridde 2016-03-30 10:19:11 UTC
Created attachment 429290 [details]
build.log

>>> Compiling source in /var/tmp/portage/net-fs/samba-4.4.0/work/samba-4.4.0 ...
 ^[[32;01m*^[[0m abi_x86_32.x86: running multilib-minimal_abi_src_compile
make -j3
WAF_MAKE=1 /usr/bin/python2.7 ./buildtools/bin/waf build
Waf: Entering directory `/var/tmp/portage/net-fs/samba-4.4.0/work/samba-4.4.0-abi_x86_32.x86/bin'
    Selected system MIT krb5 libraries, Heimdal use is disabled
symlink: smbaddshare -> ./smbaddshare
symlink: smbchangeshare -> ./smbchangeshare
symlink: smbdeleteshare -> ./smbdeleteshare
Checking project rules ...
Unknown dependency 'PROVISION' in 'samba-net.objlist'
Makefile:8: recipe for target 'all' failed
make: *** [all] Error 1

# emerge --info net-fs/samba
Portage 2.2.28 (python 2.7.10-final-42, default/linux/amd64/13.0/desktop/plasma/systemd, gcc-5.3.0, glibc-2.22-r2, 4.5.0-gentoo x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-4.5.0-gentoo-x86_64-AMD_A10-7800_Radeon_R7,_12_Compute_Cores_4C+8G-with-gentoo-2.2
KiB Mem:    15381096 total,   3393828 free
KiB Swap:          0 total,         0 free
Timestamp of repository gentoo: Wed, 30 Mar 2016 06:45:01 +0000
sh bash 4.3_p42-r2
ld GNU ld (Gentoo 2.25 p1.2) 2.25
ccache version 3.2.4 [disabled]
app-shells/bash:          4.3_p42-r2::gentoo
dev-java/java-config:     2.2.0-r3::gentoo
dev-lang/perl:            5.22.1::gentoo
dev-lang/python:          2.7.11-r2::gentoo, 3.4.3-r7::gentoo, 3.5.1-r2::gentoo
dev-util/ccache:          3.2.4::gentoo
dev-util/cmake:           3.5.0::gentoo
dev-util/pkgconfig:       0.29.1::gentoo
sys-apps/baselayout:      2.2::gentoo
sys-apps/sandbox:         2.10-r1::gentoo
sys-devel/autoconf:       2.13::gentoo, 2.69-r2::gentoo
sys-devel/automake:       1.11.6-r2::gentoo, 1.12.6-r1::gentoo, 1.13.4-r1::gentoo, 1.14.1-r1::gentoo, 1.15-r2::gentoo
sys-devel/binutils:       2.25-r1::gentoo
sys-devel/gcc:            5.3.0::gentoo
sys-devel/gcc-config:     1.8-r1::gentoo
sys-devel/libtool:        2.4.6-r2::gentoo
sys-devel/make:           4.1-r1::gentoo
sys-kernel/linux-headers: 4.5::gentoo (virtual/os-headers)
sys-libs/glibc:           2.22-r2::gentoo
Repositories:

gentoo
    location: /var/cache/portage/gentoo
    sync-type: rsync
    sync-uri: rsync://rsync.de.gentoo.org/gentoo-portage
    priority: -1000

aegypius
    location: /var/lib/layman/aegypius
    sync-type: laymansync
    sync-uri: git://github.com/aegypius/overlay.git
    masters: gentoo
    priority: 50

java
    location: /var/lib/layman/java
    sync-type: laymansync
    sync-uri: git://anongit.gentoo.org/proj/java.git
    masters: gentoo
    priority: 50

kde
    location: /var/lib/layman/kde
    sync-type: laymansync
    sync-uri: git://anongit.gentoo.org/proj/kde.git
    masters: gentoo
    priority: 50

rust
    location: /var/lib/layman/rust
    sync-type: laymansync
    sync-uri: git://github.com/gentoo/gentoo-rust.git
    masters: gentoo
    priority: 50

sage-on-gentoo
    location: /var/lib/layman/sage-on-gentoo
    sync-type: laymansync
    sync-uri: git://github.com/cschwan/sage-on-gentoo.git
    masters: gentoo science
    priority: 50

science
    location: /var/lib/layman/science
    sync-type: laymansync
    sync-uri: git://anongit.gentoo.org/proj/sci.git
    masters: gentoo
    priority: 50

local
    location: /var/cache/portage/local
    masters: gentoo science
    priority: 100

ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-pipe -O2 -march=bdver3"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /usr/share/config /usr/share/gnupg/qualified.txt /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php7.0/ext-active/ /etc/php/cgi-php7.0/ext-active/ /etc/php/cli-php7.0/ext-active/ /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="-pipe -O2 -march=bdver3"
DISTDIR="/var/cache/portage/distfiles"
EMERGE_DEFAULT_OPTS="--keep-going --nospinner"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs buildsyspkg compressdebug config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch parallel-install preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://ftp.spline.inf.fu-berlin.de/mirrors/gentoo/ http://ftp-stud.hs-esslingen.de/pub/Mirrors/gentoo/ http://distfiles.gentoo.org"
LANG="en_GB.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,--hash-style=gnu"
MAKEOPTS="-j3"
PKGDIR="/var/cache/portage/packages"
PORTAGE_COMPRESS="xz"
PORTAGE_CONFIGROOT="/"
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="/var/tmp"
USE="X a52 aac aacplus aacs acl acpi alsa amd64 appindicator archive audit avahi bash-completion bdplus berkdb bluetooth bluray branding bzip2 cairo caps cdda cddb cdio cdr celt cjk cli colord conntrack cracklib crypt cups cxx dbus declarative dirac dri dts dvb dvd dvdr egl emboss encode exif fam fax ffmpeg firefox flac fontconfig fortran fribidi gdbm geoclue geolocation gif glamor gles gmp gpm gstreamer gtk harfbuzz ibus iconv ipv6 jpeg jpeg2k kde kipi ladspa latex lcms ldap libinput libnotify libproxy libsecret lua_target_lua5-2 lv2 lz4 lzma lzo mad mmx mmxext mng modemmanager modplug modules mp3 mp4 mpeg mplayer mtp multilib multitarget mysql ncurses netlink networkmanager nls nptl ogg openal opencl openexr opengl openmax openmp opus pam pango pcap pch pcre pdf phonon plasma png policykit ppds pulseaudio qml qt3support qt4 qt5 readline rtmp samba scanner schroedinger sctp sdl seccomp semantic-desktop session speex spell sse sse2 ssl startup-notification subversion svg systemd tcpd theora threads tiff truetype udev udisks unicode upnp upnp-av upower usb v4l v4l2 vaapi vdpau vorbis vpx wavpack wayland webp widgets x264 x265 xattr xcb xcomposite xinerama xml xrandr xscreensaver xv xvid xz zeroconf zlib" ABI_X86="64" ALSA_CARDS="hda-intel" 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" CALLIGRA_FEATURES="stage words flow sheets gemini" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx fma3 fma4 mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 xop" DRACUT_MODULES="btrfs caps systemd" ELIBC="glibc" ENLIGHTENMENT_MODULES="*" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" GRUB_PLATFORMS="coreboot efi-64 pc" INPUT_DEVICES="joystick" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="de en en_GB ar fa tr" LIRC_DEVICES="devinput" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_4 pypy pypy3" RUBY_TARGETS="ruby20 ruby21" USERLAND="GNU" VIDEO_CARDS="amdgpu radeon radeonsi" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CC, CPPFLAGS, CTARGET, CXX, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON

=================================================================
                        Package Settings
=================================================================

net-fs/samba-3.6.25::gentoo was built with the following:
USE="acl aio avahi caps client cups fam ldap netapi pam readline server smbclient syslog winbind -addns -ads -cluster -debug -dmapi -doc -examples -ldb -quota (-selinux) -smbsharemodes -swat" ABI_X86="32 64 -x32"
Comment 1 John M. Drescher 2016-03-30 14:27:46 UTC
I saw this as well. I disabled abi_x86_32 and I was able to build.
Comment 2 Dennis Schridde 2016-04-12 08:35:55 UTC
It appears that 4.4.0_rc5-nopython-source4_libnet_wscript_build.patch is not entirely sufficient.

I tried shifting the PROVISION dependency into the Python modules, but wasn't able to quickly create a patch that would not conflict with the abovementioned one. I will try again, when I have more time.
Comment 3 Dennis Schridde 2016-04-12 09:21:23 UTC
P.S. The reason this happens is that PROVISION is defined in source4/param/wscript_build only if `not bld.env.disable_python`. This conditional is introduced by 4.2.7-nopython-source4_param_wscript_build.patch from https://dev.gentoo.org/~polynomial-c/samba-disable-python-patches-4.4.0_rc5.tar.xz.

Seeing that both bld.SAMBA_SUBSYSTEM('PROVISION', ...) and bld.SAMBA_PYTHON('pyparam', ...) in source4/param/wscript_build have source=pyparam.c, I wonder whether that is correct or whether PROVISION should not actually depend on pyparam.c, but only on provision.c.
Comment 4 Dennis Schridde 2016-04-22 23:11:05 UTC
Persists with 4.4.2
Comment 5 Dennis Schridde 2016-04-23 17:07:57 UTC
From looking at libnet/*, it seems that this is an integral part and it strictly depends on provision.h - i.e. there seems to be no obvious way to patch neither libnet nor its dependency on provision out of the code. Further, provision strictly depends on Python behind its non-Python API.

Thus I created bug #580956 against dev-lang/python.
Comment 6 Dennis Schridde 2016-04-23 17:10:59 UTC
(In reply to Dennis Schridde from comment #5)
> Thus I created bug #580956 against dev-lang/python.

The proper fix appears to be to remove `--disable-python` in the `!multilib_is_native_abi` code path of the ebuild and get rid of the nopython patchset.
Comment 7 Ian Stakenvicius (RETIRED) gentoo-dev 2016-04-23 17:50:50 UTC
(In reply to Dennis Schridde from comment #6)
> (In reply to Dennis Schridde from comment #5)
> > Thus I created bug #580956 against dev-lang/python.
> 
> The proper fix appears to be to remove `--disable-python` in the
> `!multilib_is_native_abi` code path of the ebuild and get rid of the
> nopython patchset.

But that can't happen unless all of python gets 32-bit multilib support, which IMO is just nuts for what really amounts to one rather small use-case.

(As in, it would likely be easier to fork this portion of samba to reimplement it so it doesn't need python)
Comment 8 Ian Stakenvicius (RETIRED) gentoo-dev 2016-04-25 15:15:39 UTC
OK all -- is there anything that actually needs a 32bit libsamba-net-samba4.so ?  Given I expect not (samba-4.2.x doesn't provide it and there hasn't been anything flagged against that package), how about we just cut building of this package for the alt abi?
Comment 9 Ian Stakenvicius (RETIRED) gentoo-dev 2016-04-25 15:25:36 UTC
(In reply to Ian Stakenvicius from comment #8)
> OK all -- is there anything that actually needs a 32bit
> libsamba-net-samba4.so ?  Given I expect not (samba-4.2.x doesn't provide it
> and there hasn't been anything flagged against that package), how about we
> just cut building of this package for the alt abi?

yeah the previous version of this patch excluded the whole thing when python wasn't available.  I don't know why the 4.4 patchset didn't match this but I'll restore said bebavhour ASAP.
Comment 10 Ian Stakenvicius (RETIRED) gentoo-dev 2016-04-25 15:53:47 UTC
commit d239033ddf20ae175e3369fb0eceac1f39ae3f7e
Author: Ian Stakenvicius <axs@gentoo.org>
Date:   Mon Apr 25 11:52:41 2016 -0400

    net-fs/samba-4.4: drop building of libsamba-net-samba4.so from abi_x86_32
    
    libsamba-net-samba4.so requires PROVISION as well as other dependencies that
    are libpython based, and so cannot be built for alternate ABIs.  This section
    of the code was already disabled in the 4.2.x series but was erroneously
    re-enabled for 4.4.