0.19 Snap Preview needs "testers"

Having trouble installing or compiling FreeCAD? Get help here.
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
User avatar
vejmarie
Posts: 713
Joined: Mon Jan 04, 2016 4:52 pm
Location: Somewhere between France, USA and Taiwan
Contact:

0.19 Snap Preview needs "testers"

Post by vejmarie »

Hi,

I just uploaded my latest snap of 0.19. It is available on the snapcraft store under the latest/beta. This has been a massive jump ahead, as I dropped Qt4/OCCT7.0/Python2.7 to Qt5/OCCT7.4/Python3.5

Qt is version 5.5. There are many reason for that, the main one is coming from the fact that the snap needs to be built on Xenial which is becoming an old linux distro. Newer snap version on ubuntu 18.X version has changed into the core snap, which are incompatibles with the interfaces needed from FreeCAD. I am discussing all of this with the ubuntu people and the snap team but still a lot of work ahead.

If I am not able to workaround them in the future, I still can recompile qt and python and build the snap with newer libraries. My challenge will be that the build time is just going to become crazy, as if I need to recompile python, it means also boost recompilation etc etc ....

There is currently about 20 000 weekly end user, using my 0.18 snap version. I am impressed by how this project grew up with time going on. I started it following a discussion at MWC with Mark Shuttleworth who challenged me to make the most complex snap as to push the technology. I picked up FreeCAD as this was one of the application I was knowing the most. I must admit that creating the snap has been pretty hard at the early stage.

I am using the snap with CADCloud, it doesn't mean it is heavily stressed, but at least it is used ;).
Feel free to test it, and provide me feedbacks.

vejmarie
vocx
Veteran
Posts: 5197
Joined: Thu Oct 18, 2018 9:18 pm

Re: 0.19 Snap Preview needs "testers"

Post by vocx »

Maybe you should explain a bit what a "Snap" is. It is not documented on Install on Unix. And I personally have only seen problems with the snap version of FreeCAD, that I invariably ask Ubuntu users to remove it and install the other packages instead; the daily build and the AppImage seem to work quite well in comparison.

The explanation that you give for Qt 5.5 doesn't quite make sense to me. Why again? Why Python 3.5 and not 3.6 at least?

Does the snap target a particular version of Ubuntu? Is it universal? How does this work again?
Always add the important information to your posts if you need help. Also see Tutorials and Video tutorials.
To support the documentation effort, and code development, your donation is appreciated: liberapay.com/FreeCAD.
User avatar
vejmarie
Posts: 713
Joined: Mon Jan 04, 2016 4:52 pm
Location: Somewhere between France, USA and Taiwan
Contact:

Re: 0.19 Snap Preview needs "testers"

Post by vejmarie »

Hi vocx

Sorry to hear that we faced issues with snap users. I have fixed in the past many of them and try to keep the snap up to date as much as I can (there is probably still a lot of issue). We could build a daily snap from FreeCAD source tree. I upstreamed the required build into the vagrant directory into the source tree. It has never been made, but I can try to work on it. Snap is about the same than AppImage, and I think they both appeared at about the same time regarding FreeCAD. I made the initial snap as a "research" project and published the image. The good news is that I know a couple of users which enjoyed it. I made it, because I came to FreeCAD as a Mac users, and snap was a way to me to have a linux build equivallent to the Mac build with control version of associated libraries.

Now to answer your question, the snap is currently built on Ubuntu Xenial (16.04) with standard system libraries available on the host (I do not rebuilt qt, python or boost, but could try to do it if it make sense and we know that we have issues with the selected versions), and specific build of OCCT (7.4.0), netgen and associated VTK.

I do plan to switch to a newer version of Ubuntu as a base build system for 0.20, as Xenial is LTS and is supported up to next year. That switch requires to switch from the core element (the container isolation layer) to a new version core18 which is not yet ready to support all the features that FreeCAD requires.

The snap doesn't target a specific version of Ubuntu. It is currently working on many different distros https://snapcraft.io/freecad You can see the spread of linux distros from our current end users base.

I am ok to debug, I always tried to make it and follow guidances. What are the recommended version of Qt, Python for 0.19 ? I didn't found any info regarding that.

I can add an entry on Install on Unix, but who is managing the wiki as I do not have write permission to it I think ?

vejmarie
User avatar
looo
Veteran
Posts: 3941
Joined: Mon Nov 11, 2013 5:29 pm

Re: 0.19 Snap Preview needs "testers"

Post by looo »

vejmarie wrote: Tue May 05, 2020 12:08 pm What are the recommended version of Qt, Python for 0.19 ?
Currently, we ship the 0.19_pre bundles with py3.8 and qt5.12 but there will be builds available for py3.7 and py3.8. Whatever works best will find it's way into the release. Not sure if python developers are already using the ":=" syntax which is new in py3.8 ;)
The windows bundle (non conda based) is using py3.6 IICRC.

Btw.: we need your help for libmed support in smesh:
https://github.com/LaughlinResearch/SME ... -624017121
vocx
Veteran
Posts: 5197
Joined: Thu Oct 18, 2018 9:18 pm

Re: 0.19 Snap Preview needs "testers"

Post by vocx »

vejmarie wrote: Tue May 05, 2020 12:08 pm ...
I am ok to debug, I always tried to make it and follow guidances. What are the recommended version of Qt, Python for 0.19 ? I didn't found any info regarding that.
There isn't any target version, we just go with what is available in the Ubuntu LTS versions or in the current Debian, as kremitzki is the maintainer there.

For example, in 18.04, we have Python 3.6.9 and Qt 5.9.5. But in the AppImage, looo has packaged Py 3.7 and 3.8, and Qt 5.12 has been available for a while. So, I suggest we target at least Python 3.6 and Qt 5.9 to match Ubuntu 18.04. But if you could use the same configuration as the AppImage, Py3.8/Qt5.12, then that's a direct competitor to the AppImage, and people get to choose what they prefer.

Now, I personally avoid using the absolutely newest features of Python precisely because I don't expect everybody to have access to the latest Py 3.8 release. I would rather wait a year more before using anything above 3.5 features.
I can add an entry on Install on Unix, but who is managing the wiki as I do not have write permission to it I think ?
Ask Kunda for permissions. If you want to add significant information, then I think the Snap should have its own page, just like the AppImage.
Always add the important information to your posts if you need help. Also see Tutorials and Video tutorials.
To support the documentation effort, and code development, your donation is appreciated: liberapay.com/FreeCAD.
User avatar
vejmarie
Posts: 713
Joined: Mon Jan 04, 2016 4:52 pm
Location: Somewhere between France, USA and Taiwan
Contact:

Re: 0.19 Snap Preview needs "testers"

Post by vejmarie »

vocx wrote: Tue May 05, 2020 3:43 pm ...
Ask Kunda for permissions. If you want to add significant information, then I think the Snap should have its own page, just like the AppImage.
Will do for sure !
vocx
Veteran
Posts: 5197
Joined: Thu Oct 18, 2018 9:18 pm

Re: 0.19 Snap Preview needs "testers"

Post by vocx »

vejmarie wrote: Wed May 06, 2020 12:24 am Will do for sure !
We also have a Packaging section which is just there, but doesn't have a lot of updated information. Maybe you can write something about the technical aspects of packaging the snap. This would be focused towards developers, and not users.
Always add the important information to your posts if you need help. Also see Tutorials and Video tutorials.
To support the documentation effort, and code development, your donation is appreciated: liberapay.com/FreeCAD.
User avatar
ppd
Posts: 108
Joined: Tue Feb 26, 2019 12:01 pm
Location: Munich, Germany

Re: 0.19 Snap Preview needs "testers"

Post by ppd »

Hi and thank you for improving the snap. I think it's very important to provide snaps & flatpaks nowadays, so naturally I'm a big fan.

As for the testing: I have no fonts displayed with latest/beta installed on Ubuntu 20.04. I believe its fontconfig is not compatible with what the host provides; I get tons of "Fontconfig error: line x: invalid attribute [...]" messages when launching. I think inkscape had a similar problem and solved it with a private fontcache/config (see https://gitlab.com/inkscape/inkscape/bl ... craft.yaml).

Re the base: You mention being restricted to "core" due to "core18" not providing the necessary features. Could you elaborate?

And lastly: Where is the snap packaging hosted? I'd like to take a look.

Max
Try FreeCAD from the Snap Store: Stable releases (in latest/stable) & daily builds (in latest/edge). Supports installing additional python packages via pip!
Image
User avatar
ppd
Posts: 108
Joined: Tue Feb 26, 2019 12:01 pm
Location: Munich, Germany

Re: 0.19 Snap Preview needs "testers"

Post by ppd »

Just for fun, I have sketched a snap implementation based on core18 and the kde-neon extension: https://github.com/ppd/FreeCAD/tree/snap/snap
Try FreeCAD from the Snap Store: Stable releases (in latest/stable) & daily builds (in latest/edge). Supports installing additional python packages via pip!
Image
rogermhsu
Posts: 3
Joined: Mon May 25, 2020 4:20 am

Re: 0.19 Snap Preview needs "testers"

Post by rogermhsu »

Hi, I was able to successfully install the snap from Ubuntu Software. However, the app doesn't appear in my list of applications which (I think) is a known issue. In /snap/freecad/current/bin I see two executable files, desktop-launch and launcher. I tried to run each of these but then got a bunch of errors, many of which said that permission was denied for various things.

Next, I entered sudo ./desktop-launch where I didn't get any errors, followed by sudo ./launcher which gave these errors:

mkdir: cannot create directory ‘/.config’: File exists
cp: cannot stat '/etc/matplotlibrc': No such file or directory
./launcher: line 55: /opt/local/FreeCAD-0.18/bin/FreeCAD: No such file or directory


What am I doing wrong? What's the best way to launch FreeCAD?
Post Reply