Ultimaker / Cura

3D printer / slicing GUI built on top of the Uranium framework
GNU Lesser General Public License v3.0
6.08k stars 2.06k forks source link

5beta no M1 support #11841

Closed kr15uk closed 1 year ago

kr15uk commented 2 years ago

Application Version

5beta

Platform

macOS Monterey

Printer

Ultimaker 2 Go

Reproduction steps

Downloaded latest 5beta, run an app and opened ActivityMonitor and sorted by Kind to see "M1 support"

Actual results

See both Cura and CuraEngine as Intel apps

Expected results

If M1 supported it should state Apple instead of Intel

Checklist of files to include

Additional information & file uploads

Screenshot 2022-04-21 at 15 27 00
jellespijker commented 2 years ago

Cura 5.0 is compatibel with the M1 because we upgraded from PyQt5 to PyQt6. We are still compiling our binaries for the Intel architecture. But the upgrade to PyQt6 should fix most, if not all of the UI issues people are experiencing.

Are you experiencing any issues, even though the binaries are compiled for Intel and not for ARM?

@fvrmr We might need to phrase it differently on our posts and changelog

pixelwatt commented 2 years ago

Cura 5.0 is compatibel with the M1 because we upgraded from PyQt5 to PyQt6. We are still compiling our binaries for the Intel architecture.

Are there any plans to compile the application for the M1/arm64? It would provide a noticeable speed increase for M1 users, who are only going to increase in number given Apple's phasing out of Intel processors from their product line.

tokamac commented 2 years ago

Are you experiencing any issues, even though the binaries are compiled for Intel and not for ARM?

I do. Cura menus are not located inside the Mac unified menu bar anymore (top of the screen). Instead they appear as a Windows app on a PC (or a WINE emulated port, or a crude X11 interface on a Mac) i.e. the menus being located inside the floating window itself. Even the fonts there are off and not Mac-friendly anymore. They look as if I was on Windows. Look at this:

Cura 4.x:

Cura-4-Mac

Cura 5.0b:

Cura-5-Mac

Terrible UI experience overall. Even Cura Arachne Public Betas didn't have this issue. Hope this will be fixed in the next beta!

tokamac commented 2 years ago

You didn't answer and you even made the bug go straight into the final release 5.0 version. Wow.

kr15uk commented 2 years ago

@tokamac be careful what you wish for, v5.1 might require Java to be installed…

But seriously v5 UI is way step backwards, v4 apart from broken fonts in places and other minor UI things was more in check with macOS design standards. Also keyboard shortcuts doesn’t work now, try CMD + , for Preferences/Settings - it’s gone.

What was the point of this move it it does not fix M1 support anyway?!

cryptoAlgorithm commented 2 years ago

I hope, the switch to Qt6 would mean enabling arm64 compiling with just a flag.

pixelwatt commented 2 years ago

Any updates on this? I get qt5 being a legitimate block to offering an arm64 binary for Mac, but is there anything holding up the release now?

fabriciofx commented 1 year ago

Guys,

any news about it? I`m looking for a Cura 5.1.1 M1 binary...

tokamac commented 1 year ago

@fabriciofx you'll wait a long time apparently… Cura 5.2.1 is out still with no M1 support and still with the atrocious Windows menu bar

fabriciofx commented 1 year ago

@tokamac yeah... I think so... :(

molekulek commented 1 year ago

When support for M1? What is the problem with arm64?

fabriciofx commented 1 year ago

@molekulek Arm64 version will work natively (without using parallels or something like it) in M1 chip?

tokamac commented 1 year ago

@molekulek Arm64 version will work natively (without using parallels or something like it) in M1 chip?

What are you talking about? Ultimaker makes a version of Cura for Mac already. What would be the point of downloading the Windows PC version of Cura then run it on a Mac through a virtualization software like Parallels Desktop or VMware Fusion? Madness! On latest Mac computers, Apple provides Rosetta 2 in macOS. It seamlessly (transparently) transcodes the old x86_64 code of old non-native apps made for Intel CPUs, into the newer ARM64 instruction set used in their recent M1 & M2 CPUs. So that an ancient app made for Intel works on an Apple Silicon Mac.

Although the Rosetta 2 transcoding process is well done (very optimized) it comes with drawbacks, that are some additional slowness, a few bugs and incompatibilities, and a high RAM usage when compared to a native (Universal) app. Rosetta 2 was a temporary solution provided in 2020 with MacOS Big Sur to let developers the time to update their code base to Universal apps, which the industry has done in its vast majority since then. Some developers even made their app ready from Day One when the first M1 Mac came to market! Hey, macOS betas and the Apple Silicon Developer Transition Kit were made for that after all. That was two years ago.

fabriciofx commented 1 year ago

@tokamac I'm talking exactly about you said. To run Cura without transcodification (Rosetta, VMware Fusion or whatever). Is there a Cura version that can do it?

tokamac commented 1 year ago

No.

tokamac commented 1 year ago

That's the whole problem!

fabriciofx commented 1 year ago

@tokamac I agree! :(

lantren commented 1 year ago

Apple is phasing out x86 CPU's. Ultimately supporting MacOS means supporting Apple silicon and actually compiling for it. "Why can't you just use the intel code we give you?" is a lazy answer. Continuing to push intel code on a platform that will soon no longer use intel CPU's is short sighted. Rosetta 2 is intended to give lazy devs time to be devs and develope . It's not intended as a permanent solution. This situation is almost two years old. Pretending it doesn't need to be resolved isn't going to make it go away

imajes commented 1 year ago

agreed-- it's pretty out there to be ignoring users and continuing to ship something that seems like it'd fairly straight forward to fix.

fieldOfView commented 1 year ago

I on the other hand would say it is pretty out there to assume something like this is fairly straightforward to fix without any knowledge about the frameworks that are being used and the effort involved in getting those to work on an entirely different processor architecture.

imajes commented 1 year ago

I on the other hand would say it is pretty out there to assume something like this is fairly straightforward to fix without any knowledge about the frameworks that are being used and the effort involved in getting those to work on an entirely different processor architecture.

You're based on pyQt, right? seems like Qt 6 is already to go on apple silicon, including dual build support: https://www.qt.io/blog/qt-on-apple-silicon. I'd say that many if not most libraries are apple silicon friendly at this point, and configuring the build process really shouldn't be that difficult. I myself have converted several projects to work natively on m1 / py3.

I get y'all might not have a lot of time to get into it, but it looks like the last time one of the repo collaborators commented was april -- when in reality all that most of us ever want is communication, that could be seen as a bit extreme. :( that said, as always-- thanks for all you do, i know that OSS is not the easiest thing to keep on top of :)

jellespijker commented 1 year ago

We have a ticket on our backlog for this CURA-9565 so it is on our radar and we have been working on this for a while, basically our whole upgrade to Qt6 was needed to facilitate the M1. Which is only supported (via Rosetta) since Qt6 6.2.

Please remember that switching architecture is not a trivial thing to do, it also requires a significant investment in hardware and subscribed services from UltiMaker side. Apart from laying the groundwork to even facilitate such a thing. Migrating our whole build process to GitHub runners and using Conan to manage our build artifacts.

This migration cost me 6 months of my working live and added 10 years to my receding hair line. So to be honest I take a little bit offense to the suggestion that we're lazy. Please refrain from making such assumptions.

The plus side of this whole migration effort is that it is now much easier to build and run Cura from source. Seeing that you guys are so eager to have native M1 support I hope I can enlist your help to figure out which other dependencies need to be upgraded/changed, apart from Qt and PyQt, to build a native M1 Cura. Such an investigation/spike could be done by following the instruction on our wiki https://github.com/Ultimaker/Cura/wiki/Running-Cura-from-Source in a native M1 terminal environment. An educated guess is that you would need to compile Numpy, SciPy and various other Python modules which rely on binary bindings of C/C++ code to make it work on the M1

Rest assured, we're planning on supporting the M1 natively but it will cost us money, time and effort and that means that we need to prioritize it compared to our other tickets on the backlog.

sammcj commented 1 year ago

If there's anything I can do to help test out ARM / Apple Silicon builds please let me know, happy to try out some beta builds and report back with logs etc...

TheSin- commented 1 year ago

thanks for the link @jellespijker I'm going to fix the dep chain a go. My many decades with fink, I feel I would be a good fit to try to get some info for you. Would posting my finding here or making PR be best? Also if it's a PR should I make one PR per dep or just one big PR if I'm successful?

jellespijker commented 1 year ago

I think you could get away with 1 PR (per repo) keep in mind that Uranium also has Python requirements.

How I would personally handles this, is to first remove all hashes and version numbers of the Python requirements in the requirements.txt in both repo and see if you can get away with creating a Python virtual were you install all these requirements with pip. If that works, then you just have to figure out the hashes for the M1 wheels. Add them to requirements, maybe Bump-up a version or two.

I think the conan part is covered already, so all our C++ deps should be able to be build.

This work will atleast gives is an indication if it can all be build on M1, from there my work start by setting up the virtual runners, either cross-compiling or Arm based and integrating that in our workflow and ensure that we have funding for building on those special runners. That last part can be a challenge because now we don't need to pay since we're an open-source project. Building on special servers however...

well one thing at a time. First see if we can compile stuff locally. Great that you're taking up the gauntlet

TheSin- commented 1 year ago

jus looking at the list I can see ninja will be an issue, I've been working on it in fink already, once I get past that one the rest doesn't seem too bad.

I wanted to try with the current hashes so I can keep track of updates. And I was right ninja is the first issue so far.

fmt/9.0.0: WARN: Build folder is dirty, removing it: /Users/justin/.conan/data/fmt/9.0.0/_/_/build/c99ff5db83efa886512b69028cf46171ff47c1c8
fmt/9.0.0: Copying sources to build folder
fmt/9.0.0: Building your package in /Users/justin/.conan/data/fmt/9.0.0/_/_/build/c99ff5db83efa886512b69028cf46171ff47c1c8
fmt/9.0.0: Generator txt created conanbuildinfo.txt
fmt/9.0.0: Calling generate()
fmt/9.0.0: Preset 'release' added to CMakePresets.json. Invoke it manually using 'cmake --preset release'
fmt/9.0.0: If your CMake version is not compatible with CMakePresets (<3.19) call cmake like: 'cmake <path> -G Ninja -DCMAKE_TOOLCHAIN_FILE=/Users/justin/.conan/data/fmt/9.0.0/_/_/build/c99ff5db83efa886512b69028cf46171ff47c1c8/build/Release/generators/conan_toolchain.cmake -DCMAKE_POLICY_DEFAULT_CMP0091=NEW -DCMAKE_BUILD_TYPE=Release'
fmt/9.0.0: Aggregating env generators
fmt/9.0.0: Calling build()
fmt/9.0.0: apply_conandata_patches(): No patches defined in conandata
fmt/9.0.0: CMake command: cmake -G "Ninja" -DCMAKE_TOOLCHAIN_FILE="/Users/justin/.conan/data/fmt/9.0.0/_/_/build/c99ff5db83efa886512b69028cf46171ff47c1c8/build/Release/generators/conan_toolchain.cmake" -DCMAKE_INSTALL_PREFIX="/Users/justin/.conan/data/fmt/9.0.0/_/_/package/c99ff5db83efa886512b69028cf46171ff47c1c8" -DCMAKE_POLICY_DEFAULT_CMP0091="NEW" -DCMAKE_BUILD_TYPE="Release" -DFMT_DOC="False" -DFMT_TEST="False" -DFMT_INSTALL="True" -DFMT_LIB_DIR="lib" -DFMT_OS="True" "/Users/justin/.conan/data/fmt/9.0.0/_/_/build/c99ff5db83efa886512b69028cf46171ff47c1c8/."

----Running------
> . "/Users/justin/.conan/data/fmt/9.0.0/_/_/build/c99ff5db83efa886512b69028cf46171ff47c1c8/build/Release/generators/conanbuild.sh" && cmake -G "Ninja" -DCMAKE_TOOLCHAIN_FILE="/Users/justin/.conan/data/fmt/9.0.0/_/_/build/c99ff5db83efa886512b69028cf46171ff47c1c8/build/Release/generators/conan_toolchain.cmake" -DCMAKE_INSTALL_PREFIX="/Users/justin/.conan/data/fmt/9.0.0/_/_/package/c99ff5db83efa886512b69028cf46171ff47c1c8" -DCMAKE_POLICY_DEFAULT_CMP0091="NEW" -DCMAKE_BUILD_TYPE="Release" -DFMT_DOC="False" -DFMT_TEST="False" -DFMT_INSTALL="True" -DFMT_LIB_DIR="lib" -DFMT_OS="True" "/Users/justin/.conan/data/fmt/9.0.0/_/_/build/c99ff5db83efa886512b69028cf46171ff47c1c8/."
-----------------
-- CMake version: 3.24.1
-- Using Conan toolchain: /Users/justin/.conan/data/fmt/9.0.0/_/_/build/c99ff5db83efa886512b69028cf46171ff47c1c8/build/Release/generators/conan_toolchain.cmake
-- Conan toolchain: C++ Standard 17 with extensions OFF
-- Conan toolchain: Setting BUILD_SHARED_LIBS = ON
CMake Error: CMake was unable to find a build program corresponding to "Ninja".  CMAKE_MAKE_PROGRAM is not set.  You probably need to select a different build tool.
CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage
-- Configuring incomplete, errors occurred!
See also "/Users/justin/.conan/data/fmt/9.0.0/_/_/build/c99ff5db83efa886512b69028cf46171ff47c1c8/build/Release/CMakeFiles/CMakeOutput.log".
fmt/9.0.0: 
fmt/9.0.0: ERROR: Package 'c99ff5db83efa886512b69028cf46171ff47c1c8' build failed
fmt/9.0.0: WARN: Build folder /Users/justin/.conan/data/fmt/9.0.0/_/_/build/c99ff5db83efa886512b69028cf46171ff47c1c8/build/Release
ERROR: fmt/9.0.0: Error in build() method, line 89
    cmake.configure(variables=cache_entries)
    ConanException: Error 1 while executing cmake -G "Ninja" -DCMAKE_TOOLCHAIN_FILE="/Users/justin/.conan/data/fmt/9.0.0/_/_/build/c99ff5db83efa886512b69028cf46171ff47c1c8/build/Release/generators/conan_toolchain.cmake" -DCMAKE_INSTALL_PREFIX="/Users/justin/.conan/data/fmt/9.0.0/_/_/package/c99ff5db83efa886512b69028cf46171ff47c1c8" -DCMAKE_POLICY_DEFAULT_CMP0091="NEW" -DCMAKE_BUILD_TYPE="Release" -DFMT_DOC="False" -DFMT_TEST="False" -DFMT_INSTALL="True" -DFMT_LIB_DIR="lib" -DFMT_OS="True" "/Users/justin/.conan/data/fmt/9.0.0/_/_/build/c99ff5db83efa886512b69028cf46171ff47c1c8/."

Just to have a log of it before I continue.

TheSin- commented 1 year ago

for the record I'm on 13.2.1, M2 Maxx with Xcode 14.2 and cli tools, I'm using python 3.9 from fink and I do not have rosetta installed.

TheSin- commented 1 year ago

had to add a new has for cryptography==3.4.8

--- a/requirements.txt
+++ b/requirements.txt
@@ -35,7 +35,8 @@ certifi==2021.10.8 \
 cryptography==3.4.8; \
     --hash=sha256:a00cf305f07b26c351d8d4e1af84ad7501eca8a342dedf24a7acb0e7b7406e14 \
     --hash=sha256:3520667fda779eb788ea00080124875be18f2d8f0848ec00733c0ec3bb8219fc \
-    --hash=sha256:1eb7bb0df6f6f583dd8e054689def236255161ebbcf62b226454ab9ec663746b
+    --hash=sha256:1eb7bb0df6f6f583dd8e054689def236255161ebbcf62b226454ab9ec663746b \
+    --hash=sha256:f44d141b8c4ea5eb4dbc9b3ad992d45580c1d22bf5e24363f2fbf50c2d7ae8a7
 zeroconf==0.31.0 \
     --hash=sha256:53a180248471c6f81bd1fffcbce03ed93d7d8eaf10905c9121ac1ea996d19844 \
     --hash=sha256:5a468da018bc3f04bbce77ae247924d802df7aeb4c291bbbb5a9616d128800b0

Otherwise all requirements installed just fine

Successfully installed Automat-20.2.0 PyQt6-6.2.3 PyQt6-NetworkAuth-6.2.0 PyQt6-NetworkAuth-Qt6-6.2.4 PyQt6-Qt6-6.2.4 PyQt6-sip-13.2.1 SecretStorage-3.3.1 Twisted-21.2.0 attrs-21.2.0 certifi-2021.10.8 cffi-1.15.0 chardet-3.0.4 charset-normalizer-2.1.0 constantly-15.1.0 cryptography-3.4.8 cython-0.29.26 hyperlink-21.0.0 idna-2.8 ifaddr-0.1.7 importlib-metadata-4.10.0 incremental-21.3.0 jeepney-0.7.1 keyring-23.0.1 mypy-0.931 mypy-extensions-0.4.3 networkx-2.6.2 numpy-1.21.5 numpy-stl-2.10.1 pybind11-2.6.2 pyclipper-1.3.0.post2 pycparser-2.20 pyserial-3.4 python-utils-2.3.0 requests-2.22.0 scipy-1.9.1 sentry-sdk-0.13.5 setuptools-62.0.0 shapely-1.8.2 six-1.12.0 trimesh-3.9.36 typing-extensions-3.10.0.2 urllib3-1.25.9 zeroconf-0.31.0 zipp-3.5.0 zope.interface-5.4.0
TheSin- commented 1 year ago

as for fmt, I just noticed I didn't have Ninja installed, sorry about the noise there. Things are building again.

jellespijker commented 1 year ago

ninja should be able to be installed with brew. keep in mind that you can also just use the build tools in the x86 mode (cmake, ninja, m4, autotools, etc.), since these aren't affecting the ABI of the builds artifacts. You just have to make sure the compiler in the Conan profiles point towards the ARM apple-clang compiler. You can find your Conan profiles in ~/.conan/profiles

TheSin- commented 1 year ago

oh I use fink, I'm not a fan of brew at all. And I have Ninja installed now, was a blonde moment, like I said I had been working on in and forgot it uninstalled is all.

TheSin- commented 1 year ago

first time using the conan build system, it's really nice, great job setting it up BTW.

other then that one hash, I've had few issues, so much build just fine so far, more then I thought.

I've now made it to https://github.com/Ultimaker/pyArcus/issues/3

TheSin- commented 1 year ago

the hash was the only change for build.

now runtime issues, I haven't looked into it just posting first. I'm going to remove venv and rebuild it with native python3.

$ python cura_app.py 
/Users/justin/.conan/data/uranium/5.4.0-alpha+testing_11/ultimaker/testing/package/e97a42f42830d348581f850960ea9bbb51505759/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
Fatal Python error: Segmentation fault

Current thread 0x00000001e1dac140 (most recent call first):
  File "<frozen importlib._bootstrap>", line 228 in _call_with_frames_removed
  File "<frozen importlib._bootstrap_external>", line 1173 in create_module
  File "<frozen importlib._bootstrap>", line 565 in module_from_spec
  File "<frozen importlib._bootstrap>", line 666 in _load_unlocked
  File "<frozen importlib._bootstrap>", line 986 in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1007 in _find_and_load
  File "/Users/justin/.conan/data/uranium/5.4.0-alpha+testing_11/ultimaker/testing/package/e97a42f42830d348581f850960ea9bbb51505759/site-packages/UM/Backend/SignalSocket.py", line 4 in <module>
  File "<frozen importlib._bootstrap>", line 228 in _call_with_frames_removed
  File "<frozen importlib._bootstrap_external>", line 850 in exec_module
  File "<frozen importlib._bootstrap>", line 680 in _load_unlocked
  File "<frozen importlib._bootstrap>", line 986 in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1007 in _find_and_load
  File "/Users/justin/.conan/data/uranium/5.4.0-alpha+testing_11/ultimaker/testing/package/e97a42f42830d348581f850960ea9bbb51505759/site-packages/UM/Backend/Backend.py", line 12 in <module>
  File "<frozen importlib._bootstrap>", line 228 in _call_with_frames_removed
  File "<frozen importlib._bootstrap_external>", line 850 in exec_module
  File "<frozen importlib._bootstrap>", line 680 in _load_unlocked
  File "<frozen importlib._bootstrap>", line 986 in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1007 in _find_and_load
  File "/Users/justin/.conan/data/uranium/5.4.0-alpha+testing_11/ultimaker/testing/package/e97a42f42830d348581f850960ea9bbb51505759/site-packages/UM/Qt/QtApplication.py", line 21 in <module>
  File "<frozen importlib._bootstrap>", line 228 in _call_with_frames_removed
  File "<frozen importlib._bootstrap_external>", line 850 in exec_module
  File "<frozen importlib._bootstrap>", line 680 in _load_unlocked
  File "<frozen importlib._bootstrap>", line 986 in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1007 in _find_and_load
  File "/Users/justin/Devel/cvsroot/Cura/cura/CuraApplication.py", line 35 in <module>
  File "<frozen importlib._bootstrap>", line 228 in _call_with_frames_removed
  File "<frozen importlib._bootstrap_external>", line 850 in exec_module
  File "<frozen importlib._bootstrap>", line 680 in _load_unlocked
  File "<frozen importlib._bootstrap>", line 986 in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1007 in _find_and_load
  File "/Users/justin/Devel/cvsroot/Cura/cura_app.py", line 193 in <module>
Segmentation fault: 11
jellespijker commented 1 year ago

just to double check, but you're using the same Python build you created with Conan, activating that environment and then doing the install of the Python requirements with that version?

it looks like your mixing your system Python and the Cura depends pythons which are linked against the conan build Python

TheSin- commented 1 year ago

hehe funny you should ask, that was my worry too hence why I'm redoing that part to be safe.

it looks like it's getting confused internally, my guess is some packages are calling /usr/bin/python3 instead of /usr/bin/env python3

I'll get it sorted in a few, I can see this cause some thing in venv are being installed in a 3.10 dir though I'm using 3.9

TheSin- commented 1 year ago

so this got further this time, I'm not done going through it, I can still see it trying to use 3.10 but it's from the Conan install, I'm rebuilding just to be safe

$ python cura_app.py 
/Users/justin/.conan/data/uranium/5.4.0-alpha+testing_11/ultimaker/testing/package/e97a42f42830d348581f850960ea9bbb51505759/site-packages/UM/PluginRegistry.py:4: DeprecationWarning: the imp module is deprecated in favour of importlib and slated for removal in Python 3.12; see the module's documentation for alternative uses
  import imp
/Users/justin/Devel/cvsroot/Cura/cura/UI/ObjectsModel.py:72: DeprecationWarning: invalid escape sequence '\('
  self._naming_regex = re.compile("^(.+)\(([0-9]+)\)$")
[MainThread] UM.Qt.QtApplication.__init__ [99]: Adding QT5 plugin path: /Users/justin/Devel/cvsroot/Resources/plugins
[MainThread] UM.Application.initialize [163]: Initializing UltiMaker Cura
[MainThread] UM.Application.initialize [164]: App Version 5.4.0-alpha
[MainThread] UM.Application.initialize [165]: Api Version 8.3.0
[MainThread] UM.Application.initialize [166]: Build type None
[MainThread] UM.PluginRegistry.addPluginLocation [202]: Plugin location /Users/justin/Devel/cvsroot/Cura/venv/bin/share/uranium/plugins must be a folder.
[MainThread] UM.PluginRegistry.addPluginLocation [202]: Plugin location /Users/justin/Devel/cvsroot/Cura/venv/bin/share/cura/plugins must be a folder.
[MainThread] UM.PluginRegistry.addPluginLocation [202]: Plugin location /Users/justin/Devel/cvsroot/lib/uranium must be a folder.
[MainThread] UM.PluginRegistry.addPluginLocation [202]: Plugin location /Users/justin/Devel/cvsroot/lib64/uranium must be a folder.
[MainThread] UM.PluginRegistry.addPluginLocation [202]: Plugin location /Users/justin/Devel/cvsroot/lib32/uranium must be a folder.
[MainThread] UM.PluginRegistry.addPluginLocation [202]: Plugin location /Users/justin/Devel/cvsroot/Cura/venv/bin/plugins must be a folder.
[MainThread] UM.PluginRegistry.addPluginLocation [202]: Plugin location /Users/justin/Devel/cvsroot/Resources/uranium/plugins must be a folder.
[MainThread] UM.PluginRegistry.addPluginLocation [202]: Plugin location /Users/justin/Devel/cvsroot/Resources/cura/plugins must be a folder.
[MainThread] UM.Resources.__initializeStoragePaths [481]: Initializing storage paths
[MainThread] UM.Resources.__initializeStoragePaths [491]: Config storage path is /Users/justin/Library/Application Support/cura/5.4
[MainThread] UM.Resources.__initializeStoragePaths [499]: Data storage path is /Users/justin/Library/Application Support/cura/5.4
[MainThread] UM.Resources.__initializeStoragePaths [511]: Cache storage path is /Users/justin/Library/Application Support/cura/5.4/cache
[MainThread] UM.Resources._copyLatestDirsIfPresent [536]: Found config: ['/Users/justin/Library/Application Support/cura', '/Users/justin/cura'] and data: ['/Users/justin/Library/Application Support/cura', '/Users/justin/cura']
[MainThread] UM.Resources._copyLatestDirsIfPresent [540]: Latest config path: /Users/justin/Library/Application Support/cura/5.2 and latest data path: /Users/justin/Library/Application Support/cura/5.2
[MainThread] UM.Resources.copyVersionFolder [576]: Copying directory from '/Users/justin/Library/Application Support/cura/5.2' to '/Users/justin/Library/Application Support/cura/5.4'
[MainThread] UM.PluginRegistry.addPluginLocation [202]: Plugin location /Users/justin/.conan/data/uranium/5.4.0-alpha+testing_11/ultimaker/testing/package/e97a42f42830d348581f850960ea9bbb51505759/site-packages/plugins must be a folder.
[MainThread] UM.PackageManager.__init__ [56]: Found bundled packages JSON file: /Users/justin/Devel/cvsroot/Cura/cura/../resources/bundled_packages/cura.json
[MainThread] UM.PackageManager.__init__ [56]: Found bundled packages JSON file: /Users/justin/.conan/data/uranium/5.4.0-alpha+testing_11/ultimaker/testing/package/e97a42f42830d348581f850960ea9bbb51505759/resources/bundled_packages/uranium.json
[MainThread] UM.View.GL.OpenGLContext.detectBestOpenGLVersion [124]: Trying OpenGL context 4.1...
[MainThread] UM.View.GL.OpenGLContext.detectBestOpenGLVersion [132]: Yay, we got at least OpenGL 4.1 core: 4.1 Core profile
[MainThread] UM.View.GL.OpenGLContext.detectBestOpenGLVersion [178]: OpenGL renderer type for this OpenGL version: Apple M2 Max
[MainThread] UM.Qt.QtApplication.initialize [192]: Detected most suitable OpenGL context version: 4.1 Core profile
[MainThread] UM.Qt.QtApplication.initialize [199]: Initializing job queue ...
[MainThread] UM.Qt.QtApplication.initialize [203]: Initializing version upgrade manager ...
[MainThread] UM.PackageManager._loadManagementData [174]: Loaded bundled packages data from /Users/justin/Devel/cvsroot/Cura/cura/../resources/bundled_packages/cura.json
[MainThread] UM.PackageManager._loadManagementData [174]: Loaded bundled packages data from /Users/justin/.conan/data/uranium/5.4.0-alpha+testing_11/ultimaker/testing/package/e97a42f42830d348581f850960ea9bbb51505759/resources/bundled_packages/uranium.json
[MainThread] UM.PackageManager._loadManagementData [201]: Loaded user packages management file from /Users/justin/Library/Application Support/cura/5.4/packages.json
[MainThread] UM.PackageManager._removeAllScheduledPackages [280]: Attempting to remove the following scheduled packages: - 
[MainThread] UM.PluginRegistry.initializeBeforePluginsAreLoaded [121]: Loading plugin configuration file '/Users/justin/Library/Application Support/cura/5.4/plugins.json'
[MainThread] UM.PluginRegistry.addPluginLocation [202]: Plugin location /Users/justin/Devel/cvsroot/lib/cura must be a folder.
2023-02-20 12:18:20,793 - INFO - [MainThread] UM.Qt.QtApplication.__init__ [99]: Adding QT5 plugin path: /Users/justin/Devel/cvsroot/Resources/plugins
2023-02-20 12:18:20,794 - DEBUG - [MainThread] UM.Application.initialize [163]: Initializing UltiMaker Cura
2023-02-20 12:18:20,794 - DEBUG - [MainThread] UM.Application.initialize [164]: App Version 5.4.0-alpha
2023-02-20 12:18:20,794 - DEBUG - [MainThread] UM.Application.initialize [165]: Api Version 8.3.0
2023-02-20 12:18:20,794 - DEBUG - [MainThread] UM.Application.initialize [166]: Build type None
2023-02-20 12:18:20,794 - WARNING - [MainThread] UM.PluginRegistry.addPluginLocation [202]: Plugin location /Users/justin/Devel/cvsroot/Cura/venv/bin/share/uranium/plugins must be a folder.
2023-02-20 12:18:20,794 - WARNING - [MainThread] UM.PluginRegistry.addPluginLocation [202]: Plugin location /Users/justin/Devel/cvsroot/Cura/venv/bin/share/cura/plugins must be a folder.
2023-02-20 12:18:20,794 - WARNING - [MainThread] UM.PluginRegistry.addPluginLocation [202]: Plugin location /Users/justin/Devel/cvsroot/lib/uranium must be a folder.
2023-02-20 12:18:20,794 - WARNING - [MainThread] UM.PluginRegistry.addPluginLocation [202]: Plugin location /Users/justin/Devel/cvsroot/lib64/uranium must be a folder.
2023-02-20 12:18:20,794 - WARNING - [MainThread] UM.PluginRegistry.addPluginLocation [202]: Plugin location /Users/justin/Devel/cvsroot/lib32/uranium must be a folder.
2023-02-20 12:18:20,794 - WARNING - [MainThread] UM.PluginRegistry.addPluginLocation [202]: Plugin location /Users/justin/Devel/cvsroot/Cura/venv/bin/plugins must be a folder.
2023-02-20 12:18:20,794 - WARNING - [MainThread] UM.PluginRegistry.addPluginLocation [202]: Plugin location /Users/justin/Devel/cvsroot/Resources/uranium/plugins must be a folder.
2023-02-20 12:18:20,794 - WARNING - [MainThread] UM.PluginRegistry.addPluginLocation [202]: Plugin location /Users/justin/Devel/cvsroot/Resources/cura/plugins must be a folder.
2023-02-20 12:18:20,794 - DEBUG - [MainThread] UM.Resources.__initializeStoragePaths [481]: Initializing storage paths
2023-02-20 12:18:20,794 - DEBUG - [MainThread] UM.Resources.__initializeStoragePaths [491]: Config storage path is /Users/justin/Library/Application Support/cura/5.4
2023-02-20 12:18:20,794 - DEBUG - [MainThread] UM.Resources.__initializeStoragePaths [499]: Data storage path is /Users/justin/Library/Application Support/cura/5.4
2023-02-20 12:18:20,794 - DEBUG - [MainThread] UM.Resources.__initializeStoragePaths [511]: Cache storage path is /Users/justin/Library/Application Support/cura/5.4/cache
2023-02-20 12:18:20,794 - DEBUG - [MainThread] UM.Resources._copyLatestDirsIfPresent [536]: Found config: ['/Users/justin/Library/Application Support/cura', '/Users/justin/cura'] and data: ['/Users/justin/Library/Application Support/cura', '/Users/justin/cura']
2023-02-20 12:18:20,794 - DEBUG - [MainThread] UM.Resources._copyLatestDirsIfPresent [540]: Latest config path: /Users/justin/Library/Application Support/cura/5.2 and latest data path: /Users/justin/Library/Application Support/cura/5.2
2023-02-20 12:18:20,794 - INFO - [MainThread] UM.Resources.copyVersionFolder [576]: Copying directory from '/Users/justin/Library/Application Support/cura/5.2' to '/Users/justin/Library/Application Support/cura/5.4'
2023-02-20 12:18:20,794 - WARNING - [MainThread] UM.PluginRegistry.addPluginLocation [202]: Plugin location /Users/justin/.conan/data/uranium/5.4.0-alpha+testing_11/ultimaker/testing/package/e97a42f42830d348581f850960ea9bbb51505759/site-packages/plugins must be a folder.
2023-02-20 12:18:20,794 - INFO - [MainThread] UM.PackageManager.__init__ [56]: Found bundled packages JSON file: /Users/justin/Devel/cvsroot/Cura/cura/../resources/bundled_packages/cura.json
2023-02-20 12:18:20,794 - INFO - [MainThread] UM.PackageManager.__init__ [56]: Found bundled packages JSON file: /Users/justin/.conan/data/uranium/5.4.0-alpha+testing_11/ultimaker/testing/package/e97a42f42830d348581f850960ea9bbb51505759/resources/bundled_packages/uranium.json
2023-02-20 12:18:20,794 - DEBUG - [MainThread] UM.View.GL.OpenGLContext.detectBestOpenGLVersion [124]: Trying OpenGL context 4.1...
2023-02-20 12:18:20,794 - DEBUG - [MainThread] UM.View.GL.OpenGLContext.detectBestOpenGLVersion [132]: Yay, we got at least OpenGL 4.1 core: 4.1 Core profile
2023-02-20 12:18:20,795 - DEBUG - [MainThread] UM.View.GL.OpenGLContext.detectBestOpenGLVersion [178]: OpenGL renderer type for this OpenGL version: Apple M2 Max
2023-02-20 12:18:20,795 - DEBUG - [MainThread] UM.Qt.QtApplication.initialize [192]: Detected most suitable OpenGL context version: 4.1 Core profile
2023-02-20 12:18:20,795 - INFO - [MainThread] UM.Qt.QtApplication.initialize [199]: Initializing job queue ...
2023-02-20 12:18:20,795 - INFO - [MainThread] UM.Qt.QtApplication.initialize [203]: Initializing version upgrade manager ...
2023-02-20 12:18:20,795 - INFO - [MainThread] UM.PackageManager._loadManagementData [174]: Loaded bundled packages data from /Users/justin/Devel/cvsroot/Cura/cura/../resources/bundled_packages/cura.json
2023-02-20 12:18:20,795 - INFO - [MainThread] UM.PackageManager._loadManagementData [174]: Loaded bundled packages data from /Users/justin/.conan/data/uranium/5.4.0-alpha+testing_11/ultimaker/testing/package/e97a42f42830d348581f850960ea9bbb51505759/resources/bundled_packages/uranium.json
2023-02-20 12:18:20,795 - INFO - [MainThread] UM.PackageManager._loadManagementData [201]: Loaded user packages management file from /Users/justin/Library/Application Support/cura/5.4/packages.json
2023-02-20 12:18:20,795 - INFO - [MainThread] UM.PackageManager._removeAllScheduledPackages [280]: Attempting to remove the following scheduled packages: - 
2023-02-20 12:18:20,795 - INFO - [MainThread] UM.PluginRegistry.initializeBeforePluginsAreLoaded [121]: Loading plugin configuration file '/Users/justin/Library/Application Support/cura/5.4/plugins.json'
2023-02-20 12:18:20,795 - WARNING - [MainThread] UM.PluginRegistry.addPluginLocation [202]: Plugin location /Users/justin/Devel/cvsroot/lib/cura must be a folder.
2023-02-20 12:18:20,798 - INFO - [MainThread] UM.PluginRegistry.loadPlugin [493]: Loaded plugin ConsoleLogger 1.0.1
2023-02-20 12:18:20,811 - INFO - [MainThread] UM.PluginRegistry.loadPlugin [493]: Loaded plugin SentryLogger 1.0.0
2023-02-20 12:18:20,835 - INFO - [MainThread] UM.PluginRegistry.loadPlugin [493]: Loaded plugin LocalFileOutputDevice 1.0.1
2023-02-20 12:18:20,855 - INFO - [MainThread] UM.PluginRegistry.loadPlugin [493]: Loaded plugin MirrorTool 1.0.1
2023-02-20 12:18:20,866 - INFO - [MainThread] UM.PluginRegistry.loadPlugin [493]: Loaded plugin CameraTool 1.0.1
2023-02-20 12:18:20,877 - INFO - [MainThread] UM.PluginRegistry.loadPlugin [493]: Loaded plugin SelectionTool 1.0.1
2023-02-20 12:18:20,894 - INFO - [MainThread] UM.PluginRegistry.loadPlugin [493]: Loaded plugin ScaleTool 1.0.1
2023-02-20 12:18:20,910 - INFO - [MainThread] UM.PluginRegistry.loadPlugin [493]: Loaded plugin TranslateTool 1.0.1
2023-02-20 12:18:20,932 - INFO - [MainThread] UM.PluginRegistry.loadPlugin [493]: Loaded plugin RotateTool 1.0.1
2023-02-20 12:18:20,970 - INFO - [MainThread] UM.PluginRegistry.loadPlugin [493]: Loaded plugin STLReader 1.0.1
2023-02-20 12:18:20,984 - INFO - [MainThread] UM.PluginRegistry.loadPlugin [493]: Loaded plugin OBJReader 1.0.1
2023-02-20 12:18:20,999 - INFO - [MainThread] UM.PluginRegistry.loadPlugin [493]: Loaded plugin STLWriter 1.0.1
2023-02-20 12:18:21,011 - INFO - [MainThread] UM.PluginRegistry.loadPlugin [493]: Loaded plugin OBJWriter 1.0.1
2023-02-20 12:18:21,045 - INFO - [MainThread] UpdateChecker.UpdateChecker.checkNewVersion [69]: Checking for new version
2023-02-20 12:18:21,049 - INFO - [MainThread] UM.PluginRegistry.loadPlugin [493]: Loaded plugin UpdateChecker 1.0.1
2023-02-20 12:18:21,809 - INFO - [MainThread] UM.PluginRegistry.loadPlugin [493]: Loaded plugin LocalContainerProvider 1.0.1
2023-02-20 12:18:21,828 - INFO - [MainThread] UM.PluginRegistry.loadPlugin [493]: Loaded plugin FileLogger 1.0.1
2023-02-20 12:18:21,839 - INFO - [MainThread] UM.PluginRegistry.loadPlugin [493]: Loaded plugin SimpleView 1.0.1
2023-02-20 12:18:21,857 - INFO - [MainThread] UM.PluginRegistry.loadPlugin [493]: Loaded plugin MachineSettingsAction 1.0.1
2023-02-20 12:18:21,874 - INFO - [MainThread] UM.PluginRegistry.loadPlugin [493]: Loaded plugin ImageReader 1.0.1
2023-02-20 12:18:21,895 - INFO - [MainThread] UM.PluginRegistry.loadPlugin [493]: Loaded plugin XRayView 1.0.1
2023-02-20 12:18:21,928 - INFO - [MainThread] UM.PluginRegistry.loadPlugin [493]: Loaded plugin X3DReader 1.0.1
2023-02-20 12:18:21,941 - INFO - [MainThread] UM.PluginRegistry.loadPlugin [493]: Loaded plugin CuraProfileReader 1.0.1
2023-02-20 12:18:21,955 - INFO - [MainThread] UM.PluginRegistry.loadPlugin [493]: Loaded plugin PostProcessingPlugin 2.2.1
/Users/justin/Devel/cvsroot/Cura/plugins/UM3NetworkPrinting/src/ExportFileJob.py:31: DeprecationWarning: invalid escape sequence '\w'
  job_name = re.sub("[^\w\-. ()]", "-", job_name)
2023-02-20 12:18:22,320 - INFO - [MainThread] UM.PluginRegistry.loadPlugin [493]: Loaded plugin UM3NetworkPrinting 2.0.0
2023-02-20 12:18:22,773 - INFO - [MainThread] UM.PluginRegistry.loadPlugin [493]: Loaded plugin 3MFWriter 1.0.1
2023-02-20 12:18:22,825 - INFO - [MainThread] UM.PluginRegistry.loadPlugin [493]: Loaded plugin CuraDrive 1.2.0
2023-02-20 12:18:22,842 - INFO - [MainThread] UM.PluginRegistry.loadPlugin [493]: Loaded plugin SliceInfoPlugin 1.0.1
2023-02-20 12:18:22,894 - INFO - [MainThread] UM.PluginRegistry.loadPlugin [493]: Loaded plugin UFPWriter 1.0.1
2023-02-20 12:18:23,045 - INFO - [MainThread] UM.PluginRegistry.loadPlugin [493]: Loaded plugin DigitalLibrary 1.1.0
2023-02-20 12:18:23,067 - INFO - [MainThread] UM.PluginRegistry.loadPlugin [493]: Loaded plugin GCodeProfileReader 1.0.1
2023-02-20 12:18:23,128 - INFO - [MainThread] UM.PluginRegistry.loadPlugin [493]: Loaded plugin GCodeReader 1.0.1
/Users/justin/Devel/cvsroot/Cura/venv/lib/python3.10/site-packages/trimesh/curvature.py:12: DeprecationWarning: Please use `coo_matrix` from the `scipy.sparse` namespace, the `scipy.sparse.coo` namespace is deprecated.
  from scipy.sparse.coo import coo_matrix
python(89470,0x1e1dac140) malloc: Heap corruption detected, free list is damaged at 0x6000031d3a20
*** Incorrect guard value: 4434547940
python(89470,0x1e1dac140) malloc: *** set a breakpoint in malloc_error_break to debug
Fatal Python error: Aborted

Thread 0x000000029005b000 (most recent call first):
  File "/Users/justin/.conan/data/cpython/3.10.4/_/_/package/9ed83d5094eed6746ee64419036814b0c887de78/lib/python3.10/threading.py", line 320 in wait
  File "/Users/justin/.conan/data/cpython/3.10.4/_/_/package/9ed83d5094eed6746ee64419036814b0c887de78/lib/python3.10/threading.py", line 460 in acquire
  File "/Users/justin/.conan/data/uranium/5.4.0-alpha+testing_11/ultimaker/testing/package/e97a42f42830d348581f850960ea9bbb51505759/site-packages/UM/JobQueue.py", line 98 in _nextJob
  File "/Users/justin/.conan/data/uranium/5.4.0-alpha+testing_11/ultimaker/testing/package/e97a42f42830d348581f850960ea9bbb51505759/site-packages/UM/JobQueue.py", line 124 in run
  File "/Users/justin/.conan/data/cpython/3.10.4/_/_/package/9ed83d5094eed6746ee64419036814b0c887de78/lib/python3.10/threading.py", line 1009 in _bootstrap_inner
  File "/Users/justin/.conan/data/cpython/3.10.4/_/_/package/9ed83d5094eed6746ee64419036814b0c887de78/lib/python3.10/threading.py", line 966 in _bootstrap

Thread 0x000000028f04f000 (most recent call first):
  File "/Users/justin/.conan/data/cpython/3.10.4/_/_/package/9ed83d5094eed6746ee64419036814b0c887de78/lib/python3.10/threading.py", line 320 in wait
  File "/Users/justin/.conan/data/cpython/3.10.4/_/_/package/9ed83d5094eed6746ee64419036814b0c887de78/lib/python3.10/threading.py", line 460 in acquire
  File "/Users/justin/.conan/data/uranium/5.4.0-alpha+testing_11/ultimaker/testing/package/e97a42f42830d348581f850960ea9bbb51505759/site-packages/UM/JobQueue.py", line 98 in _nextJob
  File "/Users/justin/.conan/data/uranium/5.4.0-alpha+testing_11/ultimaker/testing/package/e97a42f42830d348581f850960ea9bbb51505759/site-packages/UM/JobQueue.py", line 124 in run
  File "/Users/justin/.conan/data/cpython/3.10.4/_/_/package/9ed83d5094eed6746ee64419036814b0c887de78/lib/python3.10/threading.py", line 1009 in _bootstrap_inner
  File "/Users/justin/.conan/data/cpython/3.10.4/_/_/package/9ed83d5094eed6746ee64419036814b0c887de78/lib/python3.10/threading.py", line 966 in _bootstrap

Thread 0x000000028e043000 (most recent call first):
  File "/Users/justin/.conan/data/cpython/3.10.4/_/_/package/9ed83d5094eed6746ee64419036814b0c887de78/lib/python3.10/threading.py", line 320 in wait
  File "/Users/justin/.conan/data/cpython/3.10.4/_/_/package/9ed83d5094eed6746ee64419036814b0c887de78/lib/python3.10/threading.py", line 460 in acquire
  File "/Users/justin/.conan/data/uranium/5.4.0-alpha+testing_11/ultimaker/testing/package/e97a42f42830d348581f850960ea9bbb51505759/site-packages/UM/JobQueue.py", line 98 in _nextJob
  File "/Users/justin/.conan/data/uranium/5.4.0-alpha+testing_11/ultimaker/testing/package/e97a42f42830d348581f850960ea9bbb51505759/site-packages/UM/JobQueue.py", line 124 in run
  File "/Users/justin/.conan/data/cpython/3.10.4/_/_/package/9ed83d5094eed6746ee64419036814b0c887de78/lib/python3.10/threading.py", line 1009 in _bootstrap_inner
  File "/Users/justin/.conan/data/cpython/3.10.4/_/_/package/9ed83d5094eed6746ee64419036814b0c887de78/lib/python3.10/threading.py", line 966 in _bootstrap

Thread 0x000000028d037000 (most recent call first):
  File "/Users/justin/.conan/data/cpython/3.10.4/_/_/package/9ed83d5094eed6746ee64419036814b0c887de78/lib/python3.10/threading.py", line 320 in wait
  File "/Users/justin/.conan/data/cpython/3.10.4/_/_/package/9ed83d5094eed6746ee64419036814b0c887de78/lib/python3.10/threading.py", line 460 in acquire
  File "/Users/justin/.conan/data/uranium/5.4.0-alpha+testing_11/ultimaker/testing/package/e97a42f42830d348581f850960ea9bbb51505759/site-packages/UM/JobQueue.py", line 98 in _nextJob
  File "/Users/justin/.conan/data/uranium/5.4.0-alpha+testing_11/ultimaker/testing/package/e97a42f42830d348581f850960ea9bbb51505759/site-packages/UM/JobQueue.py", line 124 in run
  File "/Users/justin/.conan/data/cpython/3.10.4/_/_/package/9ed83d5094eed6746ee64419036814b0c887de78/lib/python3.10/threading.py", line 1009 in _bootstrap_inner
  File "/Users/justin/.conan/data/cpython/3.10.4/_/_/package/9ed83d5094eed6746ee64419036814b0c887de78/lib/python3.10/threading.py", line 966 in _bootstrap

Thread 0x000000028c02b000 (most recent call first):
  File "/Users/justin/.conan/data/cpython/3.10.4/_/_/package/9ed83d5094eed6746ee64419036814b0c887de78/lib/python3.10/threading.py", line 320 in wait
  File "/Users/justin/.conan/data/cpython/3.10.4/_/_/package/9ed83d5094eed6746ee64419036814b0c887de78/lib/python3.10/threading.py", line 460 in acquire
  File "/Users/justin/.conan/data/uranium/5.4.0-alpha+testing_11/ultimaker/testing/package/e97a42f42830d348581f850960ea9bbb51505759/site-packages/UM/JobQueue.py", line 98 in _nextJob
  File "/Users/justin/.conan/data/uranium/5.4.0-alpha+testing_11/ultimaker/testing/package/e97a42f42830d348581f850960ea9bbb51505759/site-packages/UM/JobQueue.py", line 124 in run
  File "/Users/justin/.conan/data/cpython/3.10.4/_/_/package/9ed83d5094eed6746ee64419036814b0c887de78/lib/python3.10/threading.py", line 1009 in _bootstrap_inner
  File "/Users/justin/.conan/data/cpython/3.10.4/_/_/package/9ed83d5094eed6746ee64419036814b0c887de78/lib/python3.10/threading.py", line 966 in _bootstrap

Thread 0x000000028b01f000 (most recent call first):
  File "/Users/justin/.conan/data/cpython/3.10.4/_/_/package/9ed83d5094eed6746ee64419036814b0c887de78/lib/python3.10/threading.py", line 320 in wait
  File "/Users/justin/.conan/data/cpython/3.10.4/_/_/package/9ed83d5094eed6746ee64419036814b0c887de78/lib/python3.10/threading.py", line 460 in acquire
  File "/Users/justin/.conan/data/uranium/5.4.0-alpha+testing_11/ultimaker/testing/package/e97a42f42830d348581f850960ea9bbb51505759/site-packages/UM/JobQueue.py", line 98 in _nextJob
  File "/Users/justin/.conan/data/uranium/5.4.0-alpha+testing_11/ultimaker/testing/package/e97a42f42830d348581f850960ea9bbb51505759/site-packages/UM/JobQueue.py", line 124 in run
  File "/Users/justin/.conan/data/cpython/3.10.4/_/_/package/9ed83d5094eed6746ee64419036814b0c887de78/lib/python3.10/threading.py", line 1009 in _bootstrap_inner
  File "/Users/justin/.conan/data/cpython/3.10.4/_/_/package/9ed83d5094eed6746ee64419036814b0c887de78/lib/python3.10/threading.py", line 966 in _bootstrap

Thread 0x000000028a013000 (most recent call first):
  File "/Users/justin/.conan/data/cpython/3.10.4/_/_/package/9ed83d5094eed6746ee64419036814b0c887de78/lib/python3.10/threading.py", line 320 in wait
  File "/Users/justin/.conan/data/cpython/3.10.4/_/_/package/9ed83d5094eed6746ee64419036814b0c887de78/lib/python3.10/threading.py", line 460 in acquire
  File "/Users/justin/.conan/data/uranium/5.4.0-alpha+testing_11/ultimaker/testing/package/e97a42f42830d348581f850960ea9bbb51505759/site-packages/UM/JobQueue.py", line 98 in _nextJob
  File "/Users/justin/.conan/data/uranium/5.4.0-alpha+testing_11/ultimaker/testing/package/e97a42f42830d348581f850960ea9bbb51505759/site-packages/UM/JobQueue.py", line 124 in run
  File "/Users/justin/.conan/data/cpython/3.10.4/_/_/package/9ed83d5094eed6746ee64419036814b0c887de78/lib/python3.10/threading.py", line 1009 in _bootstrap_inner
  File "/Users/justin/.conan/data/cpython/3.10.4/_/_/package/9ed83d5094eed6746ee64419036814b0c887de78/lib/python3.10/threading.py", line 966 in _bootstrap

Thread 0x0000000289007000 (most recent call first):
  File "/Users/justin/.conan/data/cpython/3.10.4/_/_/package/9ed83d5094eed6746ee64419036814b0c887de78/lib/python3.10/threading.py", line 320 in wait
  File "/Users/justin/.conan/data/cpython/3.10.4/_/_/package/9ed83d5094eed6746ee64419036814b0c887de78/lib/python3.10/threading.py", line 460 in acquire
  File "/Users/justin/.conan/data/uranium/5.4.0-alpha+testing_11/ultimaker/testing/package/e97a42f42830d348581f850960ea9bbb51505759/site-packages/UM/JobQueue.py", line 98 in _nextJob
  File "/Users/justin/.conan/data/uranium/5.4.0-alpha+testing_11/ultimaker/testing/package/e97a42f42830d348581f850960ea9bbb51505759/site-packages/UM/JobQueue.py", line 124 in run
  File "/Users/justin/.conan/data/cpython/3.10.4/_/_/package/9ed83d5094eed6746ee64419036814b0c887de78/lib/python3.10/threading.py", line 1009 in _bootstrap_inner
  File "/Users/justin/.conan/data/cpython/3.10.4/_/_/package/9ed83d5094eed6746ee64419036814b0c887de78/lib/python3.10/threading.py", line 966 in _bootstrap

Thread 0x000000016f8b7000 (most recent call first):
  File "/Users/justin/.conan/data/cpython/3.10.4/_/_/package/9ed83d5094eed6746ee64419036814b0c887de78/lib/python3.10/threading.py", line 320 in wait
  File "/Users/justin/.conan/data/cpython/3.10.4/_/_/package/9ed83d5094eed6746ee64419036814b0c887de78/lib/python3.10/threading.py", line 460 in acquire
  File "/Users/justin/.conan/data/uranium/5.4.0-alpha+testing_11/ultimaker/testing/package/e97a42f42830d348581f850960ea9bbb51505759/site-packages/UM/JobQueue.py", line 98 in _nextJob
  File "/Users/justin/.conan/data/uranium/5.4.0-alpha+testing_11/ultimaker/testing/package/e97a42f42830d348581f850960ea9bbb51505759/site-packages/UM/JobQueue.py", line 124 in run
  File "/Users/justin/.conan/data/cpython/3.10.4/_/_/package/9ed83d5094eed6746ee64419036814b0c887de78/lib/python3.10/threading.py", line 1009 in _bootstrap_inner
  File "/Users/justin/.conan/data/cpython/3.10.4/_/_/package/9ed83d5094eed6746ee64419036814b0c887de78/lib/python3.10/threading.py", line 966 in _bootstrap

Thread 0x000000016e8ab000 (most recent call first):
  File "/Users/justin/.conan/data/cpython/3.10.4/_/_/package/9ed83d5094eed6746ee64419036814b0c887de78/lib/python3.10/threading.py", line 320 in wait
  File "/Users/justin/.conan/data/cpython/3.10.4/_/_/package/9ed83d5094eed6746ee64419036814b0c887de78/lib/python3.10/threading.py", line 460 in acquire
  File "/Users/justin/.conan/data/uranium/5.4.0-alpha+testing_11/ultimaker/testing/package/e97a42f42830d348581f850960ea9bbb51505759/site-packages/UM/JobQueue.py", line 98 in _nextJob
  File "/Users/justin/.conan/data/uranium/5.4.0-alpha+testing_11/ultimaker/testing/package/e97a42f42830d348581f850960ea9bbb51505759/site-packages/UM/JobQueue.py", line 124 in run
  File "/Users/justin/.conan/data/cpython/3.10.4/_/_/package/9ed83d5094eed6746ee64419036814b0c887de78/lib/python3.10/threading.py", line 1009 in _bootstrap_inner
  File "/Users/justin/.conan/data/cpython/3.10.4/_/_/package/9ed83d5094eed6746ee64419036814b0c887de78/lib/python3.10/threading.py", line 966 in _bootstrap

Thread 0x000000016d89f000 (most recent call first):
  File "/Users/justin/.conan/data/cpython/3.10.4/_/_/package/9ed83d5094eed6746ee64419036814b0c887de78/lib/python3.10/threading.py", line 320 in wait
  File "/Users/justin/.conan/data/cpython/3.10.4/_/_/package/9ed83d5094eed6746ee64419036814b0c887de78/lib/python3.10/threading.py", line 460 in acquire
  File "/Users/justin/.conan/data/uranium/5.4.0-alpha+testing_11/ultimaker/testing/package/e97a42f42830d348581f850960ea9bbb51505759/site-packages/UM/JobQueue.py", line 98 in _nextJob
  File "/Users/justin/.conan/data/uranium/5.4.0-alpha+testing_11/ultimaker/testing/package/e97a42f42830d348581f850960ea9bbb51505759/site-packages/UM/JobQueue.py", line 124 in run
  File "/Users/justin/.conan/data/cpython/3.10.4/_/_/package/9ed83d5094eed6746ee64419036814b0c887de78/lib/python3.10/threading.py", line 1009 in _bootstrap_inner
  File "/Users/justin/.conan/data/cpython/3.10.4/_/_/package/9ed83d5094eed6746ee64419036814b0c887de78/lib/python3.10/threading.py", line 966 in _bootstrap

Thread 0x000000016c893000 (most recent call first):
  File "/Users/justin/.conan/data/cpython/3.10.4/_/_/package/9ed83d5094eed6746ee64419036814b0c887de78/lib/python3.10/threading.py", line 320 in wait
  File "/Users/justin/.conan/data/cpython/3.10.4/_/_/package/9ed83d5094eed6746ee64419036814b0c887de78/lib/python3.10/threading.py", line 460 in acquire
  File "/Users/justin/.conan/data/uranium/5.4.0-alpha+testing_11/ultimaker/testing/package/e97a42f42830d348581f850960ea9bbb51505759/site-packages/UM/JobQueue.py", line 98 in _nextJob
  File "/Users/justin/.conan/data/uranium/5.4.0-alpha+testing_11/ultimaker/testing/package/e97a42f42830d348581f850960ea9bbb51505759/site-packages/UM/JobQueue.py", line 124 in run
  File "/Users/justin/.conan/data/cpython/3.10.4/_/_/package/9ed83d5094eed6746ee64419036814b0c887de78/lib/python3.10/threading.py", line 1009 in _bootstrap_inner
  File "/Users/justin/.conan/data/cpython/3.10.4/_/_/package/9ed83d5094eed6746ee64419036814b0c887de78/lib/python3.10/threading.py", line 966 in _bootstrap

Current thread 0x00000001e1dac140 (most recent call first):
  File "/Users/justin/Devel/cvsroot/Cura/venv/lib/python3.10/site-packages/shapely/geos.py", line 304 in <module>
  File "<frozen importlib._bootstrap>", line 241 in _call_with_frames_removed
  File "<frozen importlib._bootstrap_external>", line 883 in exec_module
  File "<frozen importlib._bootstrap>", line 688 in _load_unlocked
  File "<frozen importlib._bootstrap>", line 1006 in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1027 in _find_and_load
  File "/Users/justin/Devel/cvsroot/Cura/venv/lib/python3.10/site-packages/shapely/prepared.py", line 5 in <module>
  File "<frozen importlib._bootstrap>", line 241 in _call_with_frames_removed
  File "<frozen importlib._bootstrap_external>", line 883 in exec_module
  File "<frozen importlib._bootstrap>", line 688 in _load_unlocked
  File "<frozen importlib._bootstrap>", line 1006 in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1027 in _find_and_load
  File "/Users/justin/Devel/cvsroot/Cura/venv/lib/python3.10/site-packages/shapely/ops.py", line 8 in <module>
  File "<frozen importlib._bootstrap>", line 241 in _call_with_frames_removed
  File "<frozen importlib._bootstrap_external>", line 883 in exec_module
  File "<frozen importlib._bootstrap>", line 688 in _load_unlocked
  File "<frozen importlib._bootstrap>", line 1006 in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1027 in _find_and_load
  File "<frozen importlib._bootstrap>", line 241 in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1078 in _handle_fromlist
  File "/Users/justin/Devel/cvsroot/Cura/venv/lib/python3.10/site-packages/trimesh/path/polygons.py", line 3 in <module>
  File "<frozen importlib._bootstrap>", line 241 in _call_with_frames_removed
  File "<frozen importlib._bootstrap_external>", line 883 in exec_module
  File "<frozen importlib._bootstrap>", line 688 in _load_unlocked
  File "<frozen importlib._bootstrap>", line 1006 in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1027 in _find_and_load
  File "<frozen importlib._bootstrap>", line 241 in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1078 in _handle_fromlist
  File "/Users/justin/Devel/cvsroot/Cura/venv/lib/python3.10/site-packages/trimesh/path/path.py", line 35 in <module>
  File "<frozen importlib._bootstrap>", line 241 in _call_with_frames_removed
  File "<frozen importlib._bootstrap_external>", line 883 in exec_module
  File "<frozen importlib._bootstrap>", line 688 in _load_unlocked
  File "<frozen importlib._bootstrap>", line 1006 in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1027 in _find_and_load
  File "/Users/justin/Devel/cvsroot/Cura/venv/lib/python3.10/site-packages/trimesh/path/__init__.py", line 9 in <module>
  File "<frozen importlib._bootstrap>", line 241 in _call_with_frames_removed
  File "<frozen importlib._bootstrap_external>", line 883 in exec_module
  File "<frozen importlib._bootstrap>", line 688 in _load_unlocked
  File "<frozen importlib._bootstrap>", line 1006 in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1027 in _find_and_load
  File "<frozen importlib._bootstrap>", line 241 in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 992 in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1027 in _find_and_load
  File "<frozen importlib._bootstrap>", line 241 in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 992 in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1027 in _find_and_load
  File "/Users/justin/Devel/cvsroot/Cura/venv/lib/python3.10/site-packages/trimesh/exchange/load.py", line 32 in <module>
  File "<frozen importlib._bootstrap>", line 241 in _call_with_frames_removed
  File "<frozen importlib._bootstrap_external>", line 883 in exec_module
  File "<frozen importlib._bootstrap>", line 688 in _load_unlocked
  File "<frozen importlib._bootstrap>", line 1006 in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1027 in _find_and_load
  File "/Users/justin/Devel/cvsroot/Cura/venv/lib/python3.10/site-packages/trimesh/__init__.py", line 27 in <module>
  File "<frozen importlib._bootstrap>", line 241 in _call_with_frames_removed
  File "<frozen importlib._bootstrap_external>", line 883 in exec_module
  File "<frozen importlib._bootstrap>", line 688 in _load_unlocked
  File "<frozen importlib._bootstrap>", line 1006 in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1027 in _find_and_load
  File "/Users/justin/Devel/cvsroot/Cura/plugins/TrimeshReader/TrimeshReader.py", line 9 in <module>
  File "<frozen importlib._bootstrap>", line 241 in _call_with_frames_removed
  File "<frozen importlib._bootstrap_external>", line 883 in exec_module
  File "<frozen importlib._bootstrap>", line 688 in _load_unlocked
  File "<frozen importlib._bootstrap>", line 1006 in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1027 in _find_and_load
  File "<frozen importlib._bootstrap>", line 241 in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1078 in _handle_fromlist
  File "/Users/justin/Devel/cvsroot/Cura/plugins/TrimeshReader/__init__.py", line 4 in <module>
  File "<frozen importlib._bootstrap>", line 241 in _call_with_frames_removed
  File "<frozen importlib._bootstrap_external>", line 883 in exec_module
  File "<frozen importlib._bootstrap>", line 688 in _load_unlocked
  File "<frozen importlib._bootstrap>", line 719 in _load
  File "/Users/justin/.conan/data/cpython/3.10.4/_/_/package/9ed83d5094eed6746ee64419036814b0c887de78/lib/python3.10/imp.py", line 217 in load_package
  File "/Users/justin/.conan/data/cpython/3.10.4/_/_/package/9ed83d5094eed6746ee64419036814b0c887de78/lib/python3.10/imp.py", line 245 in load_module
  File "/Users/justin/.conan/data/uranium/5.4.0-alpha+testing_11/ultimaker/testing/package/e97a42f42830d348581f850960ea9bbb51505759/site-packages/UM/PluginRegistry.py", line 730 in _findPlugin
  File "/Users/justin/.conan/data/uranium/5.4.0-alpha+testing_11/ultimaker/testing/package/e97a42f42830d348581f850960ea9bbb51505759/site-packages/UM/PluginRegistry.py", line 822 in _populateMetaData
  File "/Users/justin/.conan/data/uranium/5.4.0-alpha+testing_11/ultimaker/testing/package/e97a42f42830d348581f850960ea9bbb51505759/site-packages/UM/PluginRegistry.py", line 294 in getMetaData
  File "/Users/justin/.conan/data/uranium/5.4.0-alpha+testing_11/ultimaker/testing/package/e97a42f42830d348581f850960ea9bbb51505759/site-packages/UM/PluginRegistry.py", line 394 in loadPlugins
  File "/Users/justin/Devel/cvsroot/Cura/cura/CuraApplication.py", line 806 in _loadPlugins
  File "/Users/justin/.conan/data/uranium/5.4.0-alpha+testing_11/ultimaker/testing/package/e97a42f42830d348581f850960ea9bbb51505759/site-packages/UM/Qt/QtApplication.py", line 235 in startSplashWindowPhase
  File "/Users/justin/Devel/cvsroot/Cura/cura/CuraApplication.py", line 493 in startSplashWindowPhase
  File "/Users/justin/.conan/data/uranium/5.4.0-alpha+testing_11/ultimaker/testing/package/e97a42f42830d348581f850960ea9bbb51505759/site-packages/UM/Application.py", line 268 in run
  File "/Users/justin/.conan/data/uranium/5.4.0-alpha+testing_11/ultimaker/testing/package/e97a42f42830d348581f850960ea9bbb51505759/site-packages/UM/Qt/QtApplication.py", line 381 in run
  File "/Users/justin/Devel/cvsroot/Cura/cura/CuraApplication.py", line 825 in run
  File "/Users/justin/Devel/cvsroot/Cura/cura_app.py", line 239 in <module>

Extension modules: PyQt6.QtCore, PyQt6.QtNetwork, PyQt6.QtGui, PyQt6.QtWidgets, numpy.core._multiarray_umath, numpy.core._multiarray_tests, numpy.linalg.lapack_lite, numpy.linalg._umath_linalg, numpy.fft._pocketfft_internal, numpy.random._common, numpy.random.bit_generator, numpy.random._bounded_integers, numpy.random._mt19937, numpy.random.mtrand, numpy.random._philox, numpy.random._pcg64, numpy.random._sfc64, numpy.random._generator, scipy._lib._ccallback_c, scipy.sparse._sparsetools, scipy.sparse._csparsetools, scipy.sparse.linalg._isolve._iterative, scipy.linalg._fblas, scipy.linalg._flapack, scipy.linalg._cythonized_array_utils, scipy.linalg._flinalg, scipy.linalg._solve_toeplitz, scipy.linalg._matfuncs_sqrtm_triu, scipy.linalg.cython_lapack, scipy.linalg.cython_blas, scipy.linalg._matfuncs_expm, scipy.linalg._decomp_update, scipy.sparse.linalg._dsolve._superlu, scipy.sparse.linalg._eigen.arpack._arpack, scipy.sparse.csgraph._tools, scipy.sparse.csgraph._shortest_path, scipy.sparse.csgraph._traversal, scipy.sparse.csgraph._min_spanning_tree, scipy.sparse.csgraph._flow, scipy.sparse.csgraph._matching, scipy.sparse.csgraph._reordering, scipy.spatial._ckdtree, scipy._lib.messagestream, scipy.spatial._qhull, scipy.spatial._voronoi, scipy.spatial._distance_wrap, scipy.spatial._hausdorff, scipy.special._ufuncs_cxx, scipy.special._ufuncs, scipy.special._specfun, scipy.special._comb, scipy.special._ellip_harm_2, scipy.spatial.transform._rotation, PyQt6.QtOpenGL, PyQt6.QtQml, PyQt6.QtQuick, pyArcus, PyQt6.QtSvg, pynest2d, pyclipper._pyclipper, pySavitar, scipy.optimize._minpack2, scipy.optimize._group_columns, scipy.optimize._trlib._trlib, scipy.optimize._lbfgsb, _moduleTNC, scipy.optimize._moduleTNC, scipy.optimize._cobyla, scipy.optimize._slsqp, scipy.optimize._minpack, scipy.optimize._lsq.givens_elimination, scipy.optimize._zeros, scipy.optimize.__nnls, scipy.optimize._highs.cython.src._highs_wrapper, scipy.optimize._highs._highs_wrapper, scipy.optimize._highs.cython.src._highs_constants, scipy.optimize._highs._highs_constants, scipy.linalg._interpolative, scipy.optimize._bglu_dense, scipy.optimize._lsap, scipy.optimize._direct (total: 81)
Abort trap: 6
jellespijker commented 1 year ago

I think you might be missing a couple of steps in your process. I could do a quick write up of the manual steps in hacking this together tomorrow morning or the day after.

Th crux lies in the fact that you would have to install all C++ deps (Inc python ) activate the environment which sets all paths to the conan data. then create a virtual python env, activate the Python env. install all Pythpn requirements while that is activated.

and you have to make sure that all C++ deps are build with the correct compiler, so the conan profiles should be point towards the correct Paths

TheSin- commented 1 year ago

yes all that is done, let me check the conan profiles to make sure the right compilers but since I do not have rosette I can't build x86 on this system I do that on purpose so I don't accidentally build the wrong arch. If -arch x86_64 is used the build would fail.

I still think there is a mix of python, so I'm rebuilding using the system python this time instead of my build pf python to be safe. but Conan still builds CPython 3.10 and uses it when it creates the venv, but when I install Conan I'm using python 3.9 (either self built, or system native on this current attempt). I'll see if it makes a diff, if not I'll build 3.10 and bootstrap with that one see if it helps.

TheSin- commented 1 year ago
$ python3 --version
Python 3.9.6

From conandata.yml

- "cpython/3.10.4"

[~/.conan/data/cpython]$ ls
3.10.4

so there is a mix, maybe I should update conandata.yml to match the native version? Sorry this might just be my lack on knowledge with conan since this is my first time using it.

but if it's using the conan version of 3.10.4 to build the venv then when it runs everything should be 3.10.4 including when I start it since I'm in the venv and the interrupter at that point would be the 3.10.4 version. It's rebuilding atm since I wiped and restarted to be sure.

jellespijker commented 1 year ago

looks like you didn't activate the conan runtime env.

I will do a quick write up how you should do this, tomorrow morning

TheSin- commented 1 year ago

sounds good I was just following https://github.com/Ultimaker/Cura/wiki/Running-Cura-from-Source for build and running.

I do have one question from those docs though. I lists

sip (Python) 6.5.0 or higher

but according to https://riverbankcomputing.com/software/sip/download 4.19.25 is the current release so how can it be higher then 6.5.0?

Oh looks like maybe it moved

https://pypi.org/project/sip/#history

I'll work on this one as I only have 4.19.25

If I do get it running, do you mine sharing an example of how to run packaging/MacOS/build_macos.py properly, I haven't attempted it yet but I'd love to get it into .app format so I can use it and test it properly.

looks like it's called in the conanfile.py, maybe I call conan needs and other -o cura:buildpackage=True or something :D ?

TheSin- commented 1 year ago

I got it! Apple Silicon Native build!

Screenshot 2023-02-20 at 1 45 56 PM

tokamac commented 1 year ago

Amazing. Did you really achieve this in about 3 hours of work? Apple Silicon chips have been out for 3 years!

TheSin- commented 1 year ago

Oh it wasn't me, like @jellespijker said, most of the heavy lifting was done. The build system is pretty good, I had one hash I had to fix and then I needed to trick it, since it really wanted python 3.10.4, I built it all with 3.9 then rebuilt it all using the venv version so it all matched. And boom it ran, now I'm trying to learn the packaging so I can make a .app and dmg for it.

For packaging I had to manually change the spec file which was hardcoded to x86_64, but really that was all that was needed in the end.

tokamac commented 1 year ago

Wonderful! Kudos

TheSin- commented 1 year ago

It's too large to upload here but I have an unsigned dmg that works. It's in no way official and I need to find a place to upload it, once I do I'll link it here for others to test with. This is based on 5.4.0-alpha so it's really and alpha.alpha :D

this will be around for 2 months, Enjoy!

https://file.io/4Ik2MmuM1H5G

TheSin- commented 1 year ago

Just pinging the thread since I Edited my last post instead of putting a new post in. The link to the dmg is in the last post.

jellespijker commented 1 year ago

great works @TheSin- If you make a PR with the additional hashes, at least people can compile it natively.

It's good to know that, finally, all our dependencies are supporting the M1 as well. I also love the fact that the existing Conan workflow is written in such a way that this practically needs no exception for that specific architecture. It just needed time for our dependencies to be updated.

I will discuss with the team how we can prioritize this and get funding for setting up an ARM build server.

lantren commented 1 year ago

this will be around for 2 months, Enjoy!

https://file.io/4Ik2MmuM1H5G

Why was it deleted?

jellespijker commented 1 year ago

see this script for build the apple dmg

https://github.com/Ultimaker/Cura/blob/main/packaging/MacOS/build_macos.py

and this workflow for inspiration how you can build the rest: https://github.com/Ultimaker/Cura/blob/main/.github/workflows/cura-installer.yml

I believe @Joeydelarago could help you out and tell you which environmental variables you need to set to notarize and sign the dmg or pkg