Cura LE Version: 3.6.8
Operating System: NixOS 2019.03
Printer: N/A (attempting to get a working software stack in anticipation of Lulzbot Pro order #213871, but bug occurs w/o any hardware involved)
Tool Head: N/A
Description of issue: Qt components using i18nCatalogProxy fail: User agreement window buttons are unlabeled, numerous other UI components are missing text.
Steps to reproduce:
- Install Nix. (In theory, should reproduce with Cura installed via Nix on a non-NixOS operating system, but this is not tested).
- Run a git clone of https://github.com/charles-dyfis-net/nixpkgs, and a checkout of the modernize-cura-lulzbot branch (which revs the Lulzbot branch of Cura to 3.6.8; today, NixOS is shipping the Lulzbot branch with version 15.02.1, and the upstream Ultimaker branch with version 4.0.0). See also a textual comparison between the branch and upstream at https://github.com/charles-dyfis-net/nixpkgs/compare/master...modernize-cura-lulzbot
- Run nix-build -A curaLulzbot (which builds cura and dependencies, putting each package into a location containing a hash of its dependencies and build steps under /nix/store, wraps the /bin/* files to set a Python sys.path pointing to immutable-store locations appropriate to those dependencies, and creates a symlink named result into that store).
- Run ./result/bin/cura-lulzbot, with no ~/.config/cura-lulzbot/master/cura-lulzbot.cfg specifying that the license has already been accepted.
- Observe a license window pop up for which the buttons which should contain text *I understand and agree* and *I don't agree* are completely empty.
Moreover, the logs contain numerous complaints of the form TypeError: Property 'i18nc' of object i18nCatalogProxy(0x3c87350) is not a function
Both result/share/cura/resources/i18n and result/share/uranium/resources/i18n directories exist. My LANG=en_US.UTF-8.
This strikes me as likely to be a combination of a packaging issue (should any environment variables need to be set to allow cura to find the translation tables) and a code bug (as having a non-function object in a context where a function is expected is never appropriate, even if it takes place only in conjunction with other problems). Guidance on where to start wrt. possible packaging fixes (so I can get the PR with this updated submitted, and thus make a modern Cura version available to Lulzbot users on NixOS) would be greatly appreciated.