When I try to run Cura 4.6.1 on my system I can see the splash screen but it seems like it fails to load the main window. Reproducible: Always Steps to Reproduce: 1. Run cura Actual Results: $ cura /usr/lib/python3.7/site-packages/UM/PluginRegistry.py:4: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses import imp [MainThread] UM.Application.initialize [144]: Initializing Ultimaker Cura [MainThread] UM.Application.initialize [145]: App Version 4.6.1 [MainThread] UM.Application.initialize [146]: Api Version 7.2.0 [MainThread] UM.Application.initialize [147]: Build type None [MainThread] UM.Resources.__initializeStoragePaths [445]: Initializing storage paths [MainThread] UM.Resources.__initializeStoragePaths [455]: Config storage path is /home/hrnick/.config/cura/4.6 [MainThread] UM.Resources.__initializeStoragePaths [463]: Data storage path is /home/hrnick/.local/share/cura/4.6 [MainThread] UM.Resources.__initializeStoragePaths [475]: Cache storage path is /home/hrnick/.cache/cura/4.6 [MainThread] UM.PackageManager.__init__ [53]: Found bundled packages JSON file: /usr/share/uranium/resources/bundled_packages/uranium.json [MainThread] UM.PackageManager.__init__ [53]: Found bundled packages JSON file: /usr/share/cura/resources/bundled_packages/cura.json Attribute Qt::AA_UseDesktopOpenGL must be set before QCoreApplication is created. [MainThread] UM.View.GL.OpenGLContext.detectBestOpenGLVersion [118]: Trying OpenGL context 4.1... [MainThread] UM.View.GL.OpenGLContext.detectBestOpenGLVersion [128]: Yay, we got at least OpenGL 4.1 core: 4.1 Core profile [MainThread] UM.Qt.QtApplication.initialize [173]: Detected most suitable OpenGL context version: 4.1 Core profile [MainThread] UM.Qt.QtApplication.initialize [180]: Initializing job queue ... [MainThread] UM.Qt.QtApplication.initialize [184]: Initializing version upgrade manager ... [MainThread] UM.PackageManager._loadManagementData [164]: Loaded bundled packages data from /usr/share/uranium/resources/bundled_packages/uranium.json [MainThread] UM.PackageManager._loadManagementData [164]: Loaded bundled packages data from /usr/share/cura/resources/bundled_packages/cura.json [MainThread] UM.PackageManager._loadManagementData [185]: Loaded user packages management file from /home/hrnick/.local/share/cura/4.6/packages.json [MainThread] UM.PackageManager._saveManagementData [254]: Package management file /home/hrnick/.local/share/cura/4.6/packages.json was saved [MainThread] UM.PluginRegistry.initializeBeforePluginsAreLoaded [110]: Loading plugin configuration file '/home/hrnick/.config/cura/4.6/plugins.json' Cyclic dependency detected between "file:///usr/share/cura/resources/qml/Actions.qml" and "file:///usr/share/cura/resources/qml/Actions.qml" QObject::connect: Cannot queue arguments of type 'QList<QQmlError>' (Make sure 'QList<QQmlError>' is registered using qRegisterMetaType().) QQmlApplicationEngine failed to load component Expected Results: Cura should start. $ emerge --info Portage 2.3.103 (python 3.7.8-final-0, default/linux/amd64/17.1/no-multilib, gcc-9.3.0, glibc-2.31-r5, 5.4.6-gentoo-x86_64 x86_64) ================================================================= System uname: Linux-5.4.6-gentoo-x86_64-x86_64-Intel-R-_Core-TM-_i7-9700K_CPU_@_3.60GHz-with-gentoo-2.7 KiB Mem: 32810376 total, 14878172 free KiB Swap: 0 total, 0 free Timestamp of repository gentoo: Sun, 05 Jul 2020 12:00:02 +0000 Head commit of repository gentoo: 52bd73f4faf36a09432ba2f03d37fc706f227d8f sh bash 5.0_p17 ld GNU ld (Gentoo 2.32 p2) 2.32.0 app-shells/bash: 5.0_p17::gentoo dev-java/java-config: 2.3.1::gentoo dev-lang/perl: 5.30.3-r1::gentoo dev-lang/python: 2.7.18::gentoo, 3.7.8-r1::gentoo dev-util/cmake: 3.17.3::gentoo sys-apps/baselayout: 2.7::gentoo sys-apps/openrc: 0.42.1::gentoo sys-apps/sandbox: 2.20::gentoo sys-devel/autoconf: 2.13-r1::gentoo, 2.69-r5::gentoo sys-devel/automake: 1.16.2::gentoo sys-devel/binutils: 2.32-r1::gentoo, 2.33.1::gentoo, 2.34-r1::gentoo sys-devel/gcc: 9.2.0-r3::gentoo, 9.3.0::gentoo, 10.1.0-r2::gentoo sys-devel/gcc-config: 2.3.1::gentoo sys-devel/libtool: 2.4.6-r6::gentoo sys-devel/make: 4.3::gentoo sys-kernel/linux-headers: 5.7::gentoo (virtual/os-headers) sys-libs/glibc: 2.31-r5::gentoo Repositories: gentoo location: /var/db/repos/gentoo sync-type: rsync sync-uri: rsync://rsync.gentoo.org/gentoo-portage priority: -1000 sync-rsync-verify-jobs: 1 sync-rsync-verify-max-age: 24 sync-rsync-verify-metamanifest: yes sync-rsync-extra-opts: localrepo location: /var/db/repos/localrepo masters: gentoo ACCEPT_KEYWORDS="amd64 ~amd64" ACCEPT_LICENSE="@FREE" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=skylake -O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/config /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/revdep-rebuild /etc/sandbox.d /etc/terminfo" CXXFLAGS="-march=skylake -O2 -pipe" DISTDIR="/var/cache/distfiles" EMERGE_DEFAULT_OPTS="--keep-going --jobs=8" ENV_UNSET="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="-march=skylake -O2 -pipe" 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 qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr" FFLAGS="-march=skylake -O2 -pipe" GENTOO_MIRRORS="http://distfiles.gentoo.org" LANG="C" LDFLAGS="-Wl,-O1 -Wl,--as-needed" MAKEOPTS="-j9" 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 acl amd64 bzip2 cli crypt cups dri elogind ffmpeg flac gdbm heif iconv jpeg libtirpc mp3 nptl opengl openmp pam png pulseaudio raw readline seccomp split-usr ssl tcpd tiff truetype udev udisks unicode vim-syntax x264 x265 xattr xv zip zlib" ABI_X86="64" 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" INPUT_DEVICES="libinput" KERNEL="linux" L10N="sv en de ru" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-2" POSTGRES_TARGETS="postgres10 postgres11" PYTHON_SINGLE_TARGET="python3_7" PYTHON_TARGETS="python3_7" RUBY_TARGETS="ruby25" USERLAND="GNU" VIDEO_CARDS="nvidia" 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, LINGUAS, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS It seems like the last four lines of the output above are generated by... self._qml_engine.load(self._main_qml) ...in the function initializeEngine() in... /usr/lib/python3.7/site-packages/UM/Qt/QtApplication.py There is a thread in the forums: https://forums.gentoo.org/viewtopic.php?p=8477762 Upstream they only asked me why I am not using their AppImage since it's the only build they support.
I hit the same issue while trying to get cura working after recent breakage. IIRC the fix for me was to use "eselect python set" to set the default Python interpreter to 3.7, rather than 3.6 That fixed the issue and cura then started... or at least did after my fixes from https://github.com/gentoo/gentoo/pull/17679 were applied as well.
I did an emerge -C cura, followed by a emerge --depclean, I followed the steps on github and resinstalled cura. I also removed all configuration files I could find in my user profile (~/.local/share/cura, ~/.cache/cura and ~/.config/cura) before starting cura. First I got ModuleNotFoundErrors for zeroconf and trimesh (that I found in a portage overlay). I don't know if these errors were related to any of the other things but now I'm back to the result I had in my first post.
I get the same error using the cura-4.7.0 ebuild found in GitHub: $ cura /usr/lib/python3.7/site-packages/UM/PluginRegistry.py:4: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses import imp [MainThread] UM.Application.initialize [144]: Initializing Ultimaker Cura [MainThread] UM.Application.initialize [145]: App Version 4.7.0 [MainThread] UM.Application.initialize [146]: Api Version 7.3.0 [MainThread] UM.Application.initialize [147]: Build type None [MainThread] UM.Resources.__initializeStoragePaths [446]: Initializing storage paths [MainThread] UM.Resources.__initializeStoragePaths [456]: Config storage path is /home/hrnick/.config/cura/4.7 [MainThread] UM.Resources.__initializeStoragePaths [464]: Data storage path is /home/hrnick/.local/share/cura/4.7 [MainThread] UM.Resources.__initializeStoragePaths [476]: Cache storage path is /home/hrnick/.cache/cura/4.7 [MainThread] UM.Resources._copyLatestDirsIfPresent [496]: Found config: ['/home/hrnick/.config/cura'] and data: ['/home/hrnick/.local/share/cura'] [MainThread] UM.Resources._copyLatestDirsIfPresent [500]: Latest config path: None and latest data path: None [MainThread] UM.Qt.QtApplication.initialize [144]: Preferences file not found, ignore and use default language 'en_US' [MainThread] UM.PackageManager.__init__ [54]: Found bundled packages JSON file: /usr/share/uranium/resources/bundled_packages/uranium.json [MainThread] UM.PackageManager.__init__ [54]: Found bundled packages JSON file: /usr/share/cura/resources/bundled_packages/cura.json Attribute Qt::AA_UseDesktopOpenGL must be set before QCoreApplication is created. [MainThread] UM.View.GL.OpenGLContext.detectBestOpenGLVersion [118]: Trying OpenGL context 4.1... [MainThread] UM.View.GL.OpenGLContext.detectBestOpenGLVersion [128]: Yay, we got at least OpenGL 4.1 core: 4.1 Core profile [MainThread] UM.Qt.QtApplication.initialize [173]: Detected most suitable OpenGL context version: 4.1 Core profile [MainThread] UM.Qt.QtApplication.initialize [180]: Initializing job queue ... [MainThread] UM.Qt.QtApplication.initialize [184]: Initializing version upgrade manager ... [MainThread] UM.PackageManager._loadManagementData [165]: Loaded bundled packages data from /usr/share/uranium/resources/bundled_packages/uranium.json [MainThread] UM.PackageManager._loadManagementData [165]: Loaded bundled packages data from /usr/share/cura/resources/bundled_packages/cura.json [MainThread] UM.PackageManager._loadManagementData [188]: User package management file /home/hrnick/.local/share/cura/4.7/packages.json doesn't exist, do nothing [MainThread] UM.PackageManager._saveManagementData [256]: Package management file /home/hrnick/.local/share/cura/4.7/packages.json was saved Cyclic dependency detected between "file:///usr/share/cura/resources/qml/Actions.qml" and "file:///usr/share/cura/resources/qml/Actions.qml" QQmlApplicationEngine failed to load component
This was fixed for 4.6.1 and 4.7.0 by referencing the matching PV dependencies.
Actually it's not. I still have the same problem and I had so trying the patches that were available in github and now the packages available in portage. I think we have been discussing two different problems here and the one I originally posted about has still not been addressed or solved.
I have the same issue with cura-4.7.0
@tolstiy: We've tried to do some troubleshooting in the forums but unfortunately not managed to get anywhere really. If you haven't seen it feel free to take a look and come up with any ideas of what to check next that you can think of. Thanks! https://forums.gentoo.org/viewtopic.php?p=8477762
So where are we with this bug report? Is there anything we can do to troubleshoot this? I would be more than happy to help but I don't know where to go next. I would have expected "QQmlApplicationEngine failed to load component" to output what component that couldn't be loaded. Could I be on to something here? Is there any way of debugging that?
Same thing with 4.9.0 emerged using updated ebuilds in a local repository. $ cura /usr/lib/python3.7/site-packages/UM/PluginRegistry.py:4: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses import imp [MainThread] UM.Application.initialize [160]: Initializing Ultimaker Cura [MainThread] UM.Application.initialize [161]: App Version 4.9.0 [MainThread] UM.Application.initialize [162]: Api Version 7.5.0 [MainThread] UM.Application.initialize [163]: Build type ebuild [MainThread] UM.Resources.__initializeStoragePaths [446]: Initializing storage paths [MainThread] UM.Resources.__initializeStoragePaths [456]: Config storage path is /home/hrnick/.config/cura/4.9 [MainThread] UM.Resources.__initializeStoragePaths [464]: Data storage path is /home/hrnick/.local/share/cura/4.9 [MainThread] UM.Resources.__initializeStoragePaths [476]: Cache storage path is /home/hrnick/.cache/cura/4.9 [MainThread] UM.PackageManager.__init__ [54]: Found bundled packages JSON file: /usr/share/cura/resources/bundled_packages/cura.json [MainThread] UM.PackageManager.__init__ [54]: Found bundled packages JSON file: /usr/share/uranium/resources/bundled_packages/uranium.json Attribute Qt::AA_UseDesktopOpenGL must be set before QCoreApplication is created. [MainThread] UM.View.GL.OpenGLContext.detectBestOpenGLVersion [118]: Trying OpenGL context 4.1... [MainThread] UM.View.GL.OpenGLContext.detectBestOpenGLVersion [128]: Yay, we got at least OpenGL 4.1 core: 4.1 Core profile [MainThread] UM.Qt.QtApplication.initialize [175]: Detected most suitable OpenGL context version: 4.1 Core profile [MainThread] UM.Qt.QtApplication.initialize [182]: Initializing job queue ... [MainThread] UM.Qt.QtApplication.initialize [186]: Initializing version upgrade manager ... [MainThread] UM.PackageManager._loadManagementData [165]: Loaded bundled packages data from /usr/share/cura/resources/bundled_packages/cura.json [MainThread] UM.PackageManager._loadManagementData [165]: Loaded bundled packages data from /usr/share/uranium/resources/bundled_packages/uranium.json [MainThread] UM.PackageManager._loadManagementData [192]: Loaded user packages management file from /home/hrnick/.local/share/cura/4.9/packages.json [MainThread] UM.PackageManager._saveManagementData [265]: Package management file /home/hrnick/.local/share/cura/4.9/packages.json was saved [MainThread] UM.PluginRegistry.initializeBeforePluginsAreLoaded [117]: Loading plugin configuration file '/home/hrnick/.config/cura/4.9/plugins.json' Cyclic dependency detected between "file:///usr/share/cura/resources/qml/Actions.qml" and "file:///usr/share/cura/resources/qml/Actions.qml" QQmlApplicationEngine failed to load component WARNING: Cannot find style "default" - fallback: "/usr/lib64/qt5/qml/QtQuick/Controls/Styles/Desktop"
Looks like its something between Python and Qt and/or PyQt itself. Maybe worth asking Qt project for tips, if you haven't already?
(In reply to Michael 'veremitz' Everitt from comment #10) > Looks like its something between Python and Qt and/or PyQt itself. Maybe > worth asking Qt project for tips, if you haven't already? No I haven't. Thank you for pointing me in some direction, I've been lost quite a while with this one now. I tried upstream with the cura guys but they only support the cura AppImage. Thanks!
Finally some progress, I've enabled the debug flag for a number of packages and then tried adding use flags to dependencies from the output. $ cat /etc/portage/package.use/cura # Debug dev-qt/qtcore debug dev-qt/qtxml debug dev-qt/qtnetwork debug dev-qt/qttest debug dev-qt/qtgui debug dev-qt/qtwidgets debug dev-qt/qtdeclarative debug dev-qt/qtsvg debug dev-qt/qtopengl debug dev-qt/qtquickcontrols debug dev-qt/qtgraphicaleffects debug dev-qt/qtquickcontrols2 debug dev-python/uranium debug dev-python/PyQt5 debug media-gfx/cura debug # Removes some error messages media-gfx/cura usb zeroconf # Try to find missing use flags #1, does not seem to help dev-qt/qtgui dbus dev-qt/qtwidgets gtk # Try to find missing use flags #2, "Fatal Python error: Aborted" when starting cura dev-qt/qtquickcontrols widgets dev-qt/qtquickcontrols2 widgets Now I get a clear error message, "Fatal Python error: Aborted" at least. https://pastebin.com/wyFAxjHN
Solved! What is needed is the widgets USE flag to be enabled for dev-qt/qtquickcontrols. Also, I ran into the following problem so USE="debug" should not be set for PyQt5. https://github.com/Ultimaker/Cura/issues/8875 So what is needed is the following added to RDEPEND in the cura ebuild: dev-qt/qtquickcontrols[widgets] Also, something like the following (I'm not sure about the exact syntax here to block PyQt5 built with USE="debug"): !dev-python/PyQt5[debug] I suggest creating a cura-4.8.0-r1 ebuild with the changes above.
It should probably be RDEPEND="dev-python/PyQt5[-debug]". :)
$ diff -Naur cura-4.8.0.ebuild cura-4.8.0-r1.ebuild --- cura-4.8.0.ebuild 2021-05-23 19:09:28.555232520 +0200 +++ cura-4.8.0-r1.ebuild 2021-05-23 19:10:11.528566632 +0200 @@ -27,6 +27,9 @@ ~dev-python/uranium-${PV}[${PYTHON_SINGLE_USEDEP}] ~media-gfx/curaengine-${PV} ~media-gfx/fdm-materials-${PV} + dev-qt/qtquickcontrols[widgets] + dev-python/PyQt5[-debug] + $(python_gen_cond_dep ' dev-python/mypy[${PYTHON_MULTI_USEDEP}] dev-python/numpy[${PYTHON_MULTI_USEDEP}] That should do the trick!
Is there any other way I could help to get this improvement into portage?
I will include it in the PR I'm creating for 4.9.1
That's great news! I've kept track of the Fedora packages for the ebuilds I have created for a portage overlay. It seems as if some changes for python-3.9 have already gone into the cura source code (9105.patch) but that there are other fixes that could be useful like cura-9702.patch. https://src.fedoraproject.org/rpms/cura/c/2cdec4003addb81fca79344e592cc0b3c5c07f34?branch=rawhide
(In reply to Henrik Johansson from comment #15) > $ diff -Naur cura-4.8.0.ebuild cura-4.8.0-r1.ebuild > --- cura-4.8.0.ebuild 2021-05-23 19:09:28.555232520 +0200 > +++ cura-4.8.0-r1.ebuild 2021-05-23 19:10:11.528566632 +0200 > @@ -27,6 +27,9 @@ > ~dev-python/uranium-${PV}[${PYTHON_SINGLE_USEDEP}] > ~media-gfx/curaengine-${PV} > ~media-gfx/fdm-materials-${PV} > + dev-qt/qtquickcontrols[widgets] > + dev-python/PyQt5[-debug] > + > $(python_gen_cond_dep ' > dev-python/mypy[${PYTHON_MULTI_USEDEP}] > dev-python/numpy[${PYTHON_MULTI_USEDEP}] > > That should do the trick! @Henrik, would you mind commenting in the PR on this patch? https://github.com/gentoo/gentoo/pull/21150#discussion_r646868714
Sorry for adding PyQt5 twice in the ebuild, I missed that in my local repository. But I have commented at GitHub now and hopefully that will make things clearer. Thanks for your work on this, I'm happy to see my year long struggle to get cura running finally finding it's way into portage together with a version bump. :)
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a32c3cd7e73ebc0f1febc56abdf40944cc9ef506 commit a32c3cd7e73ebc0f1febc56abdf40944cc9ef506 Author: Mathy Vanvoorden <mathy@vanvoorden.be> AuthorDate: 2021-06-07 16:02:52 +0000 Commit: Dennis Lamm <expeditioneer@gentoo.org> CommitDate: 2021-06-10 17:40:52 +0000 media-gfx/cura: Version bump to 4.9.1 Closes: https://bugs.gentoo.org/793803 Closes: https://bugs.gentoo.org/731274 Package-Manager: Portage-3.0.19, Repoman-3.0.3 Signed-off-by: Mathy Vanvoorden <mathy@vanvoorden.be> Closes: https://github.com/gentoo/gentoo/pull/21150 Signed-off-by: Dennis Lamm <expeditioneer@gentoo.org> media-gfx/cura/Manifest | 1 + media-gfx/cura/cura-4.9.1.ebuild | 71 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 72 insertions(+)