Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 703778 - dev-python/paramiko-2.7.1 failed to emerge with USE=doc
Summary: dev-python/paramiko-2.7.1 failed to emerge with USE=doc
Status: RESOLVED OBSOLETE
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: Normal normal
Assignee: Python Gentoo Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-12-25 18:13 UTC by Leonid Kopylov
Modified: 2022-02-12 23:22 UTC (History)
6 users (show)

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


Attachments
build.log (build.log,14.38 KB, text/plain)
2019-12-25 18:14 UTC, Leonid Kopylov
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Leonid Kopylov 2019-12-25 18:13:38 UTC
# emerge -pqv '=dev-python/paramiko-2.7.1::gentoo'
[ebuild   R   ] dev-python/paramiko-2.7.1  USE="doc* examples (-server) -test" PYTHON_TARGETS="python2_7 python3_6 -python3_5 -python3_7 -python3_8"

# emerge --info '=dev-python/paramiko-2.7.1::gentoo'
Portage 2.3.82 (python 3.6.10-final-0, default/linux/amd64/17.1/desktop/gnome/systemd, gcc-9.2.0, glibc-2.30-r3, 5.4.6-gentoo x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-5.4.6-gentoo-x86_64-Intel-R-_Core-TM-_i7-8559U_CPU_@_2.70GHz-with-gentoo-2.6
KiB Mem:     8158492 total,   6030008 free
KiB Swap:    8388604 total,   8388604 free
Timestamp of repository gentoo: Mon, 23 Dec 2019 07:30:01 +0000
Head commit of repository gentoo: c78286f4f0b9046548df08f176d03dd8897fc2d1
sh bash 5.0_p11
ld GNU ld (Gentoo 2.33.1 p1) 2.33.1
ccache version 3.7.6 [disabled]
app-shells/bash:          5.0_p11::gentoo
dev-java/java-config:     2.2.0-r4::gentoo
dev-lang/perl:            5.30.1::gentoo
dev-lang/python:          2.7.17::gentoo, 3.6.10::gentoo, 3.7.6::gentoo, 3.8.1::gentoo
dev-util/ccache:          3.7.6::gentoo
dev-util/cmake:           3.16.2-r1::gentoo
sys-apps/baselayout:      2.6-r1::gentoo
sys-apps/sandbox:         2.18::gentoo
sys-devel/autoconf:       2.13-r1::gentoo, 2.69-r5::gentoo
sys-devel/automake:       1.16.1-r2::gentoo
sys-devel/binutils:       2.33.1::gentoo
sys-devel/gcc:            9.2.0-r3::gentoo
sys-devel/gcc-config:     2.1::gentoo
sys-devel/libtool:        2.4.6-r5::gentoo
sys-devel/make:           4.2.1-r4::gentoo
sys-kernel/linux-headers: 5.4::gentoo (virtual/os-headers)
sys-libs/glibc:           2.30-r3::gentoo
Repositories:

gentoo
    location: /var/db/repos/gentoo
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000
    sync-rsync-verify-max-age: 24
    sync-rsync-verify-jobs: 1
    sync-rsync-extra-opts:
    sync-rsync-verify-metamanifest: yes

ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="@FREE myspell-ru_RU-AlexanderLebedev linux-fw-redistributable no-source-code bh-luxi google-chrome"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe -fomit-frame-pointer"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /usr/share/gnupg/qualified.txt"
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.4/ext-active/ /etc/php/cgi-php7.4/ext-active/ /etc/php/cli-php7.4/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="-march=native -O2 -pipe -fomit-frame-pointer"
DISTDIR="/var/cache/distfiles"
ENV_UNSET="DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN 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="-march=native -O2 -pipe -fomit-frame-pointer"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-march=native -O2 -pipe -fomit-frame-pointer"
GENTOO_MIRRORS="http://mirror.isoc.org.il/pub/gentoo/"
LANG="en_US.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j5"
PKGDIR="/var/cache/binpkgs"
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 accessibility acl acpi alsa amd64 audit berkdb bluetooth branding bzip2 cairo cdda cdr cli colord crypt cryptsetup cups curl cxx dbus device-mapper doc dot dri dts dvd dvdr eds emboss encode evo examples exif experimental fam flac fontconfig fortran gd gdbm geoip gif gnome gnome-keyring gnome-online-accounts go googledrive gpg gpm gstreamer gtk html http iconv icu idn introspection ipv6 iscsi jadetex java jpeg kerberos latex lcms ldap libkms libnotify libsecret libtirpc logrotate mad math mbox mdadm minizip mng mount mp3 mp4 mpeg mpx multilib multimon mysql mysqli nautilus ncurses networkmanager nls nptl nscd offensive ogg opengl openmp openntpd pam pango pcre pcre32 pdf pdfimport perl png policykit postgres ppds pulseaudio python qrcode qt5 readline samba sasl sdl seccomp slp smi spell split-usr sqlite sshdump ssl startup-notification svg symlink sync-plugin-portage systemd tcpd tfshark threads tiff tk tools tracker truetype udev udisks unicode upower usb user-session vorbis wayland winbind wininst wxwidgets x264 xa xattr xcb xinerama xkb xml xv xvid zlib" ABI_X86="64 32" ADA_TARGET="gnat_2018" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" 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="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx avx2 f16c fma3 mmx mmxext pclmul popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3" 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" INPUT_DEVICES="evdev" KERNEL="linux" L10N="en en-US he ru" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="nlpsolver scripting-beanshell wiki-publisher scripting-javascript" NETBEANS_MODULES="apisupport cnd groovy gsf harness ide identity j2ee java mobility nb php profiler soa visualweb webcommon websvccommon xml" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-2" POSTGRES_TARGETS="postgres10 postgres11" PYTHON_SINGLE_TARGET="python3_6" PYTHON_TARGETS="python2_7 python3_6" RUBY_TARGETS="ruby24 ruby25 ruby26" USERLAND="GNU" VIDEO_CARDS="vmware" 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, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, LINGUAS, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

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

dev-python/paramiko-2.7.1::gentoo was built with the following:
USE="examples -doc (-server) -test" ABI_X86="(64)" PYTHON_TARGETS="python2_7 python3_6 -python3_5 -python3_7 -python3_8"
FEATURES="sfperms binpkg-docompress userpriv sandbox distlocks ebuild-locks pid-sandbox config-protect-if-modified userfetch ipc-sandbox merge-sync usersandbox assume-digests parallel-fetch preserve-libs binpkg-logs fixlafiles binpkg-dostrip network-sandbox news strict xattr unmerge-logs protect-owned multilib-strict usersync unmerge-orphans unknown-features-warn"
Comment 1 Leonid Kopylov 2019-12-25 18:14:45 UTC
Created attachment 600602 [details]
build.log
Comment 2 Erik 2020-04-02 14:10:55 UTC
I can confirm that dev-python/paramiko-2.7.1 fails to emerge with USE=doc. Turning doc off for the package made it possible to emerge it. the error was:

copying paramiko/channel.py -> /var/tmp/portage/dev-python/paramiko-2.7.1/work/paramiko-2.7.1-python3_6/lib/paramiko
warning: build_py: byte-compiling is disabled, skipping.

 * Using python3.6 in global scope
 * python3_6: running distutils-r1_run_phase python_compile_all
Running Sphinx v2.0.1

Configuration error:
There is a programmable error in your configuration file:

Traceback (most recent call last):
  File "/usr/lib64/python3.6/site-packages/sphinx/config.py", line 361, in eval_config_file
    execfile_(filename, namespace)
  File "/usr/lib64/python3.6/site-packages/sphinx/util/pycompat.py", line 86, in execfile_
    exec(code, _globals)
  File "/var/tmp/portage/dev-python/paramiko-2.7.1/work/paramiko-2.7.1/sites/docs/conf.py", line 20, in <module>
    disabled_intersphinx_mapping["www"] = (target, None)
NameError: name 'disabled_intersphinx_mapping' is not defined
Comment 3 tonich 2020-04-07 06:39:19 UTC
The problem is in file eclass/python-utils-r1.eclass in build_sphinx() function:
When i commented these lines

    sed -i -e 's:^intersphinx_mapping:disabled_&:' \
        "${dir}"/conf.py || die

paramiko was compiled successfully with USE=doc.
Comment 4 Erik 2021-01-31 01:18:49 UTC
Version 2.7.2 also fails to emerge with USE="doc" but emerge works with USE="-doc".
Comment 5 Reed Riley 2021-05-23 01:44:46 UTC
I can also confirm this fails to build on dev-python/paramiko-2.7.2.

It looks like paramiko defines part of the intersphinx mappings in a shared config file; and then modifies them via index operator?  Which means the sed expression mentioned by tonich doesn't generate valid python code.

The issue can also be resolved by changing the lines he mentioned in eclass/python-utils-r1.eclass to:

    sed -i -e 's:^intersphinx_mapping[^\[]:disabled_&:' \
            "${dir}"/conf.py || die


Out of curiosity; why does Gentoo disable intersphinx_mappings in documentation generated by sphinx?
Comment 6 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2021-05-23 06:31:30 UTC
(In reply to Reed Riley from comment #5)
> Out of curiosity; why does Gentoo disable intersphinx_mappings in
> documentation generated by sphinx?

Because intersphinx generally needs to fetch data online which isn't permitted in ebuilds.
Comment 7 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2022-02-12 23:22:12 UTC
Closing bugs linked to old (removed) versions.