Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 939103 - media-gfx/blender-4.2.1 failed to emerge - ModuleNotFoundError: No module named 'addon_utils'
Summary: media-gfx/blender-4.2.1 failed to emerge - ModuleNotFoundError: No module nam...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Paul Zander
URL:
Whiteboard:
Keywords: PullRequest
Depends on:
Blocks:
 
Reported: 2024-09-05 09:12 UTC by Leonid Kopylov
Modified: 2024-12-01 08:34 UTC (History)
4 users (show)

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


Attachments
build.log.xz (build.log.xz,574.70 KB, application/x-xz)
2024-09-05 09:12 UTC, Leonid Kopylov
Details
Proposed ebuild replacement (blender-4.2.1.ebuild,17.09 KB, text/plain)
2024-11-25 05:42 UTC, Anon Emuss
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Leonid Kopylov 2024-09-05 09:12:09 UTC
# emerge -pqv '=media-gfx/blender-4.2.1::gentoo'
[ebuild  NS   ] media-gfx/blender-4.2.1 [4.1.1-r2] USE="X alembic bullet collada color-management cycles cycles-bin-kernels doc embree experimental ffmpeg fftw fluid gmp jack jemalloc jpeg2k man nanovdb ndof nls oidn openal openexr openmp openpgl opensubdiv openvdb otf pdf potrace pugixml pulseaudio sdl sndfile tbb tiff wayland webp (-cuda) -debug (-gnome) (-hip) (-oneapi) -optix -osl (-renderdoc) -test -valgrind (-vulkan)" LLVM_SLOT="18 -15 -16 -17" PYTHON_SINGLE_TARGET="python3_12 -python3_11"

# emerge --info '=media-gfx/blender-4.2.1::gentoo'
Portage 3.0.65 (python 3.13.0-candidate-1, default/linux/arm64/23.0/desktop/gnome/systemd, gcc-14, glibc-2.40, 6.10.8-gentoo-arm64 aarch64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-6.10.8-gentoo-arm64-aarch64-with-glibc2.40
KiB Mem:    32816184 total,  23259680 free
KiB Swap:    8388604 total,   8388604 free
Timestamp of repository gentoo: Thu, 05 Sep 2024 05:30:00 +0000
Head commit of repository gentoo: a859aebe3e31b91c1b130f283c03558787e374c5
Timestamp of repository HomeAssistantRepository: Mon, 19 Aug 2024 18:34:04 +0000
Head commit of repository HomeAssistantRepository: 341a403b70aef1833fb86e5c92bdbf0154a4f534

Timestamp of repository darkelf: Mon, 26 Aug 2024 13:19:02 +0000
Head commit of repository darkelf: 8b9f57d3a2b9d75bb9996f44f7840ddc8dacbe2f

Timestamp of repository guru: Wed, 04 Sep 2024 20:48:47 +0000
Head commit of repository guru: 88e892b9fe7956d2416c4c25355b7ea545fc3981

Timestamp of repository inode64-overlay: Wed, 04 Sep 2024 11:49:04 +0000
Head commit of repository inode64-overlay: bd3e6d82e513e9e5569da7b5dc1aa93852cc5cbf

Timestamp of repository kde: Wed, 04 Sep 2024 14:52:52 +0000
Head commit of repository kde: 44bb9be7a00868082803fa351f0fcf7fda59e8c3

Timestamp of repository pentoo: Thu, 05 Sep 2024 01:33:47 +0000
Head commit of repository pentoo: ef64fc9d01846e4bbbc24cd0f77745e30610b292

sh bash 5.2_p32-r1
ld GNU ld (Gentoo 2.43 p2) 2.43.1
ccache version 4.10.2 [enabled]
app-misc/pax-utils:        1.3.7::gentoo
app-shells/bash:           5.2_p32-r1::gentoo
dev-build/autoconf:        2.13-r8::gentoo, 2.72-r1::gentoo
dev-build/automake:        1.17-r1::gentoo
dev-build/cmake:           3.30.2::gentoo
dev-build/libtool:         2.4.7-r4::gentoo
dev-build/make:            4.4.1-r1::gentoo
dev-build/meson:           1.5.1::gentoo
dev-java/java-config:      2.3.4::gentoo
dev-lang/perl:             5.40.0::gentoo
dev-lang/python:           3.10.14_p3::gentoo, 3.11.9_p2::gentoo, 3.12.5_p1::gentoo, 3.13.0_rc1_p3::gentoo
dev-lang/rust:             1.80.1::gentoo
dev-lang/rust-bin:         1.80.1::gentoo
dev-util/ccache:           4.10.2::gentoo
sys-apps/baselayout:       2.15::gentoo
sys-apps/sandbox:          2.39::gentoo
sys-apps/systemd:          256.5::gentoo
sys-devel/binutils:        2.42-r2::gentoo, 2.43-r1::gentoo
sys-devel/binutils-config: 5.5.2::gentoo
sys-devel/clang:           15.0.7-r3::gentoo, 16.0.6::gentoo, 17.0.6::gentoo, 18.1.8::gentoo
sys-devel/gcc:             12.4.0::gentoo, 13.3.1_p20240614::gentoo, 14.2.1_p20240817::gentoo
sys-devel/gcc-config:      2.11::gentoo
sys-devel/lld:             17.0.6::gentoo, 18.1.8::gentoo
sys-devel/llvm:            15.0.7-r6::gentoo, 16.0.6-r5::gentoo, 17.0.6-r3::gentoo, 18.1.8-r4::gentoo
sys-kernel/linux-headers:  6.10::gentoo (virtual/os-headers)
sys-libs/glibc:            2.40::gentoo
Repositories:

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

HomeAssistantRepository
    location: /var/db/repos/HomeAssistantRepository
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/HomeAssistantRepository.git
    masters: gentoo
    volatile: False

darkelf
    location: /var/db/repos/darkelf
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/darkelf.git
    masters: gentoo
    volatile: False

guru
    location: /var/db/repos/guru
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/guru.git
    masters: gentoo
    volatile: False

inode64-overlay
    location: /var/db/repos/inode64-overlay
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/inode64-overlay.git
    masters: gentoo
    volatile: False

kde
    location: /var/db/repos/kde
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/kde.git
    masters: gentoo
    volatile: False

pentoo
    location: /var/db/repos/pentoo
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/pentoo.git
    masters: gentoo
    volatile: False

Binary Repositories:

gentoobinhost
    priority: 1
    sync-uri: https://distfiles.gentoo.org/releases/arm64/binpackages/23.0/arm64

ACCEPT_KEYWORDS="arm64 ~arm64"
ACCEPT_LICENSE="* -@EULA geekbench Microsoft-vscode TeamViewer Vivaldi"
CBUILD="aarch64-unknown-linux-gnu"
CFLAGS="-march=native -O2 -pipe -fomit-frame-pointer"
CHOST="aarch64-unknown-linux-gnu"
CONFIG_PROTECT="/etc /etc/stunnel/stunnel.conf /opt/zookeeper-bin/conf /usr/lib64/libreoffice/program/sofficerc /usr/share/config /usr/share/gnupg/qualified.txt /var/bind"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php8.2/ext-active/ /etc/php/apache2-php8.3/ext-active/ /etc/php/cgi-php8.2/ext-active/ /etc/php/cgi-php8.3/ext-active/ /etc/php/cli-php8.2/ext-active/ /etc/php/cli-php8.3/ext-active/ /etc/php/fpm-php8.2/ext-active/ /etc/php/fpm-php8.3/ext-active/ /etc/php/phpdbg-php8.2/ext-active/ /etc/php/phpdbg-php8.3/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /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="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GDK_PIXBUF_MODULE_FILE 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 XDG_STATE_HOME"
FCFLAGS="-march=native -O2 -pipe -fomit-frame-pointer"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs binpkg-multi-instance buildpkg-live ccache config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync merge-wait multilib-strict network-sandbox news parallel-fetch pid-sandbox pkgdir-index-trusted preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict strict-keepdir unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync warn-on-large-env xattr"
FFLAGS="-march=native -O2 -pipe -fomit-frame-pointer"
GENTOO_MIRRORS="http://mirror.isoc.org.il/pub/gentoo/ https://mirror.eu.oneandone.net/linux/distributions/gentoo/gentoo/"
LANG="en_US.utf8"
LC_ALL="en_US.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LEX="flex"
MAKEOPTS="-j6"
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"
SHELL="/bin/bash"
USE="X a52 aac accessibility acl acpi alsa arm64 audit bash-completion berkdb bidi bluetooth branding brotli btrfs bzip2 cairo cdda cdr cli colord crypt cryptsetup cups curl dbus designer device-mapper doc dri dts dvdr eds emacs encode evdev evo examples exif experimental ffmpeg flac fortran fuse gamepad gdbm gif git gmp gnome gnome-keyring gnome-online-accounts gnome-shell gnutls go gpg gpm gstreamer gtk gtk-doc gui hscolour html http iconv icu idn introspection iodbc ios ipv6 jack java jemalloc joystick jpeg json kde kerberos keyring kf6compat lcms ldap libnotify libtirpc lua lvm lz4 lzma lzo mad man mbedtls mng mongodb mp3 mp4 mpeg multimedia mysql nas nautilus ncurses netlink network networkmanager nfs nls nss odbc offensive ogg opengl openmp openssl pam pango pcap pcre pdf perl pkcs11 plasma plugins png policykit postgres ppds pulseaudio python qml qt5 qt6 readline redis samba sasl screencast sdl seccomp semantic-desktop snmp sound source speech spell sqlite ssl startup-notification svg symlink sysprof systemd tcl telemetry test-rust threads tiff tk tools tracker truetype udev udisks unicode upower usb utils v4l vala vim-syntax vnc vorbis vulkan wayland webengine webkit webp wxwidgets x264 xattr xcb xft xinerama xml xv xvid yaml zeroconf zip zlib zsh-completion zstd" ADA_TARGET="gcc_12" APACHE2_MODULES="actions alias auth_basic auth_digest authn_anon authn_core authn_dbd authn_dbm authn_file authn_socache authz_core authz_dbd authz_dbm authz_groupfile authz_host authz_owner authz_user autoindex brotli cache cgi cgid charset_lite dav dav_fs dav_lock dbd deflate dir env expires ext_filter file_cache filter headers http2 ident imagemap include info log_config logio mime mime_magic negotiation ratelimit reqtimeout rewrite session session_cookie session_crypto session_dbd setenvif socache_shmcb speling status substitute unique_id unixd userdir usertrack version vhost_alias watchdog xml2enc" APACHE2_MPMS="worker" CALLIGRA_FEATURES="karbon sheets words stage" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_ARM="edsp vfp vfpv3 vfpv4 vfp-d32 aes sha1 sha2 crc32 asimddp v8" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 ntrip navcom oceanserver oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 tsip tripmate tnt ublox" GRUB_PLATFORMS="efi-64" GUILE_SINGLE_TARGET="3-0" GUILE_TARGETS="3-0" INPUT_DEVICES="evdev joystick libinput" KERNEL="linux" L10N="en en-US he ru" LCD_DEVICES="bayrad cfontz glk hd44780 lb216 lcdm001 mtxorb text" LIBREOFFICE_EXTENSIONS="nlpsolver scripting-beanshell scripting-javascript wiki-publisher" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" NGINX_MODULES_HTTP="access addition auth_basic auth_ldap auth_pam auth_request autoindex brotli browser charset dav dav_ext echo empty_gif fancyindex fastcgi flv geo geoip geoip2 grpc gunzip gzip image_filter javascript limit_conn limit_req map memc memcached metrics mirror mp4 perl proxy push_stream referer rewrite scgi split_clients ssi stub_status upload_progress upstream_check upstream_hash upstream_ip_hash upstream_keepalive upstream_least_conn upstream_zone userid uwsgi vhost_traffic_status xslt" NGINX_MODULES_MAIL="imap pop3 smtp" NGINX_MODULES_STREAM="access" OFFICE_IMPLEMENTATION="libreoffice" PERL_FEATURES="ithreads" PHP_TARGETS="php8-2" POSTGRES_TARGETS="postgres15" PYTHON_SINGLE_TARGET="python3_12" PYTHON_TARGETS="python3_12 python3_10 python3_11 python3_13" RUBY_TARGETS="ruby31 ruby32 ruby33" UWSGI_PLUGINS="alarm_curl cache carbon cheaper_busyness clock_monotonic clock_realtime corerouter curl_cron dumbloop echo emperor_amqp emperor_pg emperor_zeromq fastrouter forkptyrouter geoip graylog2 http ldap legion_cache_fetch logcrypto logfile logpipe logsocket mongodblog nagios notfound pam ping rados rawrouter redislog router_access router_basicauth router_cache router_expires router_hash router_http router_memcached router_metrics router_redirect router_redis router_rewrite router_spnego router_static router_uwsgi router_xmldir rpc rrdtool rsyslog signal spooler sqlite ssi sslrouter stats_pusher_statsd symcall syslog systemd_logger transformation_chunked transformation_gzip transformation_offload transformation_tofile transformation_toupper tuntap ugreen webdav xattr xslt zabbix zergpool" VIDEO_CARDS="virgl" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipp2p iface geoip fuzzy condition tarpit sysrq proto logmark ipmark dhcpmac delude chaos account"
Unset:  ADDR2LINE, AR, ARFLAGS, AS, ASFLAGS, CC, CCLD, CONFIG_SHELL, CPP, CPPFLAGS, CTARGET, CXX, CXXFILT, ELFEDIT, EMERGE_DEFAULT_OPTS, EXTRA_ECONF, F77FLAGS, FC, GCOV, GPROF, INSTALL_MASK, LD, LFLAGS, LIBTOOL, LINGUAS, MAKE, MAKEFLAGS, NM, OBJCOPY, OBJDUMP, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PYTHONPATH, RANLIB, READELF, RUSTFLAGS, SIZE, STRINGS, STRIP, YACC, YFLAGS
Comment 1 Leonid Kopylov 2024-09-05 09:12:47 UTC
Created attachment 902111 [details]
build.log.xz
Comment 2 Sebastian Parborg 2024-09-05 16:25:27 UTC
I'm guessing that it builds if you disable the "doc" useflag?
(Just double checking it only fails at that point)
Comment 3 Leonid Kopylov 2024-09-05 17:09:45 UTC
(In reply to Sebastian Parborg from comment #2)
> I'm guessing that it builds if you disable the "doc" useflag?
> (Just double checking it only fails at that point)

yes, it builds with USE=-doc
Comment 4 Paul Zander 2024-09-05 21:34:36 UTC
I have that fixed. I just need to clean up the commit mess.
Comment 5 Mark Herbert 2024-11-16 17:29:46 UTC
still fails - is there any tip how to fix this?
Comment 6 Sebastian Parborg 2024-11-18 11:53:58 UTC
I'll take a look this when the next Blender release is out if Paul hasn't posted his fix at that point.
Comment 7 Mark Herbert 2024-11-18 12:10:29 UTC
I've tried with 4.2.3 from https://download.blender.org/source/ - simply copying  existing ebuild to a new name, and the same story - can not build with +doc  and exactly same  errors like in 4.2.1

So seems that it is not a bug specific to 4.2.1 version but all 4.2 series affected.
Comment 8 Anon Emuss 2024-11-25 05:42:46 UTC
Created attachment 911790 [details]
Proposed ebuild replacement

It looks like the problem might stem from the following commit, introduced in v4.2.0:
  https://projects.blender.org/blender/blender/commit/f7797a90f6ffc5db9ae227a6398f72b34af241e6
In that commit, the BLENDER_SYSTEM_* variables are redefined.  With the exception of BLENDER_SYSTEM_RESOURCES, the variables indicate places where extra system scripts/data may be found, but not the main system scripts/data.  The current ebuild uses those variables to tell blender to look for scripts/data in the intermediate install location, as they will not be available in the final install location until the install is complete.  That fails because those variables no longer indicate where to find the main system scripts/data.  The proposed ebuild replacement is an attempt to fix the problem by switching to using BLENDER_SYSTEM_RESOURCES, which is still used to indicate the location of the main system scripts/data.
Comment 9 Sebastian Parborg 2024-11-25 12:52:04 UTC
(In reply to Anon Emuss from comment #8)
> Created attachment 911790 [details]
> Proposed ebuild replacement
> 
> It looks like the problem might stem from the following commit, introduced
> in v4.2.0:
>  
> https://projects.blender.org/blender/blender/commit/
> f7797a90f6ffc5db9ae227a6398f72b34af241e6
> In that commit, the BLENDER_SYSTEM_* variables are redefined.  With the
> exception of BLENDER_SYSTEM_RESOURCES, the variables indicate places where
> extra system scripts/data may be found, but not the main system
> scripts/data.  The current ebuild uses those variables to tell blender to
> look for scripts/data in the intermediate install location, as they will not
> be available in the final install location until the install is complete. 
> That fails because those variables no longer indicate where to find the main
> system scripts/data.  The proposed ebuild replacement is an attempt to fix
> the problem by switching to using BLENDER_SYSTEM_RESOURCES, which is still
> used to indicate the location of the main system scripts/data.

Thanks for pointing this out!
I am able to build docs with the live ebuild without any extra fixes. But if I switch to the 4.2 or 4.3 branch in the live ebuild it will fail with the error.
I'll see if I can bisect and see if there is any commit upstream that fixed this or if there is some special behavior when on the main branch.
Comment 10 Anon Emuss 2024-11-25 20:35:49 UTC
I would be interested in seeing what a bisect finds.  I took a quick look at commits that were in the main branch but not v4.2.1, and did not see anything that looked like it reverted the breaking change.

Before you dig too deeply into the bisect, though, I would like to point out a possible snag:  I think, with the current ebuilds, newer versions of blender are looking for the system scripts/data under /usr/share/ (in a version-dependent location).  If you are installing a new version, those scripts/data will not be available, and the install will fail.  If, though, you are reinstalling a version (or minor subversion) that you got to install before, I think it might succeed, by using the scripts/data from the previously-installed version rather than the version being installed.

That is, I think a workaround for this bug, which I did not test, would be to first install with USE=-doc, so that the scripts/data are available in the version-specific location under /usr/share/, and then install with USE=doc, and it might work (without any changes to the ebuild).  You might want to make sure that will not affect your bisect work before putting too much effort into it (be sure that v4.2.1 really fails to install before beginning the bisect, and be sure that the main branch really succeeds at installing if you do not have any /usr/share/ files for any version of blender).  I could be wrong; I just wanted to make sure that if I am right, you do not put a lot of work into a flawed bisect.
Comment 11 Sebastian Parborg 2024-11-29 15:30:42 UTC
You are correct!
That was exactly the case!

Thank you so much for figuring out the issue and the solution.
I'll try to update the ebuild with your proposed changes soon.
Comment 12 Larry the Git Cow gentoo-dev 2024-12-01 08:34:52 UTC
The bug has been closed via the following commit(s):

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

commit bdaf73a9d0c58af341407e8197d43f9bfd12f13e
Author:     Sebastian Parborg <sebastian@blender.org>
AuthorDate: 2024-11-29 15:31:19 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2024-12-01 08:33:33 +0000

    media-gfx/blender: Fix building docs
    
    Closes: https://bugs.gentoo.org/939103
    Signed-off-by: Sebastian Parborg <darkdefende@gmail.com>
    Signed-off-by: Sam James <sam@gentoo.org>

 media-gfx/blender/blender-9999.ebuild | 31 +++++++++++++++++++------------
 1 file changed, 19 insertions(+), 12 deletions(-)