flathub / com.ultimaker.cura

https://flathub.org/apps/details/com.ultimaker.cura
6 stars 5 forks source link

Update to Cura 5.0 #5

Closed Tim453 closed 1 year ago

Tim453 commented 2 years ago

Update all the dependencies #3

flathubbot commented 2 years ago

Started test build 91876

flathubbot commented 2 years ago

Build 91876 failed

neildarlow commented 2 years ago

Looks like some work needed to integrate the Sip module.

flathubbot commented 2 years ago

Started test build 92299

Tim453 commented 2 years ago

Looks like some work needed to integrate the Sip module.

Actually, the sip module is already a part of com.riverbankcomputing.PyQt.BaseApp

flathubbot commented 2 years ago

Started test build 92306

flathubbot commented 2 years ago

Build 92299 failed

flathubbot commented 2 years ago

Build 92306 failed

tapir commented 2 years ago

Is there a time frame we can expect this? For arch, 5.0 appimages don't work anymore because they use ubuntu 20.04 as build platform and there is incompatibility between some libraries.

neildarlow commented 2 years ago

@tapir This is a big update and has suffered a few build failures. The arcus build is currently failed and pynest2d and uranium need to be updated successfully before the Cura-specific bits can be built,

I would imagine that this one will reside in the testing repository for a while too to highlight any new permission requirements and environmental issues which arise.

@Tim453 has a significant task on his hands and needs time to check his work carefully. Thank you @Tim453 for your efforts.

Tim453 commented 2 years ago

@tapir this update will take some time, cause Ultimaker changed the entire way how Cura and all it's dependencies are build. They now use conan to install all the dependencies on their build machine. conan also generates CMakeFiles which then are used by the individual modules. The problem is that inside the Flatpak-build, there is no good way to use conan, because it requires a network connection (which we don't have in the flatpak-build process) to download all the build recipes and the dependencies.

Right now i have these ideas to solve these problems:

Tim453 commented 2 years ago

I still have not managed to get Cura 5.0 building with flatpak-builder. Especially the Cura-Engine always had some linker errors, which I could not solve. If there is someone, who is able to build it, feel free to create a pull request or send me a message.

In the meantime you can put the Cura AppImage inside a Flatpak. In my repository is a Manifest, which does this. It seems to work pretty well.

thopiekar commented 2 years ago

You can test my package here: https://thopiekar.eu/2022/06/21/cura-rolled-out-as-flatpak/

Managed to get Cura packaged last weekend and got it fully working.

Building the engine was the biggest pain.

neildarlow commented 2 years ago

Thank you for your persistence at tackling this huge task. I will certainly be looking at this. -- Sent from my Android device with K-9 Mail. Please excuse my brevity.

Tim453 commented 2 years ago

@thopiekar Great! I tried your build, it works fine. Only the FDM Materials seems to be missing?

thopiekar commented 2 years ago

Yeah, noticed the same. I'm going to make an update soon.

thopiekar commented 2 years ago

Fix is online

Tim453 commented 2 years ago

If you think your manifest is ready, you can create a new pull request. Then it can be published on Flathub.

flathubbot commented 1 year ago

Started test build 109701

flathubbot commented 1 year ago

Started test build 110113

flathubbot commented 1 year ago

Build 110113 successful To test this build, install it from the testing repository:

flatpak install --user https://dl.flathub.org/build-repo/107737/com.ultimaker.cura.flatpakref
Tim453 commented 1 year ago

For now I will just use the AppImage and put it inside a Flatpak. I couldn't find a way to build Cura 5 from source with flatpak-builder. That means we will lose support for aarch64. But it will make the application easier maintainable.

tapir commented 1 year ago

FYI the libstd in the appimage won't work on newer distros and it needs to be removed so that the system's own library is used instead

On Mon, 13 Jun 2022, 14:27 Tim453, @.***> wrote:

I still have not managed to get Cura 5.0 building with flatpak-builder. Especially the Cura-Engine always had some linker errors, which I could not solve. If there is someone, who is able to build it, feel free to create a pull request or send me a message.

In the meantime you can put the Cura AppImage inside a Flatpak. In my repository is a Manifest https://github.com/Tim453/com.ultimaker.cura/tree/appimage2flatpak, which does this. It seems to work pretty well.

— Reply to this email directly, view it on GitHub https://github.com/flathub/com.ultimaker.cura/pull/5#issuecomment-1153852567, or unsubscribe https://github.com/notifications/unsubscribe-auth/AABWV4ELLJM74UBKB6LKUGTVO4SK5ANCNFSM5WEETE3Q . You are receiving this because you were mentioned.Message ID: <flathub/com .@.***>

neildarlow commented 1 year ago

Are you sure about that? There are two AppImages and this flatpak specifies the one for newer Linux distributions.

The flatpak packaging of Cura 5.1.1 works fine on my fedora 37 Silverblue Pre-Release.

Regards, Neil Darlow -- Sent from my Android device with K-9 Mail. Please excuse my brevity.

Tim453 commented 1 year ago

The Cura AppImage does not contain libstd. The Cura-Flatpak uses libstd of the Freedesktop Runtime, which is independent of the libstd version of your distro.

neildarlow commented 1 year ago

@Tim453 I took the query to be related to libstdc++ which is present in /app of the flatpak (libstdc++.so.6) so that's bundled.

Tim453 commented 1 year ago

@neildarlow you are right. libstd is in the AppImage. What I wrote was wrong 🫣 @tapir Which distro are you using?

tapir commented 1 year ago

I'm on arch linux

On Tue, 11 Oct 2022, 19:09 Tim453, @.***> wrote:

@neildarlow https://github.com/neildarlow you are right. libstd is in the AppImage. What I wrote was wrong 🫣 @tapir https://github.com/tapir Which distro are you using?

— Reply to this email directly, view it on GitHub https://github.com/flathub/com.ultimaker.cura/pull/5#issuecomment-1275012582, or unsubscribe https://github.com/notifications/unsubscribe-auth/AABWV4CI2YNIJ7KZ2HAKTMLWCWNM3ANCNFSM5WEETE3Q . You are receiving this because you were mentioned.Message ID: <flathub/com .@.***>

neildarlow commented 1 year ago

No matter. I have transitioned from fedora 36 to fedora 37 Silverblue with the same Cura flatpak version in place and experienced to issues.

In fact, the presence of libstdc++ is likely to cause less issues than relying on the version present in the freedesktop.org runtime. Although the ABI compatibility level of both should be the same.

I don't see a need to remove libstdc++ but it's your call as maintainer. -- Sent from my Android device with K-9 Mail. Please excuse my brevity.

Tim453 commented 1 year ago

@tapir I tried the Flatpak in Arch and did not experience any issues.

tapir commented 1 year ago

I was referring to old appimage. The newer one should work on new distros. However now the flatpak won't work on older distros such as ubuntu 20.04.

On Tue, 11 Oct 2022, 20:15 Tim453, @.***> wrote:

@tapir https://github.com/tapir I tried the Flatpak in Arch and did not experience any issues.

— Reply to this email directly, view it on GitHub https://github.com/flathub/com.ultimaker.cura/pull/5#issuecomment-1275092525, or unsubscribe https://github.com/notifications/unsubscribe-auth/AABWV4HV5CANUX72GKEE7LTWCWVD5ANCNFSM5WEETE3Q . You are receiving this because you were mentioned.Message ID: <flathub/com .@.***>

neildarlow commented 1 year ago

@tapir Until @Tim453 is able to build the flatpak from source this will be an issue. The only solution, while using AppImages, would be to provide two flatpaks for both new and legacy distributions.

Hopefully the build issues will be solved soon - upstream have provided some suggestions e.g. disabling LTO for specific library build failures - and they need working through.

Tim453 commented 1 year ago

The Flatpak should work on all distros. The new AppImage did not work on old distros, because it requires a recent glibc version. The Flatpak enviorment on the other hand is independent of the host glibc version, it uses glibc of the Freedesktop Runtime.